@next-friday/create-app 9.2.1 → 9.3.1
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/README.md +1 -1
- package/package.json +1 -1
- package/templates/base/.agents/review.md +1 -1
- package/templates/base/.claude/settings.json +11 -0
- package/templates/base/.claude-plugin/marketplace.json +16 -0
- package/templates/base/.cursor/hooks/load-project-plugins.sh +3 -0
- package/templates/base/.cursor/hooks.json +6 -0
- package/templates/base/.github/workflows/control-band.yml +4 -2
- package/templates/base/.github/workflows/spec-on-intent-merge.yml +2 -1
- package/templates/base/REVIEW.md +1 -1
- package/templates/base/SETUP.md +13 -11
- package/templates/base/intent/README.md +1 -1
- package/templates/base/plugins/sdlc/claude-code/.claude-plugin/plugin.json +7 -0
- package/templates/base/plugins/sdlc/claude-code/agents/verifier.md +7 -0
- package/templates/base/plugins/sdlc/claude-code/hooks/check-reply-shape.sh +53 -0
- package/templates/base/plugins/sdlc/claude-code/hooks/hooks.json +15 -0
- package/templates/base/{.agents → plugins/sdlc/claude-code}/skills/brand-policy/SKILL.md +1 -3
- package/templates/base/{.agents → plugins/sdlc/claude-code}/skills/compliance-policy/SKILL.md +0 -2
- package/templates/base/plugins/sdlc/claude-code/skills/sdlc-help/SKILL.md +23 -0
- package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/SKILL.md +22 -11
- package/templates/base/plugins/sdlc/claude-code/skills/sdlc-mode/playbooks/build.md +46 -0
- package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/deploy.md +4 -4
- package/templates/base/{.claude/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/design.md +7 -7
- package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/fix.md +7 -7
- package/templates/base/{.agents/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/maintain.md +6 -8
- package/templates/base/plugins/sdlc/claude-code/skills/sdlc-mode/playbooks/open-pr.md +17 -0
- package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/plan.md +5 -5
- package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/question.md +2 -2
- package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/review.md +7 -8
- package/templates/base/{.claude → plugins/sdlc/claude-code}/skills/security-policy/SKILL.md +0 -2
- package/templates/base/plugins/sdlc/claude-code/skills/setup-sdlc/SKILL.md +51 -0
- package/templates/base/{.agents → plugins/sdlc/claude-code}/skills/ux-policy/SKILL.md +0 -2
- package/templates/base/plugins/sdlc/cursor/.cursor-plugin/plugin.json +10 -0
- package/templates/base/plugins/sdlc/cursor/agents/verifier.md +7 -0
- package/templates/base/plugins/sdlc/cursor/hooks/check-reply-shape.sh +53 -0
- package/templates/base/plugins/sdlc/cursor/hooks/hooks.json +16 -0
- package/templates/base/{.cursor → plugins/sdlc/cursor}/skills/brand-policy/SKILL.md +1 -3
- package/templates/base/{.claude → plugins/sdlc/cursor}/skills/compliance-policy/SKILL.md +0 -2
- package/templates/base/plugins/sdlc/cursor/skills/sdlc-help/SKILL.md +23 -0
- package/templates/base/{.claude/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/SKILL.md +22 -11
- package/templates/base/plugins/sdlc/cursor/skills/sdlc-mode/playbooks/build.md +46 -0
- package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/deploy.md +4 -4
- package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/design.md +7 -7
- package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/fix.md +7 -7
- package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/maintain.md +6 -8
- package/templates/base/plugins/sdlc/cursor/skills/sdlc-mode/playbooks/open-pr.md +17 -0
- package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/plan.md +5 -5
- package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/question.md +2 -2
- package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/review.md +7 -8
- package/templates/base/{.agents → plugins/sdlc/cursor}/skills/security-policy/SKILL.md +0 -2
- package/templates/base/plugins/sdlc/cursor/skills/setup-sdlc/SKILL.md +51 -0
- package/templates/base/{.claude → plugins/sdlc/cursor}/skills/ux-policy/SKILL.md +0 -2
- package/templates/base/scripts/check-plan.ts +1 -1
- package/templates/base/scripts/sync-agent-rules.ts +0 -58
- package/templates/nestjs/AGENTS.md +5 -3
- package/templates/nestjs/CONTRIBUTING.md +0 -1
- package/templates/nestjs/package.json +0 -1
- package/templates/nextjs/AGENTS.md +5 -3
- package/templates/nextjs/CONTRIBUTING.md +0 -1
- package/templates/nextjs/package.json +0 -1
- package/templates/nodejs/AGENTS.md +5 -3
- package/templates/nodejs/CONTRIBUTING.md +0 -1
- package/templates/nodejs/package.json +0 -1
- package/templates/payload/.agents/review.md +1 -1
- package/templates/payload/AGENTS.md +5 -3
- package/templates/payload/CONTRIBUTING.md +0 -1
- package/templates/payload/REVIEW.md +1 -1
- package/templates/payload/package.json +0 -1
- package/templates/turborepo/.agents/review.md +1 -1
- package/templates/turborepo/AGENTS.md +5 -3
- package/templates/turborepo/CONTRIBUTING.md +0 -1
- package/templates/turborepo/REVIEW.md +1 -1
- package/templates/turborepo/package.json +0 -1
- package/templates/base/.agents/agents.json +0 -7
- package/templates/base/.agents/skill-evals/README.md +0 -42
- package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/case.yaml +0 -11
- package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/01-the-reply-explains-why-pnpm.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/02-no-file-in-the-project.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/03-no-commit-is-made-nothing.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/05-every-path-in-the-reply.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/06-everything-the-reply-states-as.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/case.yaml +0 -11
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/01-work-happens-on-the-plan-branch.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/02-the-plan-is-implemented-and-checked.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/03-the-branch-is-pushed.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/04-the-reply-lists-three-playbooks.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/05-no-approval-and-no-merge.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/06-the-reply-ends-at-the-code-owner.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/07-the-plan-names-the-engineer.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/case.yaml +0 -70
- package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/01-the-reply-asks-numbered-questions.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/02-no-plan-before-the-answers.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/03-no-question-depends-on-another.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/04-no-file-or-commit.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/case.yaml +0 -67
- package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/01-the-plan-has-the-four-headings.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/02-no-source-file-or-commit.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/03-the-reply-names-the-gate.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/prompt.md +0 -10
- package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/case.yaml +0 -7
- package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/graders/01-no-deployment-is-started.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/graders/02-the-reply-names-the-release-manager-gate.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/graders/03-the-reply-says-what-it-could-not-read.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/case.yaml +0 -12
- package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/01-a-file-intentkebabcasenameintentmd-exists-with.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/02-the-reply-shows-the-draft.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/03-no-commit-is-made-nothing.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/04-reply-lists-the-playbook-steps.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/06-every-path-in-the-reply.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/07-the-drafts-open-questions-section.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/prompt.md +0 -10
- package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/case.yaml +0 -33
- package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/01-the-reply-shows-the-reproduction-output.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/02-the-reply-names-one-cause-with-evidence.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/03-the-plan-has-the-four-headings.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/04-no-file-or-commit.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/05-the-reply-names-the-gate.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/case.yaml +0 -11
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/01-the-first-message-restates-the.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/02-the-reply-asks-numbered-questions.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/03-no-intentmd-is-written-before.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/04-reply-lists-the-playbook-steps.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/05-no-commit-is-made-nothing.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/07-every-path-in-the-reply.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/08-no-question-in-the-round.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/case.yaml +0 -14
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/01-the-intent-has-the-five-headings.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/02-problem-holds-the-error-and-where.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/03-unverified-cause-is-an-open-question.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/04-no-source-file-is-changed.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/05-a-branch-is-pushed-and-the-gate-is-named.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/06-the-person-is-asked-no-question.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/case.yaml +0 -11
- package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/01-the-reply-follows-the-plan.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/02-the-reply-does-not-tell.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/03-no-file-is-created-or.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/05-every-path-in-the-reply.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/case.yaml +0 -10
- package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/graders/01-no-file-is-written-and-nothing-is-committed.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/graders/02-the-reply-names-the-closest-row.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/graders/03-the-reply-is-short.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/case.yaml +0 -79
- package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/01-findings-have-pass-severity-and-location.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/02-no-approval-and-no-merge.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/03-the-reply-names-the-code-owner-gate.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/04-nothing-is-pushed-or-changed.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/05-the-review-runs-in-a-fresh-context.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/case.yaml +0 -41
- package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/01-no-spec-is-written.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/02-no-commit-is-made.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/03-the-reply-says-not-merged.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/05-the-reply-is-short.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/case.yaml +0 -11
- package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/01-no-intentmd-or-any-other.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/02-no-commit-is-made-nothing.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/04-every-path-in-the-reply.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/05-the-reply-says-that-work.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/case.yaml +0 -41
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/fixture.md +0 -1
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/01-the-spec-has-the-five-headings.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/02-policies-has-one-line-per-policy.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/03-no-policy-is-called-unwritten.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/04-a-branch-is-pushed-for-review.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/05-the-reply-names-the-gate.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/07-no-merge-is-made.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/08-the-four-policies-are-read-before-writing.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/case.yaml +0 -10
- package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/01-the-reply-says-that-work.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/02-the-reply-gives-one-example.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/03-the-reply-lists-the-project.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/04-no-file-is-created-or.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/06-every-path-in-the-reply.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/case.yaml +0 -9
- package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/01-the-reply-says-that-this.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/02-the-reply-does-not-describe.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/03-no-file-is-created-or.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/05-every-path-in-the-reply.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/prompt.md +0 -8
- package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/case.yaml +0 -10
- package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/01-the-reply-says-to-send.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/02-no-file-is-created-or.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/04-every-path-in-the-reply.md +0 -7
- package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/prompt.md +0 -8
- package/templates/base/.agents/skills/sdlc/SKILL.md +0 -54
- package/templates/base/.agents/skills/sdlc/playbooks/build.md +0 -46
- package/templates/base/.agents/skills/sdlc/playbooks/design.md +0 -40
- package/templates/base/.agents/skills/sdlc/playbooks/open-pr.md +0 -15
- package/templates/base/.agents/skills/sdlc-help/SKILL.md +0 -23
- package/templates/base/.claude/skills/brand-policy/SKILL.md +0 -18
- package/templates/base/.claude/skills/sdlc/playbooks/build.md +0 -46
- package/templates/base/.claude/skills/sdlc/playbooks/deploy.md +0 -9
- package/templates/base/.claude/skills/sdlc/playbooks/fix.md +0 -23
- package/templates/base/.claude/skills/sdlc/playbooks/maintain.md +0 -20
- package/templates/base/.claude/skills/sdlc/playbooks/open-pr.md +0 -15
- package/templates/base/.claude/skills/sdlc/playbooks/plan.md +0 -33
- package/templates/base/.claude/skills/sdlc/playbooks/question.md +0 -8
- package/templates/base/.claude/skills/sdlc/playbooks/review.md +0 -17
- package/templates/base/.claude/skills/sdlc-help/SKILL.md +0 -23
- package/templates/base/.cursor/BUGBOT.md +0 -23
- package/templates/base/.cursor/skills/compliance-policy/SKILL.md +0 -25
- package/templates/base/.cursor/skills/sdlc/playbooks/build.md +0 -46
- package/templates/base/.cursor/skills/sdlc/playbooks/open-pr.md +0 -15
- package/templates/base/.cursor/skills/sdlc-help/SKILL.md +0 -23
- package/templates/base/.cursor/skills/security-policy/SKILL.md +0 -41
- package/templates/base/.cursor/skills/ux-policy/SKILL.md +0 -21
- package/templates/base/.github/workflows/agent-evals.yml +0 -46
- package/templates/base/scripts/run-agent-evals.ts +0 -1197
- package/templates/nestjs/.agents/agents/verifier.md +0 -1
- package/templates/nestjs/.claude/agents/verifier.md +0 -7
- package/templates/nestjs/.cursor/agents/verifier.md +0 -7
- package/templates/nextjs/.agents/agents/verifier.md +0 -1
- package/templates/nextjs/.claude/agents/verifier.md +0 -7
- package/templates/nextjs/.cursor/agents/verifier.md +0 -7
- package/templates/nodejs/.agents/agents/verifier.md +0 -1
- package/templates/nodejs/.claude/agents/verifier.md +0 -7
- package/templates/nodejs/.cursor/agents/verifier.md +0 -7
- package/templates/payload/.agents/agents/verifier.md +0 -1
- package/templates/payload/.claude/agents/verifier.md +0 -7
- package/templates/payload/.cursor/agents/verifier.md +0 -7
- package/templates/turborepo/.agents/agents/verifier.md +0 -1
- package/templates/turborepo/.claude/agents/verifier.md +0 -7
- package/templates/turborepo/.cursor/agents/verifier.md +0 -7
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
schema_version: "1.1"
|
|
2
|
-
name: interviews-before-writing-intent
|
|
3
|
-
expected_outcome: |
|
|
4
|
-
The agent restates the goal, picks the plan playbook, and asks numbered questions that each carry a recommended answer. It writes no intent yet.
|
|
5
|
-
timeout_seconds: 600
|
|
6
|
-
checks:
|
|
7
|
-
- reply_matches: '^\s*(?:\*\*)?1[.)]'
|
|
8
|
-
- reply_matches: '^\s*(?:\*\*)?2[.)]'
|
|
9
|
-
- no_new_commits
|
|
10
|
-
- no_new_branch
|
|
11
|
-
- reply_lacks: '(?:^|[\s`("''])/(?:home|tmp|root|Users|var|private)/'
|
package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/case.yaml
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
schema_version: "1.1"
|
|
2
|
-
name: maintain-writes-intent-from-a-finding
|
|
3
|
-
expected_outcome: |
|
|
4
|
-
A job reports that GET /health answers 500 and no person is available. The agent follows the maintain playbook: it diagnoses without changing a source file, writes intent/<change>/intent.md from the template with the error text and where it was seen under Problem, puts an unverified cause under Open questions, pushes a branch, and names the service owner's gate. It asks the person no question.
|
|
5
|
-
timeout_seconds: 900
|
|
6
|
-
checks:
|
|
7
|
-
- file_matches:
|
|
8
|
-
path: intent/*/intent.md
|
|
9
|
-
regex: 'Cannot read properties of undefined \(reading .status.\)'
|
|
10
|
-
- file_matches:
|
|
11
|
-
path: intent/*/intent.md
|
|
12
|
-
regex: '(?=[\s\S]*^## Problem$)(?=[\s\S]*^## Proposed outcome$)(?=[\s\S]*^## Affected users and systems$)(?=[\s\S]*^## Constraints$)(?=[\s\S]*^## Open questions$)'
|
|
13
|
-
- commit_touches_only: "intent/**"
|
|
14
|
-
- branch_matches: "^(?!main$).+"
|
package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/fixture.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
A generated NestJS project with a local `origin`; `src/health/health.controller.ts` exists. The finding is the job's claim, and the project holds no seeded fault. No person is available to answer questions.
|
package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/prompt.md
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
tags: [skill-creator]
|
|
3
|
-
max_turns: 30
|
|
4
|
-
timeout_seconds: 900
|
|
5
|
-
allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
/sdlc an automated check found that GET /health answers 500 every time since the latest commit. log: "TypeError: Cannot read properties of undefined (reading 'status')" at src/health/health.controller.ts. Nobody is available to ask.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
schema_version: "1.1"
|
|
2
|
-
name: reported-problem-starts-the-plan
|
|
3
|
-
expected_outcome: |
|
|
4
|
-
The message reports a problem through /sdlc without asking a question. The agent follows the plan playbook: it lists the steps and asks its first round. It does not tell the person to send /sdlc again.
|
|
5
|
-
timeout_seconds: 600
|
|
6
|
-
checks:
|
|
7
|
-
- reply_matches: '^\s*(?:\*\*)?1[.)]'
|
|
8
|
-
- reply_lacks: '(?<!skills)/sdlc(?![\w/-])'
|
|
9
|
-
- no_file_changes
|
|
10
|
-
- no_new_commits
|
|
11
|
-
- reply_lacks: '(?:^|[\s`("''])/(?:home|tmp|root|Users|var|private)/'
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
schema_version: "1.1"
|
|
2
|
-
name: request-that-fits-no-row
|
|
3
|
-
expected_outcome: |
|
|
4
|
-
The request matches no row of the /sdlc table. The agent says which row is closest and why it does not fit, answers in a few lines, and stops. It writes no file and commits nothing.
|
|
5
|
-
timeout_seconds: 300
|
|
6
|
-
fixture:
|
|
7
|
-
- bare_remote: origin
|
|
8
|
-
checks:
|
|
9
|
-
- no_file_changes
|
|
10
|
-
- no_new_commits
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
A generated project with a local `origin`.
|
package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/case.yaml
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
schema_version: "1.1"
|
|
2
|
-
name: review-reports-findings-and-never-merges
|
|
3
|
-
expected_outcome: |
|
|
4
|
-
The branch feat/app-version holds a change with one bug. The agent follows the review playbook: it reviews the diff with a fresh context, reports the finding with its pass, severity, and path:line, and stops at the gate for the code owner. It neither approves nor merges.
|
|
5
|
-
timeout_seconds: 1200
|
|
6
|
-
fixture:
|
|
7
|
-
- write:
|
|
8
|
-
path: intent/app-version/intent.md
|
|
9
|
-
content: |
|
|
10
|
-
# Intent: app version endpoint
|
|
11
|
-
|
|
12
|
-
Author: Joe (Developer Productivity). Status: accepted.
|
|
13
|
-
|
|
14
|
-
## Problem
|
|
15
|
-
|
|
16
|
-
Support cannot tell which version of the service a customer reaches. Each ticket about a regression starts with a question about the version, about ten times a week (count from the support queue).
|
|
17
|
-
|
|
18
|
-
## Proposed outcome
|
|
19
|
-
|
|
20
|
-
A caller sees the running version at `GET /version`. Out of scope: build metadata.
|
|
21
|
-
|
|
22
|
-
## Affected users and systems
|
|
23
|
-
|
|
24
|
-
Support engineers and the service's HTTP API.
|
|
25
|
-
|
|
26
|
-
## Constraints
|
|
27
|
-
|
|
28
|
-
No authentication change.
|
|
29
|
-
|
|
30
|
-
## Open questions
|
|
31
|
-
|
|
32
|
-
None
|
|
33
|
-
- write:
|
|
34
|
-
path: intent/app-version/spec.md
|
|
35
|
-
content: |
|
|
36
|
-
# Spec: app version endpoint
|
|
37
|
-
|
|
38
|
-
From `intent/app-version/intent.md`. Status: accepted.
|
|
39
|
-
|
|
40
|
-
Request: "add a version endpoint". Skills at `0000000`.
|
|
41
|
-
|
|
42
|
-
## Requirements
|
|
43
|
-
|
|
44
|
-
1. `GET /version` answers 200 with the JSON body `{"version": "<version in package.json>"}` and no other field.
|
|
45
|
-
|
|
46
|
-
## Design
|
|
47
|
-
|
|
48
|
-
`src/version/version.controller.ts` (new) reads the version from `package.json` and returns it.
|
|
49
|
-
|
|
50
|
-
## Policies
|
|
51
|
-
|
|
52
|
-
- Brand: Does not apply, no user-visible text.
|
|
53
|
-
- Security: Does not apply, the endpoint exposes no secret.
|
|
54
|
-
- Compliance: Does not apply, no personal data.
|
|
55
|
-
- UX: Does not apply, no interface.
|
|
56
|
-
|
|
57
|
-
## Areas of concern
|
|
58
|
-
|
|
59
|
-
None
|
|
60
|
-
|
|
61
|
-
## Open questions
|
|
62
|
-
|
|
63
|
-
None
|
|
64
|
-
- commit: "docs: add app-version intent and spec"
|
|
65
|
-
- branch: feat/app-version
|
|
66
|
-
- write:
|
|
67
|
-
path: src/version/version.controller.ts
|
|
68
|
-
content: |
|
|
69
|
-
export function getVersion(): {build: string; version: string} {
|
|
70
|
-
return {build: "local", version: "1.0.0"};
|
|
71
|
-
}
|
|
72
|
-
- commit: "feat: add version controller"
|
|
73
|
-
- checkout: main
|
|
74
|
-
- bare_remote: origin
|
|
75
|
-
checks:
|
|
76
|
-
- reply_matches: '\b(?:Important|Nit)\b'
|
|
77
|
-
- reply_matches: 'src/version/version\.controller\.ts:\d+'
|
|
78
|
-
- no_file_changes
|
|
79
|
-
- no_new_commits
|
package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/fixture.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
The branch `feat/app-version`, which the session did not create, is pushed. Its diff against the default branch contains one bug: `src/version/version.controller.ts` returns a hardcoded version and an extra field, against `intent/app-version/spec.md`. When the session has a pull request host, an open pull request holds that diff.
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
schema_version: "1.1"
|
|
2
|
-
name: spec-for-unmerged-intent-stops
|
|
3
|
-
expected_outcome: |
|
|
4
|
-
The intent intent/dark-mode/intent.md exists only on the branch docs/dark-mode-intent. The agent says in a few lines that the intent is not merged yet, names that branch, and stops. It writes no spec and makes no commit.
|
|
5
|
-
timeout_seconds: 600
|
|
6
|
-
fixture:
|
|
7
|
-
- branch: docs/dark-mode-intent
|
|
8
|
-
- write:
|
|
9
|
-
path: intent/dark-mode/intent.md
|
|
10
|
-
content: |
|
|
11
|
-
# Intent: dark mode
|
|
12
|
-
|
|
13
|
-
Author: Joe (Developer Productivity). Status: draft.
|
|
14
|
-
|
|
15
|
-
## Problem
|
|
16
|
-
|
|
17
|
-
Users who work at night find the white interface tiring.
|
|
18
|
-
|
|
19
|
-
## Proposed outcome
|
|
20
|
-
|
|
21
|
-
A dark theme that follows the system setting.
|
|
22
|
-
|
|
23
|
-
## Affected users and systems
|
|
24
|
-
|
|
25
|
-
All users of the interface.
|
|
26
|
-
|
|
27
|
-
## Constraints
|
|
28
|
-
|
|
29
|
-
None
|
|
30
|
-
|
|
31
|
-
## Open questions
|
|
32
|
-
|
|
33
|
-
None
|
|
34
|
-
- commit: "docs: add dark-mode intent"
|
|
35
|
-
- checkout: main
|
|
36
|
-
- bare_remote: origin
|
|
37
|
-
checks:
|
|
38
|
-
- reply_matches: "docs/dark-mode-intent"
|
|
39
|
-
- no_file_changes
|
|
40
|
-
- no_new_commits
|
|
41
|
-
- no_new_branch
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
`intent/dark-mode/intent.md` exists only on the branch `docs/dark-mode-intent`; the default branch has no `intent/dark-mode/` folder.
|
package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/case.yaml
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
schema_version: "1.1"
|
|
2
|
-
name: statement-without-command-starts-no-work
|
|
3
|
-
expected_outcome: |
|
|
4
|
-
The message is a statement and no command was typed. The agent replies without creating an intent, a file, or a commit.
|
|
5
|
-
timeout_seconds: 600
|
|
6
|
-
checks:
|
|
7
|
-
- reply_matches: "/sdlc"
|
|
8
|
-
- no_file_changes
|
|
9
|
-
- no_new_commits
|
|
10
|
-
- no_new_branch
|
|
11
|
-
- reply_lacks: '(?:^|[\s`("''])/(?:home|tmp|root|Users|var|private)/'
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
schema_version: "1.1"
|
|
2
|
-
name: writes-spec-from-merged-intent
|
|
3
|
-
expected_outcome: |
|
|
4
|
-
The intent intent/csv-export/intent.md is merged and has no spec. The agent follows the design playbook: it reads the four policies, writes intent/csv-export/spec.md from the template, pushes a branch, and waits at the gate for the product owner. It does not merge.
|
|
5
|
-
timeout_seconds: 900
|
|
6
|
-
fixture:
|
|
7
|
-
- write:
|
|
8
|
-
path: intent/csv-export/intent.md
|
|
9
|
-
content: |
|
|
10
|
-
# Intent: csv export
|
|
11
|
-
|
|
12
|
-
Author: Joe (Developer Productivity). Status: accepted.
|
|
13
|
-
|
|
14
|
-
## Problem
|
|
15
|
-
|
|
16
|
-
The accounting team of 12 copies the report table into Excel by hand at every month end, about 20 minutes each (figure from the accounting lead).
|
|
17
|
-
|
|
18
|
-
## Proposed outcome
|
|
19
|
-
|
|
20
|
-
One button downloads the open report as a CSV file. Out of scope: PDF and Excel export.
|
|
21
|
-
|
|
22
|
-
## Affected users and systems
|
|
23
|
-
|
|
24
|
-
The accounting team and the report page.
|
|
25
|
-
|
|
26
|
-
## Constraints
|
|
27
|
-
|
|
28
|
-
Report access rights do not change.
|
|
29
|
-
|
|
30
|
-
## Open questions
|
|
31
|
-
|
|
32
|
-
None
|
|
33
|
-
- commit: "docs: add csv-export intent"
|
|
34
|
-
checks:
|
|
35
|
-
- file_exists: intent/csv-export/spec.md
|
|
36
|
-
- file_matches:
|
|
37
|
-
path: intent/csv-export/spec.md
|
|
38
|
-
regex: '(?=[\s\S]*^## Requirements$)(?=[\s\S]*^## Design$)(?=[\s\S]*^## Policies$)(?=[\s\S]*^## Areas of concern$)(?=[\s\S]*^## Open questions$)'
|
|
39
|
-
- commit_touches_only: intent/csv-export/spec.md
|
|
40
|
-
- branch_matches: "^(?!main$).+"
|
|
41
|
-
- reply_lacks: '(?:^|[\s`("''])/(?:home|tmp|root|Users|var|private)/'
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
`intent/csv-export/intent.md` is committed on the default branch, and no `intent/csv-export/spec.md` exists on any branch.
|