No description
Find a file
pdriggett 802b73c161 Address issues flagged by Obsidian plugin review
- 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
2026-06-18 05:48:00 -04:00
.gitignore Initial scaffold of Weekly Music Practice Planner 2026-06-14 15:39:24 -04:00
esbuild.config.mjs Address issues flagged by Obsidian plugin review 2026-06-18 05:48:00 -04:00
LICENSE Initial scaffold of Weekly Music Practice Planner 2026-06-14 15:39:24 -04:00
main.ts Address issues flagged by Obsidian plugin review 2026-06-18 05:48:00 -04:00
manifest.json Address issues flagged by Obsidian plugin review 2026-06-18 05:48:00 -04:00
package-lock.json Address issues flagged by Obsidian plugin review 2026-06-18 05:48:00 -04:00
package.json Address issues flagged by Obsidian plugin review 2026-06-18 05:48:00 -04:00
README.md Add per-day practice sessions and customizable skills 2026-06-18 05:06:57 -04:00
styles.css Initial scaffold of Weekly Music Practice Planner 2026-06-14 15:39:24 -04:00
tsconfig.json Initial scaffold of Weekly Music Practice Planner 2026-06-14 15:39:24 -04:00
version-bump.mjs Initial scaffold of Weekly Music Practice Planner 2026-06-14 15:39:24 -04:00
versions.json 0.1.1 2026-06-18 05:07:07 -04:00

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::, and notes::. 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.