|
17 | 17 |
|
18 | 18 | ## Documentation |
19 | 19 |
|
20 | | -- `docs/plans/` stores numbered implementation plans for features and milestones. |
| 20 | +- `docs/plans/` stores numbered implementation plans for features and milestones. Name files `NNN-short-slug.md` (hyphen-separated). |
21 | 21 | - Before starting a new feature or refactor, read the relevant plan in `docs/plans/`. |
22 | 22 | - Keep plans aligned with staged or merged implementation changes. |
23 | 23 |
|
| 24 | +### Plans |
| 25 | + |
| 26 | +Every plan in `docs/plans/` that touches package dependencies must include a **Dependency Changes** section with: |
| 27 | + |
| 28 | +- **Add**: package name(s) to install, with a one-line reason for each. |
| 29 | +- **Remove**: package name(s) to uninstall, with a one-line reason for each. |
| 30 | +- **Commands**: the exact `pnpm add` / `pnpm remove` commands for reference. |
| 31 | + |
| 32 | +Example: |
| 33 | + |
| 34 | +```markdown |
| 35 | +## Dependency Changes |
| 36 | + |
| 37 | +### Add |
| 38 | +- `terminal-link` — OSC 8 hyperlinks for clickable CLI URLs. |
| 39 | + |
| 40 | +### Remove |
| 41 | +- `consola` — only used for startup box; replaced by `terminal-link` + `console.info`. |
| 42 | + |
| 43 | +### Commands (manual only) |
| 44 | +pnpm remove consola |
| 45 | +pnpm add terminal-link |
| 46 | +``` |
| 47 | + |
| 48 | +**Dependency commands are manual-only.** Do not run `pnpm add`, `pnpm remove`, or similar install/uninstall commands unless the user explicitly asks. List the commands in the plan; the user runs them by hand before or during implementation. |
| 49 | + |
| 50 | +**Persist plans after execution.** Once implementation is done, write the finalized plan into `docs/plans/` so it is versioned in the repo. Use the next sequential number and a short slug joined by hyphens, for example `002-clickable-cli-url.md`. The committed plan should match what was actually shipped—update goals, dependency changes, and verification steps if they diverged during implementation. Do not leave execution-only plans in ephemeral locations when the work is complete. |
| 51 | + |
24 | 52 | ## Tooling |
25 | 53 |
|
26 | 54 | - Use `pnpm` for all package operations. |
|
46 | 74 | - Keep strict TypeScript settings satisfied; avoid weakening types to silence errors. |
47 | 75 | - Prefer small, explicit exported APIs from `src/index.ts`. |
48 | 76 | - Use `cac` for CLI startup and command parsing. |
49 | | -- Use `consola` for CLI logging instead of direct `console.*` calls; prefer `consola.box` for CLI startup messages. |
| 77 | +- Use `terminal-link` for clickable CLI URLs; print startup messages with `console.info`. |
50 | 78 | - Use `hono` with `@hono/node-server` for the local Web UI service; prefer simple Hono JSX views for the initial UI. |
51 | 79 | - Preserve the package's side-effect-free behavior unless a feature explicitly requires otherwise. |
52 | 80 | - Keep generated artifacts out of manual edits. |
|
0 commit comments