nitm-ai-dev-toolkit 3.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +109 -0
- package/LICENSE +21 -0
- package/README.md +881 -0
- package/bin/cli.js +398 -0
- package/package.json +41 -0
- package/src/monorepo/.agents/rules/ponytail.md +3 -0
- package/src/monorepo/.agents/skills/acli/SKILL.md +424 -0
- package/src/monorepo/.agents/skills/bkt-cli/SKILL.md +374 -0
- package/src/monorepo/.agents/skills/brainstorming/SKILL.md +54 -0
- package/src/monorepo/.agents/skills/code-simplifier/SKILL.md +109 -0
- package/src/monorepo/.agents/skills/debugger/SKILL.md +123 -0
- package/src/monorepo/.agents/skills/dispatching-parallel-agents/SKILL.md +206 -0
- package/src/monorepo/.agents/skills/executing-plans/SKILL.md +76 -0
- package/src/monorepo/.agents/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/src/monorepo/.agents/skills/gh-cli/SKILL.md +461 -0
- package/src/monorepo/.agents/skills/glab-cli/SKILL.md +468 -0
- package/src/monorepo/.agents/skills/issue-tracker/SKILL.md +119 -0
- package/src/monorepo/.agents/skills/linear-cli/SKILL.md +276 -0
- package/src/monorepo/.agents/skills/logging/SKILL.md +393 -0
- package/src/monorepo/.agents/skills/orient-to-recent-work/SKILL.md +43 -0
- package/src/monorepo/.agents/skills/ponytail/SKILL.md +101 -0
- package/src/monorepo/.agents/skills/ponytail-audit/SKILL.md +41 -0
- package/src/monorepo/.agents/skills/ponytail-debt/SKILL.md +44 -0
- package/src/monorepo/.agents/skills/ponytail-gain/SKILL.md +51 -0
- package/src/monorepo/.agents/skills/ponytail-help/SKILL.md +74 -0
- package/src/monorepo/.agents/skills/ponytail-review/SKILL.md +57 -0
- package/src/monorepo/.agents/skills/project-documentation/SKILL.md +425 -0
- package/src/monorepo/.agents/skills/receiving-code-review/SKILL.md +213 -0
- package/src/monorepo/.agents/skills/requesting-code-review/SKILL.md +105 -0
- package/src/monorepo/.agents/skills/requesting-code-review/code-reviewer.md +146 -0
- package/src/monorepo/.agents/skills/security-reviewer/SKILL.md +144 -0
- package/src/monorepo/.agents/skills/subagent-driven-development/SKILL.md +279 -0
- package/src/monorepo/.agents/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/src/monorepo/.agents/skills/subagent-driven-development/implementer-prompt.md +78 -0
- package/src/monorepo/.agents/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/src/monorepo/.agents/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/src/monorepo/.agents/skills/systematic-debugging/SKILL.md +296 -0
- package/src/monorepo/.agents/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/src/monorepo/.agents/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/src/monorepo/.agents/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/src/monorepo/.agents/skills/systematic-debugging/find-polluter.sh +63 -0
- package/src/monorepo/.agents/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/src/monorepo/.agents/skills/systematic-debugging/test-academic.md +14 -0
- package/src/monorepo/.agents/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/src/monorepo/.agents/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/src/monorepo/.agents/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/src/monorepo/.agents/skills/test-driven-development/SKILL.md +371 -0
- package/src/monorepo/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/src/monorepo/.agents/skills/using-git-worktrees/SKILL.md +291 -0
- package/src/monorepo/.agents/skills/using-superpowers/SKILL.md +87 -0
- package/src/monorepo/.agents/skills/verification-before-completion/SKILL.md +148 -0
- package/src/monorepo/.agents/skills/writing-plans/SKILL.md +116 -0
- package/src/monorepo/.agents/skills/writing-skills/SKILL.md +655 -0
- package/src/monorepo/.agents/skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/src/monorepo/.agents/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/src/monorepo/.agents/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/src/monorepo/.agents/skills/writing-skills/persuasion-principles.md +187 -0
- package/src/monorepo/.agents/skills/writing-skills/render-graphs.js +168 -0
- package/src/monorepo/.agents/skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/src/monorepo/.claude/agents/admin-portal.agent.md +11 -0
- package/src/monorepo/.claude/agents/api-specialist.agent.md +11 -0
- package/src/monorepo/.claude/agents/backend-architect.agent.md +11 -0
- package/src/monorepo/.claude/agents/documenter.agent.md +11 -0
- package/src/monorepo/.claude/agents/feature-builder.agent.md +23 -0
- package/src/monorepo/.claude/agents/frontend-developer.agent.md +11 -0
- package/src/monorepo/.claude/agents/green.agent.md +12 -0
- package/src/monorepo/.claude/agents/implementer.agent.md +12 -0
- package/src/monorepo/.claude/agents/planner.agent.md +12 -0
- package/src/monorepo/.claude/agents/red.agent.md +12 -0
- package/src/monorepo/.claude/agents/refactor.agent.md +12 -0
- package/src/monorepo/.claude/agents/researcher.agent.md +12 -0
- package/src/monorepo/.claude/agents/reviewer.agent.md +11 -0
- package/src/monorepo/.claude/agents/tdd.agent.md +12 -0
- package/src/monorepo/.claude/agents-snippets/admin-portal.md +90 -0
- package/src/monorepo/.claude/agents-snippets/api-specialist.md +57 -0
- package/src/monorepo/.claude/agents-snippets/backend-architect.md +49 -0
- package/src/monorepo/.claude/agents-snippets/documenter.md +58 -0
- package/src/monorepo/.claude/agents-snippets/feature-builder.md +49 -0
- package/src/monorepo/.claude/agents-snippets/frontend-developer.md +49 -0
- package/src/monorepo/.claude/agents-snippets/green.md +18 -0
- package/src/monorepo/.claude/agents-snippets/implementer.md +31 -0
- package/src/monorepo/.claude/agents-snippets/planner.md +40 -0
- package/src/monorepo/.claude/agents-snippets/red.md +14 -0
- package/src/monorepo/.claude/agents-snippets/refactor.md +22 -0
- package/src/monorepo/.claude/agents-snippets/researcher.md +43 -0
- package/src/monorepo/.claude/agents-snippets/reviewer.md +83 -0
- package/src/monorepo/.claude/agents-snippets/tdd.md +18 -0
- package/src/monorepo/.claude/commands/assign-tasks.md +13 -0
- package/src/monorepo/.claude/commands/bootstrap-patch.md +15 -0
- package/src/monorepo/.claude/commands/bootstrap-upgrade.md +15 -0
- package/src/monorepo/.claude/commands/bootstrap.md +15 -0
- package/src/monorepo/.claude/commands/commit-push.md +13 -0
- package/src/monorepo/.claude/commands/constitution.md +15 -0
- package/src/monorepo/.claude/commands/create-skill.md +15 -0
- package/src/monorepo/.claude/commands/implement-feature.md +15 -0
- package/src/monorepo/.claude/commands/implement-fixes.md +15 -0
- package/src/monorepo/.claude/commands/implement.md +15 -0
- package/src/monorepo/.claude/commands/plan.md +15 -0
- package/src/monorepo/.claude/commands/playwright-test.md +13 -0
- package/src/monorepo/.claude/commands/ponytail-audit.md +15 -0
- package/src/monorepo/.claude/commands/ponytail-debt.md +15 -0
- package/src/monorepo/.claude/commands/ponytail-gain.md +15 -0
- package/src/monorepo/.claude/commands/ponytail-help.md +15 -0
- package/src/monorepo/.claude/commands/ponytail-review.md +15 -0
- package/src/monorepo/.claude/commands/ponytail.md +15 -0
- package/src/monorepo/.claude/commands/release-notes.md +13 -0
- package/src/monorepo/.claude/commands/review-pr.md +15 -0
- package/src/monorepo/.claude/commands/review-staged.md +15 -0
- package/src/monorepo/.claude/commands/review.md +15 -0
- package/src/monorepo/.claude/commands/specify.md +15 -0
- package/src/monorepo/.claude/commands/tasks.md +13 -0
- package/src/monorepo/.claude/prompt-snippets/assign-tasks.md +169 -0
- package/src/monorepo/.claude/prompt-snippets/bootstrap-patch.md +199 -0
- package/src/monorepo/.claude/prompt-snippets/bootstrap-upgrade.md +452 -0
- package/src/monorepo/.claude/prompt-snippets/bootstrap.md +764 -0
- package/src/monorepo/.claude/prompt-snippets/commit-push.md +69 -0
- package/src/monorepo/.claude/prompt-snippets/constitution.md +57 -0
- package/src/monorepo/.claude/prompt-snippets/create-skill.md +490 -0
- package/src/monorepo/.claude/prompt-snippets/implement-feature.md +119 -0
- package/src/monorepo/.claude/prompt-snippets/implement-fixes.md +122 -0
- package/src/monorepo/.claude/prompt-snippets/implement.md +56 -0
- package/src/monorepo/.claude/prompt-snippets/plan.md +67 -0
- package/src/monorepo/.claude/prompt-snippets/playwright-test.md +55 -0
- package/src/monorepo/.claude/prompt-snippets/ponytail-audit.md +5 -0
- package/src/monorepo/.claude/prompt-snippets/ponytail-debt.md +5 -0
- package/src/monorepo/.claude/prompt-snippets/ponytail-gain.md +5 -0
- package/src/monorepo/.claude/prompt-snippets/ponytail-help.md +5 -0
- package/src/monorepo/.claude/prompt-snippets/ponytail-review.md +5 -0
- package/src/monorepo/.claude/prompt-snippets/ponytail.md +5 -0
- package/src/monorepo/.claude/prompt-snippets/release-notes.md +134 -0
- package/src/monorepo/.claude/prompt-snippets/review-pr.md +156 -0
- package/src/monorepo/.claude/prompt-snippets/review-staged.md +35 -0
- package/src/monorepo/.claude/prompt-snippets/review.md +139 -0
- package/src/monorepo/.claude/prompt-snippets/specify.md +51 -0
- package/src/monorepo/.claude/prompt-snippets/tasks.md +108 -0
- package/src/monorepo/.claude/rules/agent-conduct.md +14 -0
- package/src/monorepo/.claude/rules/api-server.md +19 -0
- package/src/monorepo/.claude/rules/coding-standards.md +13 -0
- package/src/monorepo/.claude/rules/component-structure.md +18 -0
- package/src/monorepo/.claude/rules/core-libraries.md +16 -0
- package/src/monorepo/.claude/rules/environment-tooling.md +12 -0
- package/src/monorepo/.claude/rules/logging-comments.md +17 -0
- package/src/monorepo/.claude/rules/logging.md +17 -0
- package/src/monorepo/.claude/rules/orient-to-recent-work.md +13 -0
- package/src/monorepo/.claude/rules/prisma-migrations.md +16 -0
- package/src/monorepo/.claude/rules/project-context.md +14 -0
- package/src/monorepo/.claude/rules/server-client-separation.md +17 -0
- package/src/monorepo/.claude/rules/subagent-workflow.md +14 -0
- package/src/monorepo/.claude/rules/testing-quality.md +19 -0
- package/src/monorepo/.claude/rules/testing.md +16 -0
- package/src/monorepo/.claude/rules/ui-accessibility.md +18 -0
- package/src/monorepo/.claude/rules/version-control.md +14 -0
- package/src/monorepo/.claude/rules/what-to-avoid.md +14 -0
- package/src/monorepo/.claude/rules-snippets/agent-conduct.md +51 -0
- package/src/monorepo/.claude/rules-snippets/api-server.md +5 -0
- package/src/monorepo/.claude/rules-snippets/coding-standards.md +45 -0
- package/src/monorepo/.claude/rules-snippets/component-structure.md +6 -0
- package/src/monorepo/.claude/rules-snippets/core-libraries.md +6 -0
- package/src/monorepo/.claude/rules-snippets/deployment.md +41 -0
- package/src/monorepo/.claude/rules-snippets/documentation.md +210 -0
- package/src/monorepo/.claude/rules-snippets/environment-tooling.md +4 -0
- package/src/monorepo/.claude/rules-snippets/logging-comments.md +4 -0
- package/src/monorepo/.claude/rules-snippets/logging.md +107 -0
- package/src/monorepo/.claude/rules-snippets/patterns.md +134 -0
- package/src/monorepo/.claude/rules-snippets/ponytail.md +24 -0
- package/src/monorepo/.claude/rules-snippets/prisma-migrations.md +6 -0
- package/src/monorepo/.claude/rules-snippets/project-context.md +8 -0
- package/src/monorepo/.claude/rules-snippets/server-client-separation.md +5 -0
- package/src/monorepo/.claude/rules-snippets/subagent-workflow.md +134 -0
- package/src/monorepo/.claude/rules-snippets/testing-quality.md +5 -0
- package/src/monorepo/.claude/rules-snippets/testing.md +42 -0
- package/src/monorepo/.claude/rules-snippets/ui-accessibility.md +5 -0
- package/src/monorepo/.claude/rules-snippets/version-control.md +4 -0
- package/src/monorepo/.claude/rules-snippets/what-to-avoid.md +6 -0
- package/src/monorepo/.claude/rules-snippets/workflows.md +81 -0
- package/src/monorepo/.claude/settings.json +7 -0
- package/src/monorepo/.claude/skills/README.md +50 -0
- package/src/monorepo/.cursor/agents/admin-portal.agent.md +11 -0
- package/src/monorepo/.cursor/agents/api-specialist.agent.md +11 -0
- package/src/monorepo/.cursor/agents/backend-architect.agent.md +11 -0
- package/src/monorepo/.cursor/agents/documenter.agent.md +11 -0
- package/src/monorepo/.cursor/agents/feature-builder.agent.md +11 -0
- package/src/monorepo/.cursor/agents/frontend-developer.agent.md +11 -0
- package/src/monorepo/.cursor/agents/green.agent.md +11 -0
- package/src/monorepo/.cursor/agents/implementer.agent.md +11 -0
- package/src/monorepo/.cursor/agents/planner.agent.md +11 -0
- package/src/monorepo/.cursor/agents/red.agent.md +11 -0
- package/src/monorepo/.cursor/agents/refactor.agent.md +11 -0
- package/src/monorepo/.cursor/agents/researcher.agent.md +11 -0
- package/src/monorepo/.cursor/agents/reviewer.agent.md +11 -0
- package/src/monorepo/.cursor/agents/tdd.agent.md +11 -0
- package/src/monorepo/.cursor/commands/assign-tasks.md +13 -0
- package/src/monorepo/.cursor/commands/bootstrap-patch.md +17 -0
- package/src/monorepo/.cursor/commands/bootstrap-upgrade.md +15 -0
- package/src/monorepo/.cursor/commands/bootstrap.md +17 -0
- package/src/monorepo/.cursor/commands/commit-push.md +15 -0
- package/src/monorepo/.cursor/commands/constitution.md +17 -0
- package/src/monorepo/.cursor/commands/create-skill.md +17 -0
- package/src/monorepo/.cursor/commands/implement-feature.md +17 -0
- package/src/monorepo/.cursor/commands/implement-fixes.md +17 -0
- package/src/monorepo/.cursor/commands/implement.md +17 -0
- package/src/monorepo/.cursor/commands/plan.md +17 -0
- package/src/monorepo/.cursor/commands/playwright-test.md +15 -0
- package/src/monorepo/.cursor/commands/ponytail-audit.md +13 -0
- package/src/monorepo/.cursor/commands/ponytail-debt.md +13 -0
- package/src/monorepo/.cursor/commands/ponytail-gain.md +13 -0
- package/src/monorepo/.cursor/commands/ponytail-help.md +13 -0
- package/src/monorepo/.cursor/commands/ponytail-review.md +13 -0
- package/src/monorepo/.cursor/commands/ponytail.md +13 -0
- package/src/monorepo/.cursor/commands/release-notes.md +15 -0
- package/src/monorepo/.cursor/commands/review-pr.md +17 -0
- package/src/monorepo/.cursor/commands/review-staged.md +10 -0
- package/src/monorepo/.cursor/commands/review.md +17 -0
- package/src/monorepo/.cursor/commands/specify.md +17 -0
- package/src/monorepo/.cursor/commands/tasks.md +15 -0
- package/src/monorepo/.cursor/mcp.json +13 -0
- package/src/monorepo/.cursor/rules/agent-conduct.mdc +11 -0
- package/src/monorepo/.cursor/rules/api-server.mdc +11 -0
- package/src/monorepo/.cursor/rules/coding-standards.mdc +11 -0
- package/src/monorepo/.cursor/rules/component-structure.mdc +11 -0
- package/src/monorepo/.cursor/rules/core-libraries.mdc +11 -0
- package/src/monorepo/.cursor/rules/environment-tooling.mdc +11 -0
- package/src/monorepo/.cursor/rules/logging-comments.mdc +11 -0
- package/src/monorepo/.cursor/rules/logging.mdc +10 -0
- package/src/monorepo/.cursor/rules/orient-to-recent-work.mdc +9 -0
- package/src/monorepo/.cursor/rules/ponytail.mdc +9 -0
- package/src/monorepo/.cursor/rules/prisma-migrations.mdc +11 -0
- package/src/monorepo/.cursor/rules/project-context.mdc +11 -0
- package/src/monorepo/.cursor/rules/server-client-separation.mdc +11 -0
- package/src/monorepo/.cursor/rules/subagent-workflow.mdc +11 -0
- package/src/monorepo/.cursor/rules/testing-quality.mdc +11 -0
- package/src/monorepo/.cursor/rules/ui-accessibility.mdc +11 -0
- package/src/monorepo/.cursor/rules/version-control.mdc +11 -0
- package/src/monorepo/.cursor/rules/what-to-avoid.mdc +11 -0
- package/src/monorepo/.cursor/skills/README.md +50 -0
- package/src/monorepo/.github/agents/admin-portal.agent.md +11 -0
- package/src/monorepo/.github/agents/api-specialist.agent.md +11 -0
- package/src/monorepo/.github/agents/backend-architect.agent.md +11 -0
- package/src/monorepo/.github/agents/documenter.agent.md +11 -0
- package/src/monorepo/.github/agents/feature-builder.agent.md +24 -0
- package/src/monorepo/.github/agents/frontend-developer.agent.md +11 -0
- package/src/monorepo/.github/agents/green.agent.md +12 -0
- package/src/monorepo/.github/agents/implementer.agent.md +12 -0
- package/src/monorepo/.github/agents/planner.agent.md +12 -0
- package/src/monorepo/.github/agents/red.agent.md +12 -0
- package/src/monorepo/.github/agents/refactor.agent.md +12 -0
- package/src/monorepo/.github/agents/researcher.agent.md +12 -0
- package/src/monorepo/.github/agents/reviewer.agent.md +11 -0
- package/src/monorepo/.github/agents/tdd.agent.md +13 -0
- package/src/monorepo/.github/copilot-instructions.md +95 -0
- package/src/monorepo/.github/instructions/agent-conduct.instructions.md +14 -0
- package/src/monorepo/.github/instructions/api-server.instructions.md +14 -0
- package/src/monorepo/.github/instructions/coding-standards.instructions.md +13 -0
- package/src/monorepo/.github/instructions/component-structure.instructions.md +14 -0
- package/src/monorepo/.github/instructions/core-libraries.instructions.md +14 -0
- package/src/monorepo/.github/instructions/deployment.instructions.md +13 -0
- package/src/monorepo/.github/instructions/documentation.instructions.md +14 -0
- package/src/monorepo/.github/instructions/environment-tooling.instructions.md +14 -0
- package/src/monorepo/.github/instructions/logging-comments.instructions.md +14 -0
- package/src/monorepo/.github/instructions/logging.instructions.md +14 -0
- package/src/monorepo/.github/instructions/patterns.instructions.md +14 -0
- package/src/monorepo/.github/instructions/prisma-migrations.instructions.md +14 -0
- package/src/monorepo/.github/instructions/project-context.instructions.md +13 -0
- package/src/monorepo/.github/instructions/server-client-separation.instructions.md +14 -0
- package/src/monorepo/.github/instructions/subagent-workflow.instructions.md +14 -0
- package/src/monorepo/.github/instructions/testing-quality.instructions.md +15 -0
- package/src/monorepo/.github/instructions/testing.instructions.md +14 -0
- package/src/monorepo/.github/instructions/ui-accessibility.instructions.md +14 -0
- package/src/monorepo/.github/instructions/version-control.instructions.md +14 -0
- package/src/monorepo/.github/instructions/what-to-avoid.instructions.md +14 -0
- package/src/monorepo/.github/instructions/workflows.instructions.md +14 -0
- package/src/monorepo/.github/prompts/assign-tasks.prompt.md +14 -0
- package/src/monorepo/.github/prompts/bootstrap-patch.prompt.md +15 -0
- package/src/monorepo/.github/prompts/bootstrap-upgrade.prompt.md +15 -0
- package/src/monorepo/.github/prompts/bootstrap.prompt.md +15 -0
- package/src/monorepo/.github/prompts/commit-push.prompt.md +13 -0
- package/src/monorepo/.github/prompts/constitution.prompt.md +15 -0
- package/src/monorepo/.github/prompts/create-skill.prompt.md +15 -0
- package/src/monorepo/.github/prompts/implement-feature.prompt.md +15 -0
- package/src/monorepo/.github/prompts/implement-fixes.prompt.md +15 -0
- package/src/monorepo/.github/prompts/implement.prompt.md +15 -0
- package/src/monorepo/.github/prompts/plan.prompt.md +15 -0
- package/src/monorepo/.github/prompts/playwright-test.prompt.md +13 -0
- package/src/monorepo/.github/prompts/ponytail-audit.prompt.md +13 -0
- package/src/monorepo/.github/prompts/ponytail-debt.prompt.md +13 -0
- package/src/monorepo/.github/prompts/ponytail-gain.prompt.md +13 -0
- package/src/monorepo/.github/prompts/ponytail-help.prompt.md +13 -0
- package/src/monorepo/.github/prompts/ponytail-review.prompt.md +13 -0
- package/src/monorepo/.github/prompts/ponytail.prompt.md +13 -0
- package/src/monorepo/.github/prompts/release-notes.prompt.md +13 -0
- package/src/monorepo/.github/prompts/review-pr.prompt.md +15 -0
- package/src/monorepo/.github/prompts/review-staged.prompt.md +16 -0
- package/src/monorepo/.github/prompts/review.prompt.md +15 -0
- package/src/monorepo/.github/prompts/specify.prompt.md +15 -0
- package/src/monorepo/.github/prompts/tasks.prompt.md +13 -0
- package/src/monorepo/.github/skills/README.md +36 -0
- package/src/monorepo/.mcp.json +13 -0
- package/src/monorepo/.opencode/agents/admin-portal.md +14 -0
- package/src/monorepo/.opencode/agents/api-specialist.md +14 -0
- package/src/monorepo/.opencode/agents/backend-architect.md +14 -0
- package/src/monorepo/.opencode/agents/documenter.md +14 -0
- package/src/monorepo/.opencode/agents/feature-builder.md +15 -0
- package/src/monorepo/.opencode/agents/frontend-developer.md +14 -0
- package/src/monorepo/.opencode/agents/green.md +14 -0
- package/src/monorepo/.opencode/agents/implementer.md +14 -0
- package/src/monorepo/.opencode/agents/planner.md +14 -0
- package/src/monorepo/.opencode/agents/red.md +14 -0
- package/src/monorepo/.opencode/agents/refactor.md +14 -0
- package/src/monorepo/.opencode/agents/researcher.md +14 -0
- package/src/monorepo/.opencode/agents/reviewer.md +14 -0
- package/src/monorepo/.opencode/agents/tdd.md +15 -0
- package/src/monorepo/.opencode/commands/assign-tasks.md +16 -0
- package/src/monorepo/.opencode/commands/bootstrap-patch.md +18 -0
- package/src/monorepo/.opencode/commands/bootstrap-upgrade.md +18 -0
- package/src/monorepo/.opencode/commands/bootstrap.md +18 -0
- package/src/monorepo/.opencode/commands/commit-push.md +16 -0
- package/src/monorepo/.opencode/commands/constitution.md +18 -0
- package/src/monorepo/.opencode/commands/create-skill.md +16 -0
- package/src/monorepo/.opencode/commands/implement-feature.md +18 -0
- package/src/monorepo/.opencode/commands/implement-fixes.md +20 -0
- package/src/monorepo/.opencode/commands/implement.md +18 -0
- package/src/monorepo/.opencode/commands/plan.md +18 -0
- package/src/monorepo/.opencode/commands/playwright-test.md +16 -0
- package/src/monorepo/.opencode/commands/ponytail-audit.md +10 -0
- package/src/monorepo/.opencode/commands/ponytail-debt.md +10 -0
- package/src/monorepo/.opencode/commands/ponytail-gain.md +10 -0
- package/src/monorepo/.opencode/commands/ponytail-help.md +10 -0
- package/src/monorepo/.opencode/commands/ponytail-review.md +10 -0
- package/src/monorepo/.opencode/commands/ponytail.md +10 -0
- package/src/monorepo/.opencode/commands/release-notes.md +16 -0
- package/src/monorepo/.opencode/commands/review-pr.md +18 -0
- package/src/monorepo/.opencode/commands/review-staged.md +11 -0
- package/src/monorepo/.opencode/commands/review.md +18 -0
- package/src/monorepo/.opencode/commands/specify.md +18 -0
- package/src/monorepo/.opencode/commands/tasks.md +16 -0
- package/src/monorepo/.opencode/opencode.json +9 -0
- package/src/monorepo/.opencode/plugins/ponytail.mjs +79 -0
- package/src/monorepo/.opencode/rules/agent-conduct.md +12 -0
- package/src/monorepo/.opencode/rules/api-server.md +11 -0
- package/src/monorepo/.opencode/rules/coding-standards.md +11 -0
- package/src/monorepo/.opencode/rules/component-structure.md +11 -0
- package/src/monorepo/.opencode/rules/core-libraries.md +11 -0
- package/src/monorepo/.opencode/rules/environment-tooling.md +11 -0
- package/src/monorepo/.opencode/rules/logging-comments.md +11 -0
- package/src/monorepo/.opencode/rules/logging.md +11 -0
- package/src/monorepo/.opencode/rules/ponytail.md +3 -0
- package/src/monorepo/.opencode/rules/prisma-migrations.md +11 -0
- package/src/monorepo/.opencode/rules/project-context.md +11 -0
- package/src/monorepo/.opencode/rules/server-client-separation.md +11 -0
- package/src/monorepo/.opencode/rules/subagent-workflow.md +11 -0
- package/src/monorepo/.opencode/rules/testing-quality.md +11 -0
- package/src/monorepo/.opencode/rules/ui-accessibility.md +11 -0
- package/src/monorepo/.opencode/rules/version-control.md +11 -0
- package/src/monorepo/.opencode/rules/what-to-avoid.md +11 -0
- package/src/monorepo/.vscode/mcp.json +13 -0
- package/src/monorepo/AGENTS.md +367 -0
- package/src/monorepo/CLAUDE.md +63 -0
- package/src/monorepo/README.md +182 -0
- package/src/monorepo/apps/app-template/AGENTS.md +169 -0
- package/src/monorepo/apps/app-template/README.md +77 -0
- package/src/monorepo/docs/api/README.md +82 -0
- package/src/monorepo/docs/architecture/README.md +56 -0
- package/src/monorepo/docs/features/README.md +82 -0
- package/src/monorepo/docs/fixes/README.md +117 -0
- package/src/monorepo/hooks/claude-codex-hooks.json +31 -0
- package/src/monorepo/hooks/copilot-hooks.json +21 -0
- package/src/monorepo/hooks/ponytail-activate.js +91 -0
- package/src/monorepo/hooks/ponytail-config.js +122 -0
- package/src/monorepo/hooks/ponytail-instructions.js +92 -0
- package/src/monorepo/hooks/ponytail-mode-tracker.js +55 -0
- package/src/monorepo/hooks/ponytail-runtime.js +51 -0
- package/src/monorepo/hooks/ponytail-statusline.ps1 +21 -0
- package/src/monorepo/hooks/ponytail-statusline.sh +12 -0
- package/src/monorepo/packages/package-template/README.md +63 -0
- package/src/monorepo/templates/README.md +106 -0
- package/src/monorepo/templates/adr.template.md +156 -0
- package/src/monorepo/templates/complex-fix-plan.template.md +154 -0
- package/src/monorepo/templates/complex-fix-spec.template.md +160 -0
- package/src/monorepo/templates/feature-plan.template.md +192 -0
- package/src/monorepo/templates/feature-spec.template.md +148 -0
- package/src/monorepo/templates/monthly-fix-log.template.md +92 -0
- package/src/repo/.agents/rules/ponytail.md +3 -0
- package/src/repo/.agents/skills/acli/SKILL.md +424 -0
- package/src/repo/.agents/skills/bkt-cli/SKILL.md +374 -0
- package/src/repo/.agents/skills/brainstorming/SKILL.md +54 -0
- package/src/repo/.agents/skills/code-simplifier/SKILL.md +109 -0
- package/src/repo/.agents/skills/debugger/SKILL.md +123 -0
- package/src/repo/.agents/skills/dispatching-parallel-agents/SKILL.md +206 -0
- package/src/repo/.agents/skills/executing-plans/SKILL.md +76 -0
- package/src/repo/.agents/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/src/repo/.agents/skills/gh-cli/SKILL.md +461 -0
- package/src/repo/.agents/skills/glab-cli/SKILL.md +468 -0
- package/src/repo/.agents/skills/issue-tracker/SKILL.md +119 -0
- package/src/repo/.agents/skills/linear-cli/SKILL.md +276 -0
- package/src/repo/.agents/skills/logging/SKILL.md +559 -0
- package/src/repo/.agents/skills/orient-to-recent-work/SKILL.md +43 -0
- package/src/repo/.agents/skills/ponytail/SKILL.md +101 -0
- package/src/repo/.agents/skills/ponytail-audit/SKILL.md +41 -0
- package/src/repo/.agents/skills/ponytail-debt/SKILL.md +44 -0
- package/src/repo/.agents/skills/ponytail-gain/SKILL.md +51 -0
- package/src/repo/.agents/skills/ponytail-help/SKILL.md +74 -0
- package/src/repo/.agents/skills/ponytail-review/SKILL.md +57 -0
- package/src/repo/.agents/skills/project-documentation/SKILL.md +367 -0
- package/src/repo/.agents/skills/receiving-code-review/SKILL.md +213 -0
- package/src/repo/.agents/skills/requesting-code-review/SKILL.md +105 -0
- package/src/repo/.agents/skills/requesting-code-review/code-reviewer.md +146 -0
- package/src/repo/.agents/skills/security-reviewer/SKILL.md +144 -0
- package/src/repo/.agents/skills/subagent-driven-development/SKILL.md +279 -0
- package/src/repo/.agents/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/src/repo/.agents/skills/subagent-driven-development/implementer-prompt.md +78 -0
- package/src/repo/.agents/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/src/repo/.agents/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/src/repo/.agents/skills/systematic-debugging/SKILL.md +296 -0
- package/src/repo/.agents/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/src/repo/.agents/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/src/repo/.agents/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/src/repo/.agents/skills/systematic-debugging/find-polluter.sh +63 -0
- package/src/repo/.agents/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/src/repo/.agents/skills/systematic-debugging/test-academic.md +14 -0
- package/src/repo/.agents/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/src/repo/.agents/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/src/repo/.agents/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/src/repo/.agents/skills/test-driven-development/SKILL.md +371 -0
- package/src/repo/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/src/repo/.agents/skills/using-git-worktrees/SKILL.md +291 -0
- package/src/repo/.agents/skills/using-superpowers/SKILL.md +87 -0
- package/src/repo/.agents/skills/verification-before-completion/SKILL.md +148 -0
- package/src/repo/.agents/skills/writing-plans/SKILL.md +116 -0
- package/src/repo/.agents/skills/writing-skills/SKILL.md +655 -0
- package/src/repo/.agents/skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/src/repo/.agents/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/src/repo/.agents/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/src/repo/.agents/skills/writing-skills/persuasion-principles.md +187 -0
- package/src/repo/.agents/skills/writing-skills/render-graphs.js +168 -0
- package/src/repo/.agents/skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/src/repo/.claude/agents/admin-portal.agent.md +12 -0
- package/src/repo/.claude/agents/api-specialist.agent.md +12 -0
- package/src/repo/.claude/agents/backend-architect.agent.md +12 -0
- package/src/repo/.claude/agents/documenter.agent.md +12 -0
- package/src/repo/.claude/agents/feature-builder.agent.md +12 -0
- package/src/repo/.claude/agents/frontend-developer.agent.md +12 -0
- package/src/repo/.claude/agents/green.agent.md +12 -0
- package/src/repo/.claude/agents/implementer.agent.md +12 -0
- package/src/repo/.claude/agents/planner.agent.md +12 -0
- package/src/repo/.claude/agents/red.agent.md +12 -0
- package/src/repo/.claude/agents/refactor.agent.md +12 -0
- package/src/repo/.claude/agents/researcher.agent.md +12 -0
- package/src/repo/.claude/agents/reviewer.agent.md +12 -0
- package/src/repo/.claude/agents/tdd.agent.md +12 -0
- package/src/repo/.claude/agents-snippets/admin-portal.md +90 -0
- package/src/repo/.claude/agents-snippets/api-specialist.md +57 -0
- package/src/repo/.claude/agents-snippets/backend-architect.md +49 -0
- package/src/repo/.claude/agents-snippets/documenter.md +58 -0
- package/src/repo/.claude/agents-snippets/feature-builder.md +49 -0
- package/src/repo/.claude/agents-snippets/frontend-developer.md +49 -0
- package/src/repo/.claude/agents-snippets/green.md +18 -0
- package/src/repo/.claude/agents-snippets/implementer.md +31 -0
- package/src/repo/.claude/agents-snippets/planner.md +40 -0
- package/src/repo/.claude/agents-snippets/red.md +14 -0
- package/src/repo/.claude/agents-snippets/refactor.md +22 -0
- package/src/repo/.claude/agents-snippets/researcher.md +43 -0
- package/src/repo/.claude/agents-snippets/reviewer.md +83 -0
- package/src/repo/.claude/agents-snippets/tdd.md +18 -0
- package/src/repo/.claude/commands/assign-tasks.md +13 -0
- package/src/repo/.claude/commands/bootstrap-patch.md +15 -0
- package/src/repo/.claude/commands/bootstrap-upgrade.md +15 -0
- package/src/repo/.claude/commands/bootstrap.md +15 -0
- package/src/repo/.claude/commands/commit-push.md +13 -0
- package/src/repo/.claude/commands/constitution.md +15 -0
- package/src/repo/.claude/commands/create-skill.md +13 -0
- package/src/repo/.claude/commands/implement-feature.md +15 -0
- package/src/repo/.claude/commands/implement-fixes.md +15 -0
- package/src/repo/.claude/commands/implement.md +15 -0
- package/src/repo/.claude/commands/plan.md +15 -0
- package/src/repo/.claude/commands/playwright-test.md +13 -0
- package/src/repo/.claude/commands/ponytail-audit.md +15 -0
- package/src/repo/.claude/commands/ponytail-debt.md +15 -0
- package/src/repo/.claude/commands/ponytail-gain.md +15 -0
- package/src/repo/.claude/commands/ponytail-help.md +15 -0
- package/src/repo/.claude/commands/ponytail-review.md +15 -0
- package/src/repo/.claude/commands/ponytail.md +15 -0
- package/src/repo/.claude/commands/release-notes.md +13 -0
- package/src/repo/.claude/commands/review-pr.md +15 -0
- package/src/repo/.claude/commands/review-staged.md +15 -0
- package/src/repo/.claude/commands/review.md +15 -0
- package/src/repo/.claude/commands/specify.md +15 -0
- package/src/repo/.claude/commands/tasks.md +13 -0
- package/src/repo/.claude/prompt-snippets/assign-tasks.md +170 -0
- package/src/repo/.claude/prompt-snippets/bootstrap-patch.md +200 -0
- package/src/repo/.claude/prompt-snippets/bootstrap-upgrade.md +357 -0
- package/src/repo/.claude/prompt-snippets/bootstrap.md +1026 -0
- package/src/repo/.claude/prompt-snippets/commit-push.md +70 -0
- package/src/repo/.claude/prompt-snippets/constitution.md +57 -0
- package/src/repo/.claude/prompt-snippets/create-skill.md +490 -0
- package/src/repo/.claude/prompt-snippets/implement-feature.md +124 -0
- package/src/repo/.claude/prompt-snippets/implement-fixes.md +116 -0
- package/src/repo/.claude/prompt-snippets/implement.md +56 -0
- package/src/repo/.claude/prompt-snippets/plan.md +94 -0
- package/src/repo/.claude/prompt-snippets/playwright-test.md +58 -0
- package/src/repo/.claude/prompt-snippets/ponytail-audit.md +5 -0
- package/src/repo/.claude/prompt-snippets/ponytail-debt.md +5 -0
- package/src/repo/.claude/prompt-snippets/ponytail-gain.md +5 -0
- package/src/repo/.claude/prompt-snippets/ponytail-help.md +5 -0
- package/src/repo/.claude/prompt-snippets/ponytail-review.md +5 -0
- package/src/repo/.claude/prompt-snippets/ponytail.md +5 -0
- package/src/repo/.claude/prompt-snippets/release-notes.md +204 -0
- package/src/repo/.claude/prompt-snippets/review-pr.md +156 -0
- package/src/repo/.claude/prompt-snippets/review-staged.md +35 -0
- package/src/repo/.claude/prompt-snippets/review.md +139 -0
- package/src/repo/.claude/prompt-snippets/specify.md +84 -0
- package/src/repo/.claude/prompt-snippets/tasks.md +146 -0
- package/src/repo/.claude/rules/agent-conduct.md +13 -0
- package/src/repo/.claude/rules/api-server.md +16 -0
- package/src/repo/.claude/rules/coding-standards.md +13 -0
- package/src/repo/.claude/rules/component-structure.md +15 -0
- package/src/repo/.claude/rules/core-libraries.md +13 -0
- package/src/repo/.claude/rules/environment-tooling.md +13 -0
- package/src/repo/.claude/rules/logging-comments.md +13 -0
- package/src/repo/.claude/rules/logging.md +13 -0
- package/src/repo/.claude/rules/orient-to-recent-work.md +13 -0
- package/src/repo/.claude/rules/prisma-migrations.md +16 -0
- package/src/repo/.claude/rules/project-context.md +13 -0
- package/src/repo/.claude/rules/server-client-separation.md +13 -0
- package/src/repo/.claude/rules/subagent-workflow.md +13 -0
- package/src/repo/.claude/rules/testing-quality.md +16 -0
- package/src/repo/.claude/rules/testing.md +16 -0
- package/src/repo/.claude/rules/ui-accessibility.md +15 -0
- package/src/repo/.claude/rules/version-control.md +13 -0
- package/src/repo/.claude/rules/what-to-avoid.md +13 -0
- package/src/repo/.claude/rules-snippets/agent-conduct.md +51 -0
- package/src/repo/.claude/rules-snippets/api-server.md +7 -0
- package/src/repo/.claude/rules-snippets/coding-standards.md +45 -0
- package/src/repo/.claude/rules-snippets/component-structure.md +8 -0
- package/src/repo/.claude/rules-snippets/core-libraries.md +6 -0
- package/src/repo/.claude/rules-snippets/deployment.md +38 -0
- package/src/repo/.claude/rules-snippets/documentation.md +621 -0
- package/src/repo/.claude/rules-snippets/environment-tooling.md +6 -0
- package/src/repo/.claude/rules-snippets/logging-comments.md +4 -0
- package/src/repo/.claude/rules-snippets/logging.md +352 -0
- package/src/repo/.claude/rules-snippets/patterns.md +29 -0
- package/src/repo/.claude/rules-snippets/ponytail.md +24 -0
- package/src/repo/.claude/rules-snippets/prisma-migrations.md +8 -0
- package/src/repo/.claude/rules-snippets/project-context.md +25 -0
- package/src/repo/.claude/rules-snippets/server-client-separation.md +7 -0
- package/src/repo/.claude/rules-snippets/subagent-workflow.md +134 -0
- package/src/repo/.claude/rules-snippets/testing-quality.md +5 -0
- package/src/repo/.claude/rules-snippets/testing.md +38 -0
- package/src/repo/.claude/rules-snippets/ui-accessibility.md +7 -0
- package/src/repo/.claude/rules-snippets/version-control.md +6 -0
- package/src/repo/.claude/rules-snippets/what-to-avoid.md +8 -0
- package/src/repo/.claude/rules-snippets/workflows.md +25 -0
- package/src/repo/.claude/settings.json +7 -0
- package/src/repo/.claude/skills/README.md +50 -0
- package/src/repo/.cursor/agents/admin-portal.agent.md +11 -0
- package/src/repo/.cursor/agents/api-specialist.agent.md +11 -0
- package/src/repo/.cursor/agents/backend-architect.agent.md +11 -0
- package/src/repo/.cursor/agents/documenter.agent.md +11 -0
- package/src/repo/.cursor/agents/feature-builder.agent.md +11 -0
- package/src/repo/.cursor/agents/frontend-developer.agent.md +11 -0
- package/src/repo/.cursor/agents/green.agent.md +11 -0
- package/src/repo/.cursor/agents/implementer.agent.md +11 -0
- package/src/repo/.cursor/agents/planner.agent.md +11 -0
- package/src/repo/.cursor/agents/red.agent.md +11 -0
- package/src/repo/.cursor/agents/refactor.agent.md +11 -0
- package/src/repo/.cursor/agents/researcher.agent.md +11 -0
- package/src/repo/.cursor/agents/reviewer.agent.md +11 -0
- package/src/repo/.cursor/agents/tdd.agent.md +11 -0
- package/src/repo/.cursor/commands/assign-tasks.md +13 -0
- package/src/repo/.cursor/commands/bootstrap-patch.md +17 -0
- package/src/repo/.cursor/commands/bootstrap-upgrade.md +15 -0
- package/src/repo/.cursor/commands/bootstrap.md +17 -0
- package/src/repo/.cursor/commands/commit-push.md +15 -0
- package/src/repo/.cursor/commands/constitution.md +17 -0
- package/src/repo/.cursor/commands/create-skill.md +15 -0
- package/src/repo/.cursor/commands/implement-feature.md +17 -0
- package/src/repo/.cursor/commands/implement-fixes.md +17 -0
- package/src/repo/.cursor/commands/implement.md +17 -0
- package/src/repo/.cursor/commands/plan.md +17 -0
- package/src/repo/.cursor/commands/playwright-test.md +15 -0
- package/src/repo/.cursor/commands/ponytail-audit.md +13 -0
- package/src/repo/.cursor/commands/ponytail-debt.md +13 -0
- package/src/repo/.cursor/commands/ponytail-gain.md +13 -0
- package/src/repo/.cursor/commands/ponytail-help.md +13 -0
- package/src/repo/.cursor/commands/ponytail-review.md +13 -0
- package/src/repo/.cursor/commands/ponytail.md +13 -0
- package/src/repo/.cursor/commands/release-notes.md +15 -0
- package/src/repo/.cursor/commands/review-pr.md +17 -0
- package/src/repo/.cursor/commands/review-staged.md +10 -0
- package/src/repo/.cursor/commands/review.md +17 -0
- package/src/repo/.cursor/commands/specify.md +17 -0
- package/src/repo/.cursor/commands/tasks.md +15 -0
- package/src/repo/.cursor/mcp.json +13 -0
- package/src/repo/.cursor/rules/agent-conduct.mdc +11 -0
- package/src/repo/.cursor/rules/api-server.mdc +11 -0
- package/src/repo/.cursor/rules/coding-standards.mdc +11 -0
- package/src/repo/.cursor/rules/component-structure.mdc +11 -0
- package/src/repo/.cursor/rules/core-libraries.mdc +11 -0
- package/src/repo/.cursor/rules/environment-tooling.mdc +11 -0
- package/src/repo/.cursor/rules/logging-comments.mdc +11 -0
- package/src/repo/.cursor/rules/logging.mdc +11 -0
- package/src/repo/.cursor/rules/orient-to-recent-work.mdc +9 -0
- package/src/repo/.cursor/rules/ponytail.mdc +9 -0
- package/src/repo/.cursor/rules/prisma-migrations.mdc +11 -0
- package/src/repo/.cursor/rules/project-context.mdc +11 -0
- package/src/repo/.cursor/rules/server-client-separation.mdc +11 -0
- package/src/repo/.cursor/rules/subagent-workflow.mdc +11 -0
- package/src/repo/.cursor/rules/testing-quality.mdc +11 -0
- package/src/repo/.cursor/rules/ui-accessibility.mdc +11 -0
- package/src/repo/.cursor/rules/version-control.mdc +11 -0
- package/src/repo/.cursor/rules/what-to-avoid.mdc +11 -0
- package/src/repo/.cursor/skills/README.md +50 -0
- package/src/repo/.github/agents/admin-portal.agent.md +11 -0
- package/src/repo/.github/agents/api-specialist.agent.md +11 -0
- package/src/repo/.github/agents/backend-architect.agent.md +11 -0
- package/src/repo/.github/agents/documenter.agent.md +11 -0
- package/src/repo/.github/agents/feature-builder.agent.md +24 -0
- package/src/repo/.github/agents/frontend-developer.agent.md +11 -0
- package/src/repo/.github/agents/green.agent.md +12 -0
- package/src/repo/.github/agents/implementer.agent.md +12 -0
- package/src/repo/.github/agents/planner.agent.md +12 -0
- package/src/repo/.github/agents/red.agent.md +12 -0
- package/src/repo/.github/agents/refactor.agent.md +12 -0
- package/src/repo/.github/agents/researcher.agent.md +12 -0
- package/src/repo/.github/agents/reviewer.agent.md +11 -0
- package/src/repo/.github/agents/tdd.agent.md +13 -0
- package/src/repo/.github/copilot-instructions.md +89 -0
- package/src/repo/.github/instructions/agent-conduct.instructions.md +13 -0
- package/src/repo/.github/instructions/api-server.instructions.md +13 -0
- package/src/repo/.github/instructions/coding-standards.instructions.md +13 -0
- package/src/repo/.github/instructions/component-structure.instructions.md +13 -0
- package/src/repo/.github/instructions/core-libraries.instructions.md +13 -0
- package/src/repo/.github/instructions/deployment.instructions.md +13 -0
- package/src/repo/.github/instructions/documentation.instructions.md +14 -0
- package/src/repo/.github/instructions/environment-tooling.instructions.md +13 -0
- package/src/repo/.github/instructions/logging-comments.instructions.md +13 -0
- package/src/repo/.github/instructions/logging.instructions.md +13 -0
- package/src/repo/.github/instructions/patterns.instructions.md +13 -0
- package/src/repo/.github/instructions/prisma-migrations.instructions.md +13 -0
- package/src/repo/.github/instructions/project-context.instructions.md +13 -0
- package/src/repo/.github/instructions/server-client-separation.instructions.md +13 -0
- package/src/repo/.github/instructions/subagent-workflow.instructions.md +13 -0
- package/src/repo/.github/instructions/testing-quality.instructions.md +13 -0
- package/src/repo/.github/instructions/testing.instructions.md +13 -0
- package/src/repo/.github/instructions/ui-accessibility.instructions.md +13 -0
- package/src/repo/.github/instructions/version-control.instructions.md +13 -0
- package/src/repo/.github/instructions/what-to-avoid.instructions.md +13 -0
- package/src/repo/.github/instructions/workflows.instructions.md +13 -0
- package/src/repo/.github/prompts/assign-tasks.prompt.md +14 -0
- package/src/repo/.github/prompts/bootstrap-patch.prompt.md +16 -0
- package/src/repo/.github/prompts/bootstrap-upgrade.prompt.md +15 -0
- package/src/repo/.github/prompts/bootstrap.prompt.md +16 -0
- package/src/repo/.github/prompts/commit-push.prompt.md +14 -0
- package/src/repo/.github/prompts/constitution.prompt.md +16 -0
- package/src/repo/.github/prompts/create-skill.prompt.md +16 -0
- package/src/repo/.github/prompts/implement-feature.prompt.md +16 -0
- package/src/repo/.github/prompts/implement-fixes.prompt.md +16 -0
- package/src/repo/.github/prompts/implement.prompt.md +16 -0
- package/src/repo/.github/prompts/plan.prompt.md +16 -0
- package/src/repo/.github/prompts/playwright-test.prompt.md +14 -0
- package/src/repo/.github/prompts/ponytail-audit.prompt.md +13 -0
- package/src/repo/.github/prompts/ponytail-debt.prompt.md +13 -0
- package/src/repo/.github/prompts/ponytail-gain.prompt.md +13 -0
- package/src/repo/.github/prompts/ponytail-help.prompt.md +13 -0
- package/src/repo/.github/prompts/ponytail-review.prompt.md +13 -0
- package/src/repo/.github/prompts/ponytail.prompt.md +13 -0
- package/src/repo/.github/prompts/release-notes.prompt.md +14 -0
- package/src/repo/.github/prompts/review-pr.prompt.md +16 -0
- package/src/repo/.github/prompts/review-staged.prompt.md +16 -0
- package/src/repo/.github/prompts/review.prompt.md +16 -0
- package/src/repo/.github/prompts/specify.prompt.md +16 -0
- package/src/repo/.github/prompts/tasks.prompt.md +14 -0
- package/src/repo/.github/skills/README.md +36 -0
- package/src/repo/.mcp.json +13 -0
- package/src/repo/.opencode/agents/admin-portal.md +14 -0
- package/src/repo/.opencode/agents/api-specialist.md +14 -0
- package/src/repo/.opencode/agents/backend-architect.md +14 -0
- package/src/repo/.opencode/agents/documenter.md +14 -0
- package/src/repo/.opencode/agents/feature-builder.md +15 -0
- package/src/repo/.opencode/agents/frontend-developer.md +14 -0
- package/src/repo/.opencode/agents/green.md +14 -0
- package/src/repo/.opencode/agents/implementer.md +14 -0
- package/src/repo/.opencode/agents/planner.md +14 -0
- package/src/repo/.opencode/agents/red.md +14 -0
- package/src/repo/.opencode/agents/refactor.md +14 -0
- package/src/repo/.opencode/agents/researcher.md +14 -0
- package/src/repo/.opencode/agents/reviewer.md +14 -0
- package/src/repo/.opencode/agents/tdd.md +15 -0
- package/src/repo/.opencode/commands/assign-tasks.md +16 -0
- package/src/repo/.opencode/commands/bootstrap-patch.md +18 -0
- package/src/repo/.opencode/commands/bootstrap-upgrade.md +18 -0
- package/src/repo/.opencode/commands/bootstrap.md +18 -0
- package/src/repo/.opencode/commands/commit-push.md +16 -0
- package/src/repo/.opencode/commands/constitution.md +18 -0
- package/src/repo/.opencode/commands/create-skill.md +16 -0
- package/src/repo/.opencode/commands/implement-feature.md +18 -0
- package/src/repo/.opencode/commands/implement-fixes.md +20 -0
- package/src/repo/.opencode/commands/implement.md +18 -0
- package/src/repo/.opencode/commands/plan.md +18 -0
- package/src/repo/.opencode/commands/playwright-test.md +16 -0
- package/src/repo/.opencode/commands/ponytail-audit.md +10 -0
- package/src/repo/.opencode/commands/ponytail-debt.md +10 -0
- package/src/repo/.opencode/commands/ponytail-gain.md +10 -0
- package/src/repo/.opencode/commands/ponytail-help.md +10 -0
- package/src/repo/.opencode/commands/ponytail-review.md +10 -0
- package/src/repo/.opencode/commands/ponytail.md +10 -0
- package/src/repo/.opencode/commands/release-notes.md +16 -0
- package/src/repo/.opencode/commands/review-pr.md +18 -0
- package/src/repo/.opencode/commands/review-staged.md +11 -0
- package/src/repo/.opencode/commands/review.md +18 -0
- package/src/repo/.opencode/commands/specify.md +18 -0
- package/src/repo/.opencode/commands/tasks.md +16 -0
- package/src/repo/.opencode/opencode.json +9 -0
- package/src/repo/.opencode/plugins/ponytail.mjs +79 -0
- package/src/repo/.opencode/rules/agent-conduct.md +11 -0
- package/src/repo/.opencode/rules/api-server.md +11 -0
- package/src/repo/.opencode/rules/coding-standards.md +11 -0
- package/src/repo/.opencode/rules/component-structure.md +11 -0
- package/src/repo/.opencode/rules/core-libraries.md +11 -0
- package/src/repo/.opencode/rules/environment-tooling.md +11 -0
- package/src/repo/.opencode/rules/logging-comments.md +11 -0
- package/src/repo/.opencode/rules/logging.md +11 -0
- package/src/repo/.opencode/rules/ponytail.md +3 -0
- package/src/repo/.opencode/rules/prisma-migrations.md +11 -0
- package/src/repo/.opencode/rules/project-context.md +11 -0
- package/src/repo/.opencode/rules/server-client-separation.md +11 -0
- package/src/repo/.opencode/rules/subagent-workflow.md +11 -0
- package/src/repo/.opencode/rules/testing-quality.md +11 -0
- package/src/repo/.opencode/rules/ui-accessibility.md +11 -0
- package/src/repo/.opencode/rules/version-control.md +11 -0
- package/src/repo/.opencode/rules/what-to-avoid.md +11 -0
- package/src/repo/.vscode/mcp.json +13 -0
- package/src/repo/AGENTS.md +387 -0
- package/src/repo/CLAUDE.md +51 -0
- package/src/repo/README.md +145 -0
- package/src/repo/docs/api/README.md +82 -0
- package/src/repo/docs/architecture/README.md +56 -0
- package/src/repo/docs/features/README.md +82 -0
- package/src/repo/docs/fixes/README.md +117 -0
- package/src/repo/hooks/claude-codex-hooks.json +31 -0
- package/src/repo/hooks/copilot-hooks.json +21 -0
- package/src/repo/hooks/ponytail-activate.js +91 -0
- package/src/repo/hooks/ponytail-config.js +122 -0
- package/src/repo/hooks/ponytail-instructions.js +92 -0
- package/src/repo/hooks/ponytail-mode-tracker.js +55 -0
- package/src/repo/hooks/ponytail-runtime.js +51 -0
- package/src/repo/hooks/ponytail-statusline.ps1 +21 -0
- package/src/repo/hooks/ponytail-statusline.sh +12 -0
- package/src/repo/templates/README.md +80 -0
- package/src/repo/templates/adr.template.md +162 -0
- package/src/repo/templates/complex-fix-plan.template.md +162 -0
- package/src/repo/templates/complex-fix-spec.template.md +163 -0
- package/src/repo/templates/feature-plan.template.md +202 -0
- package/src/repo/templates/feature-spec.template.md +148 -0
- package/src/repo/templates/monthly-fix-log.template.md +91 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "src/**"
|
|
4
|
+
- "apps/**"
|
|
5
|
+
- "packages/**"
|
|
6
|
+
description: "Server and client code separation rules."
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Server-Client Separation
|
|
10
|
+
|
|
11
|
+
Follow the rules defined in [.claude/rules-snippets/server-client-separation.md](../rules-snippets/server-client-separation.md).
|
|
12
|
+
|
|
13
|
+
Key points:
|
|
14
|
+
- Never import server-only code in client components.
|
|
15
|
+
- Use API endpoints to expose server functionality to clients.
|
|
16
|
+
- Create shared types for cross-boundary use.
|
|
17
|
+
- Mark server-only modules clearly (e.g., `.server.{{LANGUAGE_EXTENSION}}`).
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
applyTo: "**/*"
|
|
3
|
+
description: "Subagent workflow and orchestration patterns."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Subagent Workflow
|
|
7
|
+
|
|
8
|
+
Follow the rules defined in [.claude/rules-snippets/subagent-workflow.md](../rules-snippets/subagent-workflow.md).
|
|
9
|
+
|
|
10
|
+
Key points:
|
|
11
|
+
- Use orchestrator-first flow for tasks involving 2+ of research, planning, implementation, testing, or review.
|
|
12
|
+
- Default to coordinator agents (Feature Builder or TDD) as entry points for non-trivial work.
|
|
13
|
+
- Match task domain to the right specialist before defaulting to Implementer.
|
|
14
|
+
- Always run Reviewer after implementation, before marking work complete.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.{test,spec}.*"
|
|
4
|
+
- "tests/**"
|
|
5
|
+
- "__tests__/**"
|
|
6
|
+
- "apps/**/tests/**"
|
|
7
|
+
- "packages/**/tests/**"
|
|
8
|
+
description: "Testing standards and quality assurance."
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Testing Quality
|
|
12
|
+
|
|
13
|
+
Follow the rules defined in [.claude/rules-snippets/testing-quality.md](../rules-snippets/testing-quality.md).
|
|
14
|
+
|
|
15
|
+
Key points:
|
|
16
|
+
- Ensure lint, test, and build pass before committing.
|
|
17
|
+
- Use {{TEST_FRAMEWORK}} for unit/component tests and {{E2E_FRAMEWORK}} for end-to-end tests.
|
|
18
|
+
- Place tests alongside implementation files or in `tests/` directory.
|
|
19
|
+
- Aim for meaningful test coverage of business logic.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
applyTo:
|
|
3
|
+
- "**/*.{test,spec}.*"
|
|
4
|
+
- "tests/**"
|
|
5
|
+
- "__tests__/**"
|
|
6
|
+
description: "Testing standards, commands, and conventions."
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Testing Standards
|
|
10
|
+
|
|
11
|
+
Follow the rules defined in [.claude/rules-snippets/testing.md](../rules-snippets/testing.md).
|
|
12
|
+
|
|
13
|
+
Key points:
|
|
14
|
+
- Unit tests: `{{TEST_FILE_PATTERN}}`, integration tests: `{{INTEGRATION_TEST_PATTERN}}`, E2E tests: `{{E2E_TEST_PATTERN}}`.
|
|
15
|
+
- Minimum coverage: {{COVERAGE_THRESHOLD}}.
|
|
16
|
+
- New features require tests before merging.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "src/components/**"
|
|
4
|
+
- "apps/**/components/**"
|
|
5
|
+
- "packages/**/components/**"
|
|
6
|
+
- "**/*.{vue,tsx,jsx,css,scss}"
|
|
7
|
+
description: "UI accessibility and responsive design standards."
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# UI Accessibility
|
|
11
|
+
|
|
12
|
+
Follow the rules defined in [.claude/rules-snippets/ui-accessibility.md](../rules-snippets/ui-accessibility.md).
|
|
13
|
+
|
|
14
|
+
Key points:
|
|
15
|
+
- Develop with a mobile-first approach.
|
|
16
|
+
- Adhere to WCAG 2.1 AA accessibility standards.
|
|
17
|
+
- Use semantic HTML elements and ensure keyboard navigation.
|
|
18
|
+
- Use loading states during async operations.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
applyTo: "**/*"
|
|
3
|
+
description: "Version control and commit conventions."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Version Control
|
|
7
|
+
|
|
8
|
+
Follow the rules defined in [.claude/rules-snippets/version-control.md](../rules-snippets/version-control.md).
|
|
9
|
+
|
|
10
|
+
Key points:
|
|
11
|
+
- Use conventional commit format: `<type>(<scope>): <description>`.
|
|
12
|
+
- Types: feat, fix, docs, refactor, test, chore, style, perf.
|
|
13
|
+
- Include ticket reference when applicable.
|
|
14
|
+
- Follow the PR template for pull requests.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
applyTo: "**/*"
|
|
3
|
+
description: "Anti-patterns and things to avoid."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# What to Avoid
|
|
7
|
+
|
|
8
|
+
Follow the rules defined in [.claude/rules-snippets/what-to-avoid.md](../rules-snippets/what-to-avoid.md).
|
|
9
|
+
|
|
10
|
+
Key points:
|
|
11
|
+
- No deprecated {{FRAMEWORK}} features or global CSS outside {{STYLING}} configuration.
|
|
12
|
+
- No direct DOM manipulation; use framework reactivity.
|
|
13
|
+
- No custom solutions for problems solved by core libraries.
|
|
14
|
+
- No mixing server and client code inappropriately.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Agent Conduct & Interaction Rules
|
|
2
|
+
|
|
3
|
+
## ⚠️ CRITICAL: Orchestration Checkpoint First
|
|
4
|
+
|
|
5
|
+
**BEFORE responding to ANY request with multiple steps (research + planning + implementation + testing + review):**
|
|
6
|
+
|
|
7
|
+
- Read the orchestration checkpoint in [AGENTS.md](../../AGENTS.md#-critical-orchestration-checkpoint-read-first) and [subagent-workflow.md](./subagent-workflow.md#-before-starting-orchestration-checkpoint)
|
|
8
|
+
- Determine if this task requires a coordinator agent (Feature Builder, TDD) or can be single-agent work
|
|
9
|
+
- If multi-step work, document why you're using orchestrator-first in your response before proceeding
|
|
10
|
+
|
|
11
|
+
This applies to ANY task that involves 2+ of: research, planning, implementation, testing, validation, code review.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Clarification & Assumption Handling
|
|
16
|
+
|
|
17
|
+
**CRITICAL**: Before making assumptions or proceeding with ambiguous requirements, agents MUST proactively ask the user for clarification. This applies to:
|
|
18
|
+
|
|
19
|
+
- **Ambiguous requirements**: If a task description is vague, incomplete, or could be interpreted multiple ways, ask the user to clarify before proceeding.
|
|
20
|
+
- **Architecture decisions**: When multiple valid approaches exist (e.g., adding a new service vs. extending an existing one), present options and ask for the user's preference.
|
|
21
|
+
- **Data model changes**: Before adding/modifying database columns, relationships, or entities, confirm the intended schema with the user.
|
|
22
|
+
- **Breaking changes**: If an implementation could break existing functionality, API contracts, or database compatibility, flag it and ask before proceeding.
|
|
23
|
+
- **Scope uncertainty**: If unsure whether a feature should be minimal (MVP) or comprehensive, ask about the desired scope.
|
|
24
|
+
- **External dependencies**: When a task requires secrets, third-party services, or infrastructure not yet configured, ask the user before assuming.
|
|
25
|
+
- **Domain-specific decisions**: Sensitive UX choices or domain-specific behavior should be confirmed with the user first.
|
|
26
|
+
|
|
27
|
+
## How to Ask for Clarification
|
|
28
|
+
|
|
29
|
+
- Be specific about what is unclear and why it matters
|
|
30
|
+
- Offer 2-3 concrete options when possible (with a recommended default)
|
|
31
|
+
- Explain the trade-offs of each option briefly
|
|
32
|
+
- If there is a clearly best practice, recommend it but still confirm
|
|
33
|
+
|
|
34
|
+
### Example
|
|
35
|
+
|
|
36
|
+
> "This endpoint could return paginated results or the full list. Given the expected data volume, I'd recommend pagination with a default page size of 20. Should I proceed with that approach, or do you prefer returning all results?"
|
|
37
|
+
|
|
38
|
+
## Decision Documentation
|
|
39
|
+
|
|
40
|
+
When a clarification is resolved:
|
|
41
|
+
|
|
42
|
+
1. **Record the decision** in a code comment or relevant documentation
|
|
43
|
+
2. **Reference the rationale** so future agents/developers understand why
|
|
44
|
+
3. **Update specs/plans** if the decision changes the original scope
|
|
45
|
+
|
|
46
|
+
## Guardrails
|
|
47
|
+
|
|
48
|
+
- **Never silently change** database schemas, API contracts, or auth flows without confirmation
|
|
49
|
+
- **Never assume scope** — if a task says "add search," ask whether it means basic text search, full-text search, or filter/facet search
|
|
50
|
+
- **Never skip tests** for assumed-correct behavior — confirm expectations first
|
|
51
|
+
- **Prefer reversible changes** when acting without full clarity
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Coding Standards
|
|
2
|
+
|
|
3
|
+
## Primary Pattern: {{PRIMARY_PATTERN_NAME}}
|
|
4
|
+
|
|
5
|
+
```{{FILE_EXTENSION}}
|
|
6
|
+
{{PRIMARY_PATTERN_EXAMPLE}}
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
**Rules:**
|
|
10
|
+
|
|
11
|
+
- {{CODING_RULE_1}}
|
|
12
|
+
- {{CODING_RULE_2}}
|
|
13
|
+
- {{CODING_RULE_3}}
|
|
14
|
+
|
|
15
|
+
## Data Access Pattern
|
|
16
|
+
|
|
17
|
+
```{{FILE_EXTENSION}}
|
|
18
|
+
{{DATA_ACCESS_PATTERN}}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## API / Route Pattern
|
|
22
|
+
|
|
23
|
+
```{{FILE_EXTENSION}}
|
|
24
|
+
{{API_PATTERN}}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Naming Conventions
|
|
28
|
+
|
|
29
|
+
- Files: {{FILE_NAMING_CONVENTION}}
|
|
30
|
+
- Components: {{COMPONENT_NAMING_CONVENTION}}
|
|
31
|
+
- Functions: {{FUNCTION_NAMING_CONVENTION}}
|
|
32
|
+
- Variables: {{VARIABLE_NAMING_CONVENTION}}
|
|
33
|
+
|
|
34
|
+
## Code Quality
|
|
35
|
+
|
|
36
|
+
- Follow {{FRAMEWORK}} and {{LANGUAGE}} best practices
|
|
37
|
+
- Run linting before committing: `{{LINT_COMMAND}}`
|
|
38
|
+
- Format code consistently: `{{FORMAT_COMMAND}}`
|
|
39
|
+
|
|
40
|
+
## SRP and reuse-first principle
|
|
41
|
+
|
|
42
|
+
- **Before implementing new functionality, review existing patterns** in `{{COMPOSABLES_PATH}}`, `{{UTILS_PATH}}`, and `{{HELPERS_PATH}}` for capabilities that already solve the problem.
|
|
43
|
+
- **Prefer extending existing utilities** over creating new ones or duplicating logic inline — a new solution is only warranted when the existing one genuinely cannot accommodate the use case.
|
|
44
|
+
- **Never duplicate state or behavior** that an existing utility already manages (e.g., loading flags, error state, async wrappers). Inline duplication violates SRP and makes behavior inconsistent across the codebase.
|
|
45
|
+
- When in doubt, extend the existing pattern and keep consumers (components, controllers, handlers) thin.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
- {{COMPONENT_STRUCTURE_RULE}}
|
|
2
|
+
- Follow the {{COMPONENT_PATTERN}} pattern for all components.
|
|
3
|
+
- Use clear and descriptive naming for props, events, and methods.
|
|
4
|
+
- Keep logic within components focused and manageable.
|
|
5
|
+
- Add code comments for complex logic or non-obvious implementations.
|
|
6
|
+
- Use bracketed identifiers for logs: `[ComponentName]: message`.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Core Libraries
|
|
2
|
+
|
|
3
|
+
- Use {{UTILITY_LIBRARY}} for common utilities.
|
|
4
|
+
- Use {{STATE_MANAGEMENT}} for state management.
|
|
5
|
+
- Use {{STYLING}} for styling; prefer utility classes over custom CSS.
|
|
6
|
+
- Use {{UI_LIBRARY}} for UI components; check existing components before creating new ones.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
## Apps
|
|
2
|
+
|
|
3
|
+
| App | Platform | Command |
|
|
4
|
+
| ---------------- | ------------------------- | -------------------------- |
|
|
5
|
+
| `{{APP_NAME_1}}` | {{APP_1_DEPLOY_PLATFORM}} | `{{APP_1_DEPLOY_COMMAND}}` |
|
|
6
|
+
| `{{APP_NAME_2}}` | {{APP_2_DEPLOY_PLATFORM}} | `{{APP_2_DEPLOY_COMMAND}}` |
|
|
7
|
+
|
|
8
|
+
## Environment Variables
|
|
9
|
+
|
|
10
|
+
### Root Level
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# .env (shared)
|
|
14
|
+
{{ENVIRONMENT}}={{ENVIRONMENT_VALUE}}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Per-App
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# {{APP_DIR}}/{{APP_NAME_1}}/.env.local
|
|
21
|
+
{{APP_1_ENV_EXAMPLE}}
|
|
22
|
+
|
|
23
|
+
# {{APP_DIR}}/{{APP_NAME_2}}/.env.local
|
|
24
|
+
{{APP_2_ENV_EXAMPLE}}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## CI/CD
|
|
28
|
+
|
|
29
|
+
```yaml
|
|
30
|
+
# .github/workflows/ci.yml (or equivalent)
|
|
31
|
+
{ { CI_WORKFLOW_EXAMPLE } }
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Pre-Deployment Checklist
|
|
35
|
+
|
|
36
|
+
- [ ] All tests pass across workspace
|
|
37
|
+
- [ ] Linting passes
|
|
38
|
+
- [ ] Build completes for all affected apps
|
|
39
|
+
- [ ] Environment variables configured per app
|
|
40
|
+
- [ ] Database migrations applied (if applicable)
|
|
41
|
+
- [ ] Shared package changes tested in all consuming apps
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
This monorepo uses a **distributed documentation strategy** where app-specific documentation lives with each app, and only monorepo-wide concerns are documented at the root level.
|
|
4
|
+
|
|
5
|
+
## Documentation Location Rules
|
|
6
|
+
|
|
7
|
+
### CRITICAL: App-Specific vs Root Documentation
|
|
8
|
+
|
|
9
|
+
**App-specific documentation** must live in respective app folders:
|
|
10
|
+
|
|
11
|
+
- **{{APP_1}} Features** → `apps/{{APP_1}}/docs/features/{{ISSUE_ID}}-{{FEATURE_NAME}}/`
|
|
12
|
+
- **{{APP_2}} Features** → `apps/{{APP_2}}/docs/features/{{ISSUE_ID}}-{{FEATURE_NAME}}/`
|
|
13
|
+
- **{{APP_1}} Fixes** → `apps/{{APP_1}}/docs/fixes/`
|
|
14
|
+
- **{{APP_2}} Fixes** → `apps/{{APP_2}}/docs/fixes/`
|
|
15
|
+
- **Shared Package Features** → `packages/{{PACKAGE_NAME}}/docs/features/`
|
|
16
|
+
- **Shared Package Fixes** → `packages/{{PACKAGE_NAME}}/docs/fixes/`
|
|
17
|
+
|
|
18
|
+
**Root `docs/` folder** is ONLY for monorepo-wide documentation:
|
|
19
|
+
|
|
20
|
+
- Architecture decisions affecting multiple apps (`docs/architecture/`)
|
|
21
|
+
- Deployment pipelines and infrastructure
|
|
22
|
+
- Cross-app integration patterns (`docs/integration/`)
|
|
23
|
+
- General project overview and getting started
|
|
24
|
+
- Monorepo-wide tooling and configuration
|
|
25
|
+
- Developer guides and onboarding (`docs/guides/`)
|
|
26
|
+
- Project constitution (`docs/constitution.md`)
|
|
27
|
+
|
|
28
|
+
### Decision Tree: Where to Document?
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Is this change specific to ONE app or package?
|
|
32
|
+
├── YES → Document in `apps/{{APP_NAME}}/docs/` or `packages/{package}/docs/`
|
|
33
|
+
└── NO → Does it affect multiple apps or the monorepo structure?
|
|
34
|
+
├── YES → Document in root `docs/`
|
|
35
|
+
└── NO → You might be documenting the wrong thing
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Per-App Documentation Obligations
|
|
39
|
+
|
|
40
|
+
These rules apply to **every app** in `apps/*` and **every package** in `packages/*`. The trigger for writing docs is a code change in that app or package, not just feature-level work.
|
|
41
|
+
|
|
42
|
+
| App / Package | Change type | Required doc action |
|
|
43
|
+
| ------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `apps/{{APP_1}}` | New or modified API route / controller | Update `docs/api/` endpoint spec **and** add/update the corresponding page in `apps/{{DOCS_APP}}/content/` |
|
|
45
|
+
| `apps/{{APP_1}}` | New module / service | Add to feature spec (`docs/features/`) and note architectural choices |
|
|
46
|
+
| `apps/{{APP_1}}` | Breaking change (renamed/removed endpoint, changed response shape) | Update `docs/api/`, `apps/{{DOCS_APP}}/content/`, **and** `CHANGELOG.md` |
|
|
47
|
+
| `apps/{{APP_2}}` | New page / UI feature | Update feature spec (`docs/features/`) and add/update page in `apps/{{DOCS_APP}}/content/` if user-facing |
|
|
48
|
+
| `apps/{{APP_2}}` | New route handler or API route | Update relevant feature spec |
|
|
49
|
+
| `apps/{{DOCS_APP}}` | Content-only edits (MDX/MDC, navigation config) | No extra docs required — changes here **are** the documentation update |
|
|
50
|
+
| `packages/*` | New or changed public API | Update `docs/api/` and add/update the relevant page in `apps/{{DOCS_APP}}/content/` |
|
|
51
|
+
|
|
52
|
+
> **Rule of thumb:** If you added or changed a controller, an API route handler, or any function that is callable from another app or external client, you must update both `docs/api/` **and** `apps/{{DOCS_APP}}/content/` before committing.
|
|
53
|
+
|
|
54
|
+
## Docs App (`apps/{{DOCS_APP}}`) Sync Requirements
|
|
55
|
+
|
|
56
|
+
If the monorepo includes a documentation app (e.g., Docus, Nuxt Content, Docusaurus, Nextra, Starlight), the site content **must be updated as part of every commit that changes user-facing behavior**.
|
|
57
|
+
|
|
58
|
+
### When to Update the Docs App
|
|
59
|
+
|
|
60
|
+
| Trigger | Action in `apps/{{DOCS_APP}}/content/` |
|
|
61
|
+
| ----------------------------- | ------------------------------------------------ |
|
|
62
|
+
| New feature shipped | Create or update the relevant documentation page |
|
|
63
|
+
| API endpoint added or changed | Update the API reference page |
|
|
64
|
+
| Breaking change | Add migration guide or update affected pages |
|
|
65
|
+
| Bug fix that changes behavior | Update any page that described the old behavior |
|
|
66
|
+
| New shared package public API | Add or update the package reference page |
|
|
67
|
+
| UI component added | Add usage examples page if user-facing |
|
|
68
|
+
| Configuration change | Update setup / configuration pages |
|
|
69
|
+
|
|
70
|
+
### What Does NOT Require a Docs App Update
|
|
71
|
+
|
|
72
|
+
- Internal refactors with no behavior change
|
|
73
|
+
- CI/CD pipeline changes (unless they affect developer setup)
|
|
74
|
+
- Test-only changes
|
|
75
|
+
- Dependency updates with no API changes
|
|
76
|
+
- Content edits within `apps/{{DOCS_APP}}` itself (these are the docs)
|
|
77
|
+
|
|
78
|
+
## App-Specific Documentation
|
|
79
|
+
|
|
80
|
+
### Feature Documentation Structure
|
|
81
|
+
|
|
82
|
+
Each app maintains its own feature documentation:
|
|
83
|
+
|
|
84
|
+
**Location:** `apps/{{APP_NAME}}/docs/features/{{ISSUE_ID}}-{{FEATURE_NAME}}/`
|
|
85
|
+
|
|
86
|
+
**Required Files:**
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
apps/{{APP_1}}/docs/features/{{ISSUE_ID}}-{{FEATURE_NAME}}/
|
|
90
|
+
├── spec.md # Functional specification
|
|
91
|
+
├── plan.md # Implementation plan
|
|
92
|
+
└── [optional] # Code examples, component diagrams
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Fix & Bug Documentation
|
|
96
|
+
|
|
97
|
+
**App-specific fixes follow a tiered structure:**
|
|
98
|
+
|
|
99
|
+
#### Decision Tree
|
|
100
|
+
|
|
101
|
+
**Before creating any fix documentation, ask:**
|
|
102
|
+
|
|
103
|
+
1. **Is this a complex fix?** (multi-file, architectural changes, affects multiple features)
|
|
104
|
+
- ✅ YES → Create folder `apps/{{APP_NAME}}/docs/fixes/{{ISSUE_ID}}-{{FIX_NAME}}/` with `spec.md` + `plan.md`
|
|
105
|
+
- ❌ NO → Add entry to `apps/{{APP_NAME}}/docs/fixes/{{YYYY-MM}}.md` (monthly log)
|
|
106
|
+
|
|
107
|
+
2. **Does the monthly log for this month exist?**
|
|
108
|
+
- ❌ NO → Create it first using the template below
|
|
109
|
+
- ✅ YES → Add your fix as a new section
|
|
110
|
+
|
|
111
|
+
**⚠️ CRITICAL: Do NOT create individual `.md` files for simple fixes!**
|
|
112
|
+
|
|
113
|
+
## Root-Level Documentation
|
|
114
|
+
|
|
115
|
+
### When to Use Root `docs/`
|
|
116
|
+
|
|
117
|
+
Create root-level documentation for:
|
|
118
|
+
|
|
119
|
+
1. **Architecture Decisions** affecting multiple apps
|
|
120
|
+
2. **Deployment & Infrastructure** (CI/CD, hosting, environments)
|
|
121
|
+
3. **Cross-App Integration** patterns and contracts
|
|
122
|
+
4. **Monorepo Tooling** (Turborepo, workspace management)
|
|
123
|
+
5. **Getting Started** guides for new developers
|
|
124
|
+
6. **Project Overview** and high-level architecture
|
|
125
|
+
|
|
126
|
+
### Architecture Decision Records (ADRs)
|
|
127
|
+
|
|
128
|
+
**Location:** `docs/architecture/{{NNNN}}-{{DECISION_TITLE}}.md`
|
|
129
|
+
|
|
130
|
+
**When to Create Root ADRs:**
|
|
131
|
+
|
|
132
|
+
- Choosing monorepo structure
|
|
133
|
+
- Selecting build system (Turborepo, Nx, etc.)
|
|
134
|
+
- API gateway vs direct app communication
|
|
135
|
+
- Shared package strategy
|
|
136
|
+
- Cross-app authentication approach
|
|
137
|
+
- Deployment platform decisions
|
|
138
|
+
|
|
139
|
+
## Changelog Management
|
|
140
|
+
|
|
141
|
+
### App-Specific Changelogs
|
|
142
|
+
|
|
143
|
+
Each app maintains its own `CHANGELOG.md`:
|
|
144
|
+
|
|
145
|
+
**Location:** `apps/{{APP_NAME}}/CHANGELOG.md`
|
|
146
|
+
|
|
147
|
+
### Root Changelog
|
|
148
|
+
|
|
149
|
+
**Location:** `CHANGELOG.md` (root)
|
|
150
|
+
|
|
151
|
+
Tracks monorepo-wide changes.
|
|
152
|
+
|
|
153
|
+
## Pre-Commit Documentation Gate
|
|
154
|
+
|
|
155
|
+
**⚠️ MANDATORY: Documentation MUST be written or updated BEFORE committing code. This is a hard requirement — no commit should land without the corresponding docs entry.**
|
|
156
|
+
|
|
157
|
+
### Pre-Commit Checklist
|
|
158
|
+
|
|
159
|
+
Before running `git commit`, verify ALL items that apply to your change:
|
|
160
|
+
|
|
161
|
+
**All changes:**
|
|
162
|
+
|
|
163
|
+
- [ ] **Features**: `docs/features/{{ISSUE_ID}}-{{FEATURE_NAME}}/spec.md` exists and reflects the current implementation
|
|
164
|
+
- [ ] **Features**: `docs/features/{{ISSUE_ID}}-{{FEATURE_NAME}}/plan.md` is updated if scope changed
|
|
165
|
+
- [ ] **Fixes**: Entry added to `apps/{{APP_NAME}}/docs/fixes/{{YYYY-MM}}.md` (or complex fix folder created)
|
|
166
|
+
- [ ] **Breaking changes**: `CHANGELOG.md` updated
|
|
167
|
+
- [ ] **Architectural decisions**: ADR created in `docs/architecture/` if a significant choice was made
|
|
168
|
+
|
|
169
|
+
**App changes (API routes, controllers, services):**
|
|
170
|
+
|
|
171
|
+
- [ ] New or modified endpoints documented in `docs/api/`
|
|
172
|
+
- [ ] Corresponding `apps/{{DOCS_APP}}/content/` page created or updated
|
|
173
|
+
- [ ] Removed or renamed endpoints noted as breaking changes
|
|
174
|
+
- [ ] New modules/services referenced in the relevant feature spec
|
|
175
|
+
|
|
176
|
+
**Frontend app changes (pages, UI features):**
|
|
177
|
+
|
|
178
|
+
- [ ] New route handlers documented in the relevant feature spec under `docs/features/`
|
|
179
|
+
- [ ] Any public-facing features have a corresponding `apps/{{DOCS_APP}}/content/` page created or updated
|
|
180
|
+
|
|
181
|
+
**`packages/*` changes:**
|
|
182
|
+
|
|
183
|
+
- [ ] New or changed public exports documented in `docs/api/` or the relevant feature spec
|
|
184
|
+
- [ ] `apps/{{DOCS_APP}}/content/` updated if the change is developer-facing
|
|
185
|
+
|
|
186
|
+
If any applicable item is missing, **write the documentation first, then commit**.
|
|
187
|
+
|
|
188
|
+
## Best Practices
|
|
189
|
+
|
|
190
|
+
### Do
|
|
191
|
+
|
|
192
|
+
- ✅ Keep app-specific docs with app code
|
|
193
|
+
- ✅ Use root docs only for cross-cutting concerns
|
|
194
|
+
- ✅ Link between related docs across apps
|
|
195
|
+
- ✅ Maintain separate changelogs per app
|
|
196
|
+
- ✅ Document API contracts explicitly
|
|
197
|
+
- ✅ Update all affected app docs for shared changes
|
|
198
|
+
- ✅ Update `apps/{{DOCS_APP}}/content/` with every user-facing change
|
|
199
|
+
- ✅ Keep docs app navigation in sync when adding new pages
|
|
200
|
+
|
|
201
|
+
### Don't
|
|
202
|
+
|
|
203
|
+
- ❌ Put app-specific features in root docs
|
|
204
|
+
- ❌ Duplicate documentation across apps
|
|
205
|
+
- ❌ Create individual fix files for simple bugs
|
|
206
|
+
- ❌ Forget to update API contract docs
|
|
207
|
+
- ❌ Mix app-specific and monorepo concerns
|
|
208
|
+
- ❌ Let cross-app integration docs become stale
|
|
209
|
+
- ❌ Commit feature code without updating the docs app
|
|
210
|
+
- ❌ Duplicate internal specs into the docs app verbatim — distill user-facing content instead
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Monorepo Logging Standards
|
|
2
|
+
|
|
3
|
+
## Format
|
|
4
|
+
|
|
5
|
+
Always include app or package context:
|
|
6
|
+
|
|
7
|
+
```{{FILE_EXTENSION}}
|
|
8
|
+
// App logs
|
|
9
|
+
console.log('[App:{{APP_1}}] [Source]: Message | details');
|
|
10
|
+
|
|
11
|
+
// Package logs
|
|
12
|
+
console.error('[Pkg:{{PACKAGE_1}}] [Service]: Error | context');
|
|
13
|
+
|
|
14
|
+
// Bad - no context
|
|
15
|
+
console.log('message');
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Log Levels
|
|
19
|
+
|
|
20
|
+
- **error**: Critical failures (database, API, cross-app calls)
|
|
21
|
+
- **warn**: Non-critical issues (deprecations, version mismatches)
|
|
22
|
+
- **info**: Significant events (startup, cross-app communication)
|
|
23
|
+
- **debug**: Diagnostic details (cross-package calls, state)
|
|
24
|
+
|
|
25
|
+
## Monorepo Best Practices
|
|
26
|
+
|
|
27
|
+
✅ Always prefix with `[App:name]` or `[Pkg:name]`
|
|
28
|
+
✅ Use correlation IDs for cross-app requests
|
|
29
|
+
✅ Log all inter-app communication
|
|
30
|
+
✅ Include package versions on init
|
|
31
|
+
✅ Centralize logging in shared package
|
|
32
|
+
✅ Sanitize sensitive data
|
|
33
|
+
|
|
34
|
+
❌ Don't log without app/package context
|
|
35
|
+
❌ Don't mix log formats across apps
|
|
36
|
+
❌ Don't log passwords/tokens
|
|
37
|
+
❌ Don't log in tight loops
|
|
38
|
+
|
|
39
|
+
## Cross-App Tracing
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
// Generate correlation ID in {{APP_1}}
|
|
43
|
+
const correlationId = generateId();
|
|
44
|
+
|
|
45
|
+
// Pass to {{APP_2}}
|
|
46
|
+
await fetch("{{APP_2}}/api", {
|
|
47
|
+
headers: { "X-Correlation-ID": correlationId },
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
// Log everywhere
|
|
51
|
+
console.info("[App:{{APP_1}}]: Request | correlationId:", correlationId);
|
|
52
|
+
console.info("[Pkg:{{PACKAGE_1}}]: Processing | correlationId:", correlationId);
|
|
53
|
+
console.info("[App:{{APP_2}}]: Received | correlationId:", correlationId);
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Shared Logger
|
|
57
|
+
|
|
58
|
+
Create `packages/{{PACKAGE_LOGGING}}`:
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
export const createLogger = (appOrPackageName: string) => ({
|
|
62
|
+
error: (source, operation, error, context) => {
|
|
63
|
+
const prefix = appOrPackageName.startsWith("@")
|
|
64
|
+
? `[Pkg:${appOrPackageName}]`
|
|
65
|
+
: `[App:${appOrPackageName}]`;
|
|
66
|
+
console.error(`${prefix} [${source}] [${operation}]: ${error.message}`, {
|
|
67
|
+
error,
|
|
68
|
+
...context,
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
// ... other methods
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// Usage
|
|
75
|
+
import { createLogger } from "@{{PROJECT_NAME}}/{{PACKAGE_LOGGING}}";
|
|
76
|
+
const logger = createLogger("{{APP_1}}");
|
|
77
|
+
logger.error("Service", "operation", error, { userId });
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Sensitive Data
|
|
81
|
+
|
|
82
|
+
Never log:
|
|
83
|
+
|
|
84
|
+
- Passwords/API keys
|
|
85
|
+
- Tokens/certificates
|
|
86
|
+
- Credit card/SSN
|
|
87
|
+
- Session cookies
|
|
88
|
+
- Internal credentials
|
|
89
|
+
|
|
90
|
+
Sanitize:
|
|
91
|
+
|
|
92
|
+
```javascript
|
|
93
|
+
const sanitized = {
|
|
94
|
+
...data,
|
|
95
|
+
password: undefined,
|
|
96
|
+
cardNumber: "****" + data.cardNumber?.slice(-4),
|
|
97
|
+
};
|
|
98
|
+
console.log("[App:{{APP_1}}] [Service]: Data", sanitized);
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Production
|
|
102
|
+
|
|
103
|
+
- Use shared logging package
|
|
104
|
+
- Add correlation IDs
|
|
105
|
+
- Per-app log levels
|
|
106
|
+
- Centralize with tags (Datadog, Sentry)
|
|
107
|
+
- Track cross-app metrics
|