- Raise minAppVersion to 1.4.0 to cover the APIs in use (getLeaf, createFolder, ExtraButtonComponent.setTooltip), fixes no-unsupported-api - Type the loadData() result in loadSettings, fixes no-unsafe-assignment - Make settings event callbacks synchronous and fire saves via void, fixes no-misused-promises - Replace the builtin-modules dependency with node:module builtinModules - Re-render only the skills sub-section instead of calling the deprecated PluginSettingTab.display() on each edit |
||
|---|---|---|
| .gitignore | ||
| esbuild.config.mjs | ||
| LICENSE | ||
| main.ts | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| styles.css | ||
| tsconfig.json | ||
| version-bump.mjs | ||
| versions.json | ||
Weekly Music Practice Planner
An Obsidian community plugin for planning and tracking weekly music practice.
Each week is a single markdown note in your vault containing:
-
Goals for the week
-
A skills × days tracking table
-
Daily notes sections, one per day — each seeded with a practice Session carrying Dataview inline fields:
skill::,minutes::, andnotes::. Duplicate the Session bullet to log multiple sessions in a day. The day's date is in its heading (### Monday — 2026-06-15), so a future Dataview query or heat-map can read each session's date, skill, and minutes without any hidden metadata.Example day:
### Monday — 2026-06-15 - **Session 1** - skill:: - minutes:: - notes::
Settings
- Folder — where weekly notes are stored (default:
Practice). - Week starts on — first day of the practice week. Weeks that cross into a new year are stored under the year they started.
- Default skills — rows used in each new week's skill table. Each skill is an editable row: rename it inline, remove it with the trash button, Add skill to append a new one, or Reset to default to restore the built-in set (Scales, Technique, Repertoire, Sight Reading).
Commands
Available via the Command Palette (⌘P / Ctrl+P):
- Open this week's practice plan
- Open next week's practice plan
- Open previous week's practice plan
Each command opens the matching week's note, creating it from the template if it doesn't yet exist.
File layout
Notes are written as:
<Folder>/<YYYY>/<YYYY>-Www.md
Where YYYY is the year of the week's start date and ww is the week number counted from the first start-day of that year.
Development
npm install
npm run dev # watch + rebuild main.js
npm run build # type-check + production build
To test in Obsidian, copy or symlink this folder into <vault>/.obsidian/plugins/practice-planner/. Obsidian needs main.js, manifest.json, and styles.css at runtime.