mirror of
https://github.com/callumalpass/tasknotes.git
synced 2026-07-22 12:50:26 +00:00
2.4 KiB
2.4 KiB
TaskNotes - Agent Development Guide
This is an Obsidian plugin. The plugin ID is tasknotes.
Build & Test
# Build the plugin and copy files to the vault's plugin directory
npm run build:test
# After building, reload the plugin in the running Obsidian instance
obsidian plugin:reload id=tasknotes vault=test
Always run both commands after making changes. Obsidian must be running for the CLI to work.
Useful Obsidian CLI Commands
# Check for JavaScript errors after reload
obsidian dev:errors vault=test
# View console output
obsidian dev:console vault=test
# Run JavaScript in the Obsidian context
obsidian dev:eval code="app.vault.getFiles().length" vault=test
# Take a screenshot to verify UI changes
obsidian dev:screenshot path=screenshot.png vault=test
# Open developer tools
obsidian dev:open vault=test
Other Build Commands
npm test # Run unit tests (Jest)
npm run lint # Lint source files
npm run typecheck # TypeScript type checking only
npm run build # Production build (without copying to vault)
When you make changes, update docs/releases/unreleased.md. If your changes are related to a GitHub issue or PR, include acknowledgement of the individual who opened the issue or submitted the PR. Do not update unreleased.md for the addition of tests; unreleased.md is user-facing.
You may update .ops/ files locally as you work on items, but do not commit .ops/ files. .ops/ is local-only working state.
Prepare for a release.
When asked to prepare for a release:
- Run through the @I18N_GUIDE.md and make sure translations are up-to-date.
- Make sure ALL
npm run testtests are passing. - Make sure there are no linting errors.
- Make sure all items in @docs/releases/unreleased.md thank the correct issue/pr opener (double check), as well as those who have commented on the issue/pr. Make sure the copy is appropriate--it is user facing so it should not be overly technical. Make sure it is free from anything that resembles marketing copy. do not thank callumalpass
- Move the body of unreleased.md to .md, following the pattern of previous released. Leave the comments that explain unreleased.md inside unreleased.md.
- Update @manifest.json and @package.json.
- Commit changes as "release " (you can choose the version number unless it is specified).
- Tag the commit. (Just version number, no 'v' prefix.