@sienklogic/plan-build-run 2.11.0 → 2.12.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/CHANGELOG.md +1102 -220
- package/CLAUDE.md +54 -34
- package/LICENSE +2 -1
- package/README.md +261 -182
- package/agents/pbr-audit.md +266 -0
- package/agents/pbr-codebase-mapper.md +236 -0
- package/agents/pbr-debugger.md +312 -0
- package/agents/pbr-dev-sync.md +220 -0
- package/agents/pbr-executor.md +591 -0
- package/agents/pbr-general.md +191 -0
- package/agents/pbr-integration-checker.md +237 -0
- package/agents/pbr-intel-updater.md +296 -0
- package/agents/pbr-nyquist-auditor.md +252 -0
- package/agents/pbr-plan-checker.md +312 -0
- package/agents/pbr-planner.md +539 -0
- package/agents/pbr-researcher.md +314 -0
- package/agents/pbr-roadmapper.md +346 -0
- package/agents/pbr-synthesizer.md +271 -0
- package/agents/pbr-ui-checker.md +202 -0
- package/agents/pbr-ui-researcher.md +223 -0
- package/agents/pbr-verifier.md +495 -0
- package/bin/install.js +2752 -0
- package/commands/pbr/add-phase.md +75 -0
- package/commands/pbr/add-todo.md +8 -0
- package/commands/pbr/audit-milestone.md +8 -0
- package/commands/pbr/audit.md +5 -0
- package/commands/pbr/autonomous.md +5 -0
- package/commands/pbr/begin.md +5 -0
- package/commands/pbr/build.md +5 -0
- package/commands/pbr/check-todos.md +8 -0
- package/commands/pbr/complete-milestone.md +8 -0
- package/commands/pbr/config.md +5 -0
- package/commands/pbr/continue.md +5 -0
- package/commands/pbr/dashboard.md +5 -0
- package/commands/pbr/debug.md +5 -0
- package/commands/pbr/discuss-phase.md +6 -0
- package/commands/pbr/discuss.md +5 -0
- package/commands/pbr/do.md +5 -0
- package/commands/pbr/execute-phase.md +6 -0
- package/commands/pbr/explore.md +5 -0
- package/commands/pbr/health.md +5 -0
- package/commands/pbr/help.md +5 -0
- package/commands/pbr/import.md +5 -0
- package/commands/pbr/insert-phase.md +65 -0
- package/commands/pbr/intel.md +5 -0
- package/commands/pbr/join-discord.md +11 -0
- package/commands/pbr/list-phase-assumptions.md +69 -0
- package/commands/pbr/map-codebase.md +6 -0
- package/commands/pbr/milestone.md +5 -0
- package/commands/pbr/new-milestone.md +8 -0
- package/commands/pbr/new-project.md +6 -0
- package/commands/pbr/note.md +5 -0
- package/commands/pbr/pause-work.md +5 -0
- package/commands/pbr/pause.md +5 -0
- package/commands/pbr/plan-milestone-gaps.md +7 -0
- package/commands/pbr/plan-phase.md +6 -0
- package/commands/pbr/plan.md +5 -0
- package/commands/pbr/profile-user.md +5 -0
- package/commands/pbr/profile.md +5 -0
- package/commands/pbr/progress.md +6 -0
- package/commands/pbr/quick.md +5 -0
- package/commands/pbr/reapply-patches.md +47 -0
- package/commands/pbr/release.md +6 -0
- package/commands/pbr/remove-phase.md +66 -0
- package/commands/pbr/research-phase.md +59 -0
- package/commands/pbr/resume-work.md +5 -0
- package/commands/pbr/resume.md +5 -0
- package/commands/pbr/review.md +5 -0
- package/commands/pbr/scan.md +5 -0
- package/commands/pbr/session-report.md +5 -0
- package/commands/pbr/set-profile.md +6 -0
- package/commands/pbr/settings.md +5 -0
- package/commands/pbr/setup.md +5 -0
- package/commands/pbr/ship.md +5 -0
- package/commands/pbr/status.md +5 -0
- package/commands/pbr/statusline.md +5 -0
- package/commands/pbr/test.md +5 -0
- package/commands/pbr/todo.md +5 -0
- package/commands/pbr/ui-phase.md +5 -0
- package/commands/pbr/ui-review.md +5 -0
- package/commands/pbr/undo.md +5 -0
- package/commands/pbr/update.md +37 -0
- package/commands/pbr/validate-phase.md +5 -0
- package/commands/pbr/verify-work.md +6 -0
- package/dashboard/bin/cli.cjs +96 -0
- package/dashboard/bin/stop.cjs +129 -0
- package/dashboard/eslint.config.js +37 -0
- package/dashboard/index.html +20 -0
- package/dashboard/package.json +28 -23
- package/dashboard/server/index.js +136 -0
- package/dashboard/server/lib/frontmatter.js +92 -0
- package/dashboard/server/middleware/static.js +35 -0
- package/dashboard/server/package.json +16 -0
- package/dashboard/server/routes/agents.js +213 -0
- package/dashboard/server/routes/config.js +64 -0
- package/dashboard/server/routes/health.js +95 -0
- package/dashboard/server/routes/memory.js +107 -0
- package/dashboard/server/routes/planning.js +234 -0
- package/dashboard/server/routes/progress.js +77 -0
- package/dashboard/server/routes/projects.js +36 -0
- package/dashboard/server/routes/requirements.js +40 -0
- package/dashboard/server/routes/roadmap.js +69 -0
- package/dashboard/server/routes/status.js +25 -0
- package/dashboard/server/routes/telemetry.js +171 -0
- package/dashboard/server/services/file-watcher.js +105 -0
- package/dashboard/server/services/planning-reader.js +741 -0
- package/dashboard/server/test/cli.test.js +34 -0
- package/dashboard/server/test/frontmatter.test.js +104 -0
- package/dashboard/server/test/isolation.test.js +32 -0
- package/dashboard/server/test/planning-reader.test.js +151 -0
- package/dashboard/server/test/routes.test.js +91 -0
- package/dashboard/server/test/ws.test.js +81 -0
- package/dashboard/server/ws.js +96 -0
- package/dashboard/src/App.jsx +154 -0
- package/dashboard/src/components/charts/BudgetBars.jsx +42 -0
- package/dashboard/src/components/charts/ContextRadar.jsx +34 -0
- package/dashboard/src/components/charts/PhaseDonut.jsx +66 -0
- package/dashboard/src/components/charts/SuccessTrend.jsx +45 -0
- package/dashboard/src/components/charts/TokenChart.jsx +55 -0
- package/dashboard/src/components/charts/index.js +5 -0
- package/dashboard/src/components/config/CfgSection.jsx +93 -0
- package/dashboard/src/components/layout/Header.jsx +89 -0
- package/dashboard/src/components/layout/ProjectSwitcher.jsx +160 -0
- package/dashboard/src/components/layout/Sidebar.jsx +161 -0
- package/dashboard/src/components/ui/AutoModeBanner.jsx +138 -0
- package/dashboard/src/components/ui/BackButton.jsx +27 -0
- package/dashboard/src/components/ui/Badge.jsx +27 -0
- package/dashboard/src/components/ui/Card.jsx +23 -0
- package/dashboard/src/components/ui/ChartTooltip.jsx +48 -0
- package/dashboard/src/components/ui/CheckpointBox.jsx +110 -0
- package/dashboard/src/components/ui/CodeBlock.jsx +27 -0
- package/dashboard/src/components/ui/ConfidenceBadge.jsx +20 -0
- package/dashboard/src/components/ui/ConfirmModal.jsx +161 -0
- package/dashboard/src/components/ui/ConnectionBanner.jsx +60 -0
- package/dashboard/src/components/ui/ErrorBoundary.jsx +106 -0
- package/dashboard/src/components/ui/ErrorBox.jsx +107 -0
- package/dashboard/src/components/ui/KeyValue.jsx +33 -0
- package/dashboard/src/components/ui/LoadingSkeleton.jsx +84 -0
- package/dashboard/src/components/ui/MetricCard.jsx +58 -0
- package/dashboard/src/components/ui/NextUpBlock.jsx +92 -0
- package/dashboard/src/components/ui/NumberInput.jsx +44 -0
- package/dashboard/src/components/ui/PBRBanner.jsx +47 -0
- package/dashboard/src/components/ui/PipelineView.jsx +130 -0
- package/dashboard/src/components/ui/ProgressBar.jsx +28 -0
- package/dashboard/src/components/ui/ProgressDisplay.jsx +47 -0
- package/dashboard/src/components/ui/QualityGateBadge.jsx +15 -0
- package/dashboard/src/components/ui/SectionTitle.jsx +35 -0
- package/dashboard/src/components/ui/SelectInput.jsx +45 -0
- package/dashboard/src/components/ui/StatusDot.jsx +51 -0
- package/dashboard/src/components/ui/StatusSymbol.jsx +49 -0
- package/dashboard/src/components/ui/TabBar.jsx +41 -0
- package/dashboard/src/components/ui/TextInput.jsx +42 -0
- package/dashboard/src/components/ui/Toast.jsx +117 -0
- package/dashboard/src/components/ui/Toggle.jsx +70 -0
- package/dashboard/src/components/ui/index.js +29 -0
- package/dashboard/src/hooks/useDocumentTitle.js +16 -0
- package/dashboard/src/hooks/useFetch.js +50 -0
- package/dashboard/src/hooks/useToast.jsx +43 -0
- package/dashboard/src/hooks/useWebSocket.js +103 -0
- package/dashboard/src/lib/api.js +112 -0
- package/dashboard/src/lib/configSchema.js +189 -0
- package/dashboard/src/lib/constants.js +18 -0
- package/dashboard/src/main.jsx +15 -0
- package/dashboard/src/pages/AgentsPage.jsx +191 -0
- package/dashboard/src/pages/ConfigPage.jsx +298 -0
- package/dashboard/src/pages/HooksPage.jsx +412 -0
- package/dashboard/src/pages/LiveFeed.jsx +274 -0
- package/dashboard/src/pages/MemoryPage.jsx +107 -0
- package/dashboard/src/pages/OnboardingPage.jsx +117 -0
- package/dashboard/src/pages/Overview.jsx +360 -0
- package/dashboard/src/pages/PhaseDetailView.jsx +216 -0
- package/dashboard/src/pages/PlanningPage.jsx +181 -0
- package/dashboard/src/pages/ProgressPage.jsx +249 -0
- package/dashboard/src/pages/RoadmapPage.jsx +251 -0
- package/dashboard/src/pages/Telemetry.jsx +113 -0
- package/dashboard/src/pages/planning/DecisionsTab.jsx +153 -0
- package/dashboard/src/pages/planning/FilesTab.jsx +420 -0
- package/dashboard/src/pages/planning/MilestoneDetail.jsx +319 -0
- package/dashboard/src/pages/planning/MilestonesTab.jsx +151 -0
- package/dashboard/src/pages/planning/NotesTab.jsx +251 -0
- package/dashboard/src/pages/planning/PhasesTab.jsx +218 -0
- package/dashboard/src/pages/planning/QuickTab.jsx +50 -0
- package/dashboard/src/pages/planning/ResearchTab.jsx +103 -0
- package/dashboard/src/pages/planning/TodosTab.jsx +297 -0
- package/dashboard/src/theme/ThemeProvider.jsx +38 -0
- package/dashboard/src/theme/tokens.js +17 -0
- package/dashboard/tests/components/ConfirmModal.test.jsx +179 -0
- package/dashboard/tests/components/ConnectionBanner.test.jsx +37 -0
- package/dashboard/tests/components/ErrorBoundary.test.jsx +59 -0
- package/dashboard/tests/components/LoadingSkeleton.test.jsx +46 -0
- package/dashboard/tests/components/ToastContainer.test.jsx +47 -0
- package/dashboard/tests/components/Toggle.test.jsx +61 -0
- package/dashboard/tests/hooks/useFetch.test.jsx +77 -0
- package/dashboard/tests/hooks/useToast.test.jsx +78 -0
- package/dashboard/tests/hooks/useWebSocket.test.jsx +128 -0
- package/dashboard/tests/pages/ConfigPage.test.jsx +199 -0
- package/dashboard/tests/pages/PlanningPage.test.jsx +119 -0
- package/dashboard/tests/pages/planning/FilesTab.test.jsx +198 -0
- package/dashboard/tests/pages/planning/NotesTab.test.jsx +178 -0
- package/dashboard/tests/pages/planning/TodosTab.test.jsx +188 -0
- package/dashboard/tests/performance.test.jsx +46 -0
- package/dashboard/tests/routes/config.test.js +98 -0
- package/dashboard/tests/routes/health.test.js +40 -0
- package/dashboard/tests/routes/planning.test.js +112 -0
- package/dashboard/tests/routes/roadmap.test.js +91 -0
- package/dashboard/tests/routes/status.test.js +131 -0
- package/dashboard/tests/server/planning-reader.test.js +153 -0
- package/dashboard/tests/setup.js +7 -0
- package/dashboard/vite.config.js +41 -0
- package/hooks/dist/auto-continue.js +277 -0
- package/hooks/dist/block-skill-self-read.js +80 -0
- package/hooks/dist/check-agent-state-write.js +63 -0
- package/hooks/dist/check-config-change.js +188 -0
- package/hooks/dist/check-dangerous-commands.js +185 -0
- package/hooks/dist/check-doc-sprawl.js +102 -0
- package/hooks/dist/check-phase-boundary.js +191 -0
- package/hooks/dist/check-plan-format.js +227 -0
- package/hooks/dist/check-roadmap-sync.js +503 -0
- package/hooks/dist/check-skill-workflow.js +354 -0
- package/hooks/dist/check-state-sync.js +637 -0
- package/hooks/dist/check-subagent-output.js +401 -0
- package/hooks/dist/check-summary-gate.js +199 -0
- package/hooks/dist/context-bridge.js +406 -0
- package/hooks/dist/context-budget-check.js +442 -0
- package/hooks/dist/context-quality.js +271 -0
- package/hooks/dist/enforce-pbr-workflow.js +277 -0
- package/hooks/dist/event-handler.js +203 -0
- package/hooks/dist/event-logger.js +125 -0
- package/hooks/dist/hook-logger.js +112 -0
- package/hooks/dist/hook-server-client.js +342 -0
- package/hooks/dist/hook-server.js +352 -0
- package/hooks/dist/hooks-schema.json +85 -0
- package/hooks/dist/hooks.json +309 -0
- package/hooks/dist/instructions-loaded.js +107 -0
- package/hooks/dist/intel-queue.js +152 -0
- package/hooks/dist/intercept-plan-mode.js +50 -0
- package/hooks/dist/log-notification.js +125 -0
- package/hooks/dist/log-subagent.js +306 -0
- package/hooks/dist/log-tool-failure.js +140 -0
- package/hooks/dist/milestone-learnings.js +569 -0
- package/hooks/dist/pbr-tools.js +5 -0
- package/hooks/dist/post-bash-triage.js +152 -0
- package/hooks/dist/post-compact.js +135 -0
- package/hooks/dist/post-write-dispatch.js +277 -0
- package/hooks/dist/post-write-quality.js +208 -0
- package/hooks/dist/pre-bash-dispatch.js +158 -0
- package/hooks/dist/pre-write-dispatch.js +165 -0
- package/hooks/dist/progress-tracker.js +198 -0
- package/hooks/dist/prompt-routing.js +209 -0
- package/hooks/dist/run-hook.js +144 -0
- package/hooks/dist/session-cleanup.js +617 -0
- package/hooks/dist/session-tracker.js +124 -0
- package/hooks/dist/status-line.js +793 -0
- package/hooks/dist/suggest-compact.js +296 -0
- package/hooks/dist/sync-context-to-claude.js +100 -0
- package/hooks/dist/task-completed.js +206 -0
- package/hooks/dist/track-context-budget.js +405 -0
- package/hooks/dist/trust-tracker.js +193 -0
- package/hooks/dist/validate-commit.js +270 -0
- package/hooks/dist/validate-skill-args.js +222 -0
- package/hooks/dist/validate-task.js +272 -0
- package/hooks/dist/worktree-create.js +144 -0
- package/hooks/dist/worktree-remove.js +147 -0
- package/package.json +59 -40
- package/plan-build-run/bin/config-schema.json +1416 -0
- package/plan-build-run/bin/dashboard-launch.cjs +114 -0
- package/plan-build-run/bin/event-logger.cjs +92 -0
- package/plan-build-run/bin/lib/alternatives.cjs +198 -0
- package/plan-build-run/bin/lib/auto-cleanup.cjs +7 -0
- package/plan-build-run/bin/lib/build.cjs +717 -0
- package/plan-build-run/bin/lib/circuit-state.cjs +133 -0
- package/plan-build-run/bin/lib/commands.cjs +482 -0
- package/plan-build-run/bin/lib/config.cjs +770 -0
- package/plan-build-run/bin/lib/context.cjs +216 -0
- package/plan-build-run/bin/lib/contextual-help.cjs +207 -0
- package/plan-build-run/bin/lib/core.cjs +1563 -0
- package/plan-build-run/bin/lib/decisions.cjs +194 -0
- package/plan-build-run/bin/lib/frontmatter.cjs +299 -0
- package/plan-build-run/bin/lib/gates/advisories.cjs +129 -0
- package/plan-build-run/bin/lib/gates/build-dependency.cjs +115 -0
- package/plan-build-run/bin/lib/gates/build-executor.cjs +104 -0
- package/plan-build-run/bin/lib/gates/doc-existence.cjs +46 -0
- package/plan-build-run/bin/lib/gates/helpers.cjs +93 -0
- package/plan-build-run/bin/lib/gates/inline-execution.cjs +185 -0
- package/plan-build-run/bin/lib/gates/milestone-complete.cjs +136 -0
- package/plan-build-run/bin/lib/gates/milestone-summary.cjs +119 -0
- package/plan-build-run/bin/lib/gates/plan-executor.cjs +36 -0
- package/plan-build-run/bin/lib/gates/quick-executor.cjs +76 -0
- package/plan-build-run/bin/lib/gates/review-planner.cjs +61 -0
- package/plan-build-run/bin/lib/gates/review-verifier.cjs +69 -0
- package/plan-build-run/bin/lib/graph-cli.cjs +89 -0
- package/plan-build-run/bin/lib/graph.cjs +554 -0
- package/plan-build-run/bin/lib/health-phase06.cjs +120 -0
- package/plan-build-run/bin/lib/health.cjs +133 -0
- package/plan-build-run/bin/lib/history.cjs +147 -0
- package/plan-build-run/bin/lib/hypothesis-runner.cjs +127 -0
- package/plan-build-run/bin/lib/impact-analysis.cjs +319 -0
- package/plan-build-run/bin/lib/incidents.cjs +190 -0
- package/plan-build-run/bin/lib/init.cjs +367 -0
- package/plan-build-run/bin/lib/intel.cjs +653 -0
- package/plan-build-run/bin/lib/learnings.cjs +511 -0
- package/plan-build-run/bin/lib/local-llm/health.cjs +12 -0
- package/plan-build-run/bin/lib/local-llm/index.cjs +89 -0
- package/plan-build-run/bin/lib/local-llm/metrics.cjs +20 -0
- package/plan-build-run/bin/lib/local-llm/operations/classify-artifact.cjs +4 -0
- package/plan-build-run/bin/lib/local-llm/operations/classify-commit.cjs +4 -0
- package/plan-build-run/bin/lib/local-llm/operations/classify-error.cjs +4 -0
- package/plan-build-run/bin/lib/local-llm/operations/classify-file-intent.cjs +4 -0
- package/plan-build-run/bin/lib/local-llm/operations/triage-test-output.cjs +12 -0
- package/plan-build-run/bin/lib/local-llm/operations/validate-task.cjs +4 -0
- package/plan-build-run/bin/lib/migrate.cjs +298 -0
- package/plan-build-run/bin/lib/milestone.cjs +306 -0
- package/plan-build-run/bin/lib/negative-knowledge.cjs +194 -0
- package/plan-build-run/bin/lib/onboarding-generator.cjs +288 -0
- package/plan-build-run/bin/lib/parse-args.cjs +134 -0
- package/plan-build-run/bin/lib/patterns.cjs +272 -0
- package/plan-build-run/bin/lib/phase.cjs +1021 -0
- package/plan-build-run/bin/lib/post-hoc.cjs +160 -0
- package/plan-build-run/bin/lib/preview.cjs +174 -0
- package/plan-build-run/bin/lib/progress-visualization.cjs +296 -0
- package/plan-build-run/bin/lib/quick-init.cjs +131 -0
- package/plan-build-run/bin/lib/reference.cjs +234 -0
- package/plan-build-run/bin/lib/requirements.cjs +153 -0
- package/plan-build-run/bin/lib/reverse-spec.cjs +259 -0
- package/plan-build-run/bin/lib/roadmap.cjs +1097 -0
- package/plan-build-run/bin/lib/security-scan.cjs +200 -0
- package/plan-build-run/bin/lib/skill-section.cjs +98 -0
- package/plan-build-run/bin/lib/spec-diff.cjs +209 -0
- package/plan-build-run/bin/lib/spec-engine.cjs +189 -0
- package/plan-build-run/bin/lib/spot-check.cjs +510 -0
- package/plan-build-run/bin/lib/state.cjs +1050 -0
- package/plan-build-run/bin/lib/status-render.cjs +527 -0
- package/plan-build-run/bin/lib/step-verify.cjs +149 -0
- package/plan-build-run/bin/lib/suggest-next.cjs +316 -0
- package/plan-build-run/bin/lib/team-composer.cjs +85 -0
- package/plan-build-run/bin/lib/team-coordinator.cjs +151 -0
- package/plan-build-run/bin/lib/template.cjs +222 -0
- package/plan-build-run/bin/lib/templates.cjs +362 -0
- package/plan-build-run/bin/lib/test-selection.cjs +163 -0
- package/plan-build-run/bin/lib/todo.cjs +300 -0
- package/plan-build-run/bin/lib/validation.cjs +187 -0
- package/plan-build-run/bin/lib/verify.cjs +1451 -0
- package/plan-build-run/bin/pbr-tools.cjs +1877 -0
- package/plan-build-run/references/CLAUDE.md +7 -0
- package/plan-build-run/references/agent-contracts.md +326 -0
- package/plan-build-run/references/agent-teams.md +54 -0
- package/plan-build-run/references/behavioral-contexts.md +53 -0
- package/plan-build-run/references/checkpoints.md +776 -0
- package/plan-build-run/references/config-reference.md +613 -0
- package/plan-build-run/references/continuation-format.md +249 -0
- package/plan-build-run/references/debugging/CLAUDE.md +7 -0
- package/plan-build-run/references/decimal-phase-calculation.md +65 -0
- package/plan-build-run/references/git-integration.md +309 -0
- package/plan-build-run/references/git-planning-commit.md +38 -0
- package/plan-build-run/references/model-profile-resolution.md +34 -0
- package/plan-build-run/references/model-profiles.md +182 -0
- package/plan-build-run/references/model-selection.md +53 -0
- package/plan-build-run/references/phase-argument-parsing.md +61 -0
- package/plan-build-run/references/plan-authoring.md +246 -0
- package/plan-build-run/references/plan-format.md +351 -0
- package/plan-build-run/references/planning-config.md +200 -0
- package/plan-build-run/references/questioning.md +162 -0
- package/plan-build-run/references/reading-verification.md +127 -0
- package/plan-build-run/references/stub-patterns.md +160 -0
- package/plan-build-run/references/tdd.md +263 -0
- package/plan-build-run/references/ui-brand.md +187 -0
- package/plan-build-run/references/verification-overrides.md +38 -0
- package/plan-build-run/references/verification-patterns.md +612 -0
- package/plan-build-run/references/wave-execution.md +52 -0
- package/plan-build-run/skills/audit/SKILL.md +347 -0
- package/plan-build-run/skills/autonomous/SKILL.md +460 -0
- package/plan-build-run/skills/begin/SKILL.md +926 -0
- package/plan-build-run/skills/begin/templates/PROJECT.md.tmpl +33 -0
- package/plan-build-run/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -0
- package/plan-build-run/skills/begin/templates/STATE.md.tmpl +48 -0
- package/plan-build-run/skills/begin/templates/config.json.tmpl +451 -0
- package/plan-build-run/skills/begin/templates/project-CONTEXT.md.tmpl +19 -0
- package/plan-build-run/skills/begin/templates/researcher-prompt.md.tmpl +47 -0
- package/plan-build-run/skills/begin/templates/roadmap-prompt.md.tmpl +49 -0
- package/plan-build-run/skills/begin/templates/synthesis-prompt.md.tmpl +44 -0
- package/plan-build-run/skills/build/SKILL.md +1655 -0
- package/plan-build-run/skills/build/templates/continuation-prompt.md.tmpl +26 -0
- package/plan-build-run/skills/build/templates/executor-prompt.md.tmpl +70 -0
- package/plan-build-run/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
- package/plan-build-run/skills/config/SKILL.md +357 -0
- package/plan-build-run/skills/continue/SKILL.md +266 -0
- package/plan-build-run/skills/dashboard/SKILL.md +12 -0
- package/plan-build-run/skills/debug/SKILL.md +573 -0
- package/plan-build-run/skills/debug/templates/continuation-prompt.md.tmpl +27 -0
- package/plan-build-run/skills/debug/templates/initial-investigation-prompt.md.tmpl +34 -0
- package/plan-build-run/skills/discuss/SKILL.md +489 -0
- package/plan-build-run/skills/discuss/templates/CONTEXT.md.tmpl +61 -0
- package/plan-build-run/skills/discuss/templates/decision-categories.md +9 -0
- package/plan-build-run/skills/discuss/templates/project-CONTEXT.md.tmpl +19 -0
- package/plan-build-run/skills/do/SKILL.md +165 -0
- package/plan-build-run/skills/explore/SKILL.md +449 -0
- package/plan-build-run/skills/health/SKILL.md +332 -0
- package/plan-build-run/skills/health/templates/check-pattern.md.tmpl +30 -0
- package/plan-build-run/skills/health/templates/output-format.md.tmpl +63 -0
- package/plan-build-run/skills/help/SKILL.md +236 -0
- package/plan-build-run/skills/import/SKILL.md +827 -0
- package/plan-build-run/skills/intel/SKILL.md +131 -0
- package/plan-build-run/skills/milestone/SKILL.md +825 -0
- package/plan-build-run/skills/milestone/templates/audit-output.md.tmpl +76 -0
- package/plan-build-run/skills/milestone/templates/complete-output.md.tmpl +32 -0
- package/plan-build-run/skills/milestone/templates/edge-cases.md +54 -0
- package/plan-build-run/skills/milestone/templates/gaps-output.md.tmpl +25 -0
- package/plan-build-run/skills/milestone/templates/integration-checker-prompt.md.tmpl +25 -0
- package/plan-build-run/skills/milestone/templates/new-output.md.tmpl +29 -0
- package/plan-build-run/skills/milestone/templates/stats-file.md.tmpl +30 -0
- package/plan-build-run/skills/note/SKILL.md +221 -0
- package/plan-build-run/skills/pause/SKILL.md +259 -0
- package/plan-build-run/skills/pause/templates/continue-here.md.tmpl +71 -0
- package/plan-build-run/skills/plan/SKILL.md +852 -0
- package/plan-build-run/skills/plan/decimal-phase-calc.md +98 -0
- package/plan-build-run/skills/plan/templates/checker-prompt.md.tmpl +21 -0
- package/plan-build-run/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/plan-build-run/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -0
- package/plan-build-run/skills/plan/templates/planner-prompt.md.tmpl +38 -0
- package/plan-build-run/skills/plan/templates/prompt-partials/phase-project-context.md.tmpl +21 -0
- package/plan-build-run/skills/plan/templates/researcher-prompt.md.tmpl +19 -0
- package/plan-build-run/skills/plan/templates/revision-prompt.md.tmpl +23 -0
- package/plan-build-run/skills/profile/SKILL.md +173 -0
- package/plan-build-run/skills/profile-user/SKILL.md +220 -0
- package/plan-build-run/skills/quick/SKILL.md +727 -0
- package/plan-build-run/skills/release/SKILL.md +206 -0
- package/plan-build-run/skills/resume/SKILL.md +499 -0
- package/plan-build-run/skills/review/SKILL.md +763 -0
- package/plan-build-run/skills/review/templates/debugger-prompt.md.tmpl +60 -0
- package/plan-build-run/skills/review/templates/gap-planner-prompt.md.tmpl +40 -0
- package/plan-build-run/skills/review/templates/verifier-prompt.md.tmpl +115 -0
- package/plan-build-run/skills/scan/SKILL.md +330 -0
- package/plan-build-run/skills/scan/templates/mapper-prompt.md.tmpl +201 -0
- package/plan-build-run/skills/session-report/SKILL.md +128 -0
- package/plan-build-run/skills/setup/SKILL.md +246 -0
- package/plan-build-run/skills/shared/agent-type-resolution.md +20 -0
- package/plan-build-run/skills/shared/commit-planning-docs.md +43 -0
- package/plan-build-run/skills/shared/config-loading.md +102 -0
- package/plan-build-run/skills/shared/context-budget.md +105 -0
- package/plan-build-run/skills/shared/context-loader-task.md +91 -0
- package/plan-build-run/skills/shared/digest-select.md +79 -0
- package/plan-build-run/skills/shared/domain-probes.md +125 -0
- package/plan-build-run/skills/shared/error-reporting.md +59 -0
- package/plan-build-run/skills/shared/gate-prompts.md +390 -0
- package/plan-build-run/skills/shared/phase-argument-parsing.md +45 -0
- package/plan-build-run/skills/shared/revision-loop.md +81 -0
- package/plan-build-run/skills/shared/state-update.md +154 -0
- package/plan-build-run/skills/shared/universal-anti-patterns.md +59 -0
- package/plan-build-run/skills/ship/SKILL.md +154 -0
- package/plan-build-run/skills/status/SKILL.md +520 -0
- package/plan-build-run/skills/statusline/SKILL.md +151 -0
- package/plan-build-run/skills/test/SKILL.md +254 -0
- package/plan-build-run/skills/todo/SKILL.md +285 -0
- package/plan-build-run/skills/ui-phase/SKILL.md +177 -0
- package/plan-build-run/skills/ui-review/SKILL.md +204 -0
- package/plan-build-run/skills/undo/SKILL.md +216 -0
- package/plan-build-run/skills/validate-phase/SKILL.md +358 -0
- package/plan-build-run/templates/CLAUDE.md +7 -0
- package/plan-build-run/templates/DEBUG.md +164 -0
- package/plan-build-run/templates/UAT.md +247 -0
- package/plan-build-run/templates/VALIDATION.md +76 -0
- package/plan-build-run/templates/codebase/architecture.md +255 -0
- package/plan-build-run/templates/codebase/concerns.md +310 -0
- package/plan-build-run/templates/codebase/conventions.md +307 -0
- package/plan-build-run/templates/codebase/integrations.md +280 -0
- package/plan-build-run/templates/codebase/stack.md +186 -0
- package/plan-build-run/templates/codebase/structure.md +285 -0
- package/plan-build-run/templates/codebase/testing.md +480 -0
- package/plan-build-run/templates/config.json +37 -0
- package/plan-build-run/templates/context.md +297 -0
- package/plan-build-run/templates/continue-here.md +78 -0
- package/plan-build-run/templates/crud-flow-verification.md +277 -0
- package/plan-build-run/templates/debug-subagent-prompt.md +91 -0
- package/plan-build-run/templates/deferred-items.md +19 -0
- package/plan-build-run/templates/discovery.md +146 -0
- package/plan-build-run/templates/milestone-archive.md +123 -0
- package/plan-build-run/templates/milestone.md +115 -0
- package/plan-build-run/templates/phase-prompt.md +569 -0
- package/plan-build-run/templates/planner-subagent-prompt.md +117 -0
- package/plan-build-run/templates/project.md +184 -0
- package/plan-build-run/templates/requirements.md +231 -0
- package/plan-build-run/templates/research-outputs/ARCHITECTURE.md.tmpl +86 -0
- package/plan-build-run/templates/research-outputs/FEATURES.md.tmpl +77 -0
- package/plan-build-run/templates/research-outputs/PITFALLS.md.tmpl +65 -0
- package/plan-build-run/templates/research-outputs/STACK.md.tmpl +80 -0
- package/plan-build-run/templates/research-project/ARCHITECTURE.md +204 -0
- package/plan-build-run/templates/research-project/FEATURES.md +147 -0
- package/plan-build-run/templates/research-project/PITFALLS.md +200 -0
- package/plan-build-run/templates/research-project/STACK.md +120 -0
- package/plan-build-run/templates/research-project/SUMMARY.md +170 -0
- package/plan-build-run/templates/research.md +552 -0
- package/plan-build-run/templates/retrospective.md +54 -0
- package/plan-build-run/templates/roadmap.md +202 -0
- package/plan-build-run/templates/seed.md +16 -0
- package/plan-build-run/templates/state.md +176 -0
- package/plan-build-run/templates/summary-complex.md +59 -0
- package/plan-build-run/templates/summary-minimal.md +41 -0
- package/plan-build-run/templates/summary-standard.md +48 -0
- package/plan-build-run/templates/summary.md +248 -0
- package/plan-build-run/templates/user-setup.md +311 -0
- package/plan-build-run/templates/verification-report.md +322 -0
- package/plan-build-run/workflows/add-phase.md +111 -0
- package/plan-build-run/workflows/add-todo.md +157 -0
- package/plan-build-run/workflows/audit-milestone.md +241 -0
- package/plan-build-run/workflows/check-todos.md +176 -0
- package/plan-build-run/workflows/complete-milestone.md +644 -0
- package/plan-build-run/workflows/diagnose-issues.md +219 -0
- package/plan-build-run/workflows/discovery-phase.md +289 -0
- package/plan-build-run/workflows/discuss-phase.md +429 -0
- package/plan-build-run/workflows/execute-phase.md +439 -0
- package/plan-build-run/workflows/execute-plan.md +437 -0
- package/plan-build-run/workflows/explore.md +150 -0
- package/plan-build-run/workflows/help.md +470 -0
- package/plan-build-run/workflows/insert-phase.md +129 -0
- package/plan-build-run/workflows/list-phase-assumptions.md +178 -0
- package/plan-build-run/workflows/map-codebase.md +327 -0
- package/plan-build-run/workflows/new-milestone.md +373 -0
- package/plan-build-run/workflows/new-project.md +1009 -0
- package/plan-build-run/workflows/note.md +90 -0
- package/plan-build-run/workflows/pause-work.md +122 -0
- package/plan-build-run/workflows/plan-milestone-gaps.md +256 -0
- package/plan-build-run/workflows/plan-phase.md +376 -0
- package/plan-build-run/workflows/progress.md +431 -0
- package/plan-build-run/workflows/quick.md +230 -0
- package/plan-build-run/workflows/remove-phase.md +154 -0
- package/plan-build-run/workflows/research-phase.md +74 -0
- package/plan-build-run/workflows/resume-project.md +306 -0
- package/plan-build-run/workflows/set-profile.md +80 -0
- package/plan-build-run/workflows/settings.md +145 -0
- package/plan-build-run/workflows/transition.md +539 -0
- package/plan-build-run/workflows/update.md +212 -0
- package/plan-build-run/workflows/verify-phase.md +226 -0
- package/plan-build-run/workflows/verify-work.md +465 -0
- package/plugins/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/CLAUDE.md +19 -0
- package/plugins/pbr/UI-CONSISTENCY-GAPS.md +1 -1
- package/plugins/pbr/agents/audit.md +285 -0
- package/plugins/pbr/agents/codebase-mapper.md +110 -18
- package/plugins/pbr/agents/debugger.md +231 -29
- package/plugins/pbr/agents/dev-sync.md +206 -0
- package/plugins/pbr/agents/executor.md +601 -39
- package/plugins/pbr/agents/general.md +71 -6
- package/plugins/pbr/agents/integration-checker.md +146 -30
- package/plugins/pbr/agents/intel-updater.md +333 -0
- package/plugins/pbr/agents/nyquist-auditor.md +253 -0
- package/plugins/pbr/agents/plan-checker.md +177 -60
- package/plugins/pbr/agents/planner.md +404 -42
- package/plugins/pbr/agents/researcher.md +239 -36
- package/plugins/pbr/agents/roadmapper.md +384 -0
- package/plugins/pbr/agents/synthesizer.md +169 -26
- package/plugins/pbr/agents/ui-checker.md +203 -0
- package/plugins/pbr/agents/ui-researcher.md +224 -0
- package/plugins/pbr/agents/verifier.md +452 -48
- package/plugins/pbr/commands/add-phase.md +75 -0
- package/plugins/pbr/commands/add-todo.md +8 -0
- package/plugins/pbr/commands/audit-milestone.md +8 -0
- package/plugins/pbr/commands/audit.md +5 -0
- package/plugins/pbr/commands/autonomous.md +5 -0
- package/plugins/pbr/commands/begin.md +1 -1
- package/plugins/pbr/commands/build.md +1 -1
- package/plugins/pbr/commands/check-todos.md +8 -0
- package/plugins/pbr/commands/complete-milestone.md +8 -0
- package/plugins/pbr/commands/config.md +2 -2
- package/plugins/pbr/commands/continue.md +1 -1
- package/plugins/pbr/commands/dashboard.md +1 -1
- package/plugins/pbr/commands/debug.md +1 -1
- package/plugins/pbr/commands/discuss-phase.md +6 -0
- package/plugins/pbr/commands/discuss.md +1 -1
- package/plugins/pbr/commands/do.md +5 -0
- package/plugins/pbr/commands/execute-phase.md +6 -0
- package/plugins/pbr/commands/explore.md +1 -1
- package/plugins/pbr/commands/health.md +1 -1
- package/plugins/pbr/commands/help.md +1 -1
- package/plugins/pbr/commands/import.md +2 -2
- package/plugins/pbr/commands/insert-phase.md +65 -0
- package/plugins/pbr/commands/intel.md +5 -0
- package/plugins/pbr/commands/join-discord.md +11 -0
- package/plugins/pbr/commands/list-phase-assumptions.md +69 -0
- package/plugins/pbr/commands/map-codebase.md +6 -0
- package/plugins/pbr/commands/milestone.md +1 -1
- package/plugins/pbr/commands/new-milestone.md +8 -0
- package/plugins/pbr/commands/new-project.md +6 -0
- package/plugins/pbr/commands/note.md +1 -1
- package/plugins/pbr/commands/pause-work.md +5 -0
- package/plugins/pbr/commands/pause.md +1 -1
- package/plugins/pbr/commands/plan-milestone-gaps.md +7 -0
- package/plugins/pbr/commands/plan-phase.md +6 -0
- package/plugins/pbr/commands/plan.md +1 -1
- package/plugins/pbr/commands/profile-user.md +5 -0
- package/plugins/pbr/commands/profile.md +5 -0
- package/plugins/pbr/commands/progress.md +6 -0
- package/plugins/pbr/commands/quick.md +2 -2
- package/plugins/pbr/commands/reapply-patches.md +47 -0
- package/plugins/pbr/commands/release.md +6 -0
- package/plugins/pbr/commands/remove-phase.md +66 -0
- package/plugins/pbr/commands/research-phase.md +59 -0
- package/plugins/pbr/commands/resume-work.md +5 -0
- package/plugins/pbr/commands/resume.md +1 -1
- package/plugins/pbr/commands/review.md +1 -1
- package/plugins/pbr/commands/scan.md +1 -1
- package/plugins/pbr/commands/session-report.md +5 -0
- package/plugins/pbr/commands/set-profile.md +6 -0
- package/plugins/pbr/commands/settings.md +5 -0
- package/plugins/pbr/commands/setup.md +2 -2
- package/plugins/pbr/commands/ship.md +5 -0
- package/plugins/pbr/commands/status.md +1 -1
- package/plugins/pbr/commands/statusline.md +1 -1
- package/plugins/pbr/commands/test.md +5 -0
- package/plugins/pbr/commands/todo.md +2 -2
- package/plugins/pbr/commands/ui-phase.md +5 -0
- package/plugins/pbr/commands/ui-review.md +5 -0
- package/plugins/pbr/commands/undo.md +5 -0
- package/plugins/pbr/commands/update.md +37 -0
- package/plugins/pbr/commands/validate-phase.md +5 -0
- package/plugins/pbr/commands/verify-work.md +6 -0
- package/plugins/pbr/dashboard/package-lock.json +6 -0
- package/plugins/pbr/hooks/hooks.json +102 -13
- package/plugins/pbr/references/agent-contracts.md +37 -8
- package/plugins/pbr/references/agent-teams.md +3 -3
- package/plugins/pbr/references/archive/checkpoints.md +189 -0
- package/plugins/pbr/references/archive/context-quality-tiers.md +45 -0
- package/plugins/pbr/references/archive/pbr-rules.md +194 -0
- package/plugins/pbr/references/archive/verification-patterns.md +277 -0
- package/plugins/pbr/references/config-reference.md +182 -10
- package/plugins/pbr/references/continuation-format.md +1 -0
- package/plugins/pbr/references/deviation-rules.md +12 -0
- package/plugins/pbr/references/git-integration.md +110 -27
- package/plugins/pbr/references/hook-ordering.md +89 -0
- package/plugins/pbr/references/limitations.md +106 -0
- package/plugins/pbr/references/model-profiles.md +90 -7
- package/plugins/pbr/references/model-selection.md +1 -1
- package/plugins/pbr/references/node-repair.md +48 -0
- package/plugins/pbr/references/pbr-tools-cli.md +132 -2
- package/plugins/pbr/references/plan-authoring.md +65 -0
- package/plugins/pbr/references/plan-format.md +161 -10
- package/plugins/pbr/references/pretooluse-jsonl-behavior.md +58 -0
- package/plugins/pbr/references/questioning.md +138 -49
- package/plugins/pbr/references/reading-verification.md +4 -4
- package/plugins/pbr/references/signal-files.md +41 -0
- package/plugins/pbr/references/tmux-setup.md +288 -0
- package/plugins/pbr/references/ui-brand.md +449 -0
- package/plugins/pbr/references/worktree-sparse-checkout.md +86 -0
- package/plugins/pbr/scripts/architecture-guard.js +257 -0
- package/plugins/pbr/scripts/audit-checks/behavioral-compliance.js +2098 -0
- package/plugins/pbr/scripts/audit-checks/error-analysis.js +895 -0
- package/plugins/pbr/scripts/audit-checks/feature-verification.js +723 -0
- package/plugins/pbr/scripts/audit-checks/index.js +433 -0
- package/plugins/pbr/scripts/audit-checks/infrastructure.js +816 -0
- package/plugins/pbr/scripts/audit-checks/quality-metrics.js +452 -0
- package/plugins/pbr/scripts/audit-checks/session-quality.js +980 -0
- package/plugins/pbr/scripts/audit-checks/si-agent-hook-config-checks.js +467 -0
- package/plugins/pbr/scripts/audit-checks/si-cross-cutting-checks.js +272 -0
- package/plugins/pbr/scripts/audit-checks/si-skill-checks.js +424 -0
- package/plugins/pbr/scripts/audit-checks/workflow-compliance.js +1210 -0
- package/plugins/pbr/scripts/audit-dimensions.js +552 -0
- package/plugins/pbr/scripts/auto-continue.js +211 -32
- package/plugins/pbr/scripts/block-skill-self-read.js +85 -0
- package/plugins/pbr/scripts/check-agent-state-write.js +74 -0
- package/plugins/pbr/scripts/check-config-change.js +188 -0
- package/plugins/pbr/scripts/check-cross-plugin-sync.js +93 -0
- package/plugins/pbr/scripts/check-dangerous-commands.js +9 -5
- package/plugins/pbr/scripts/check-direct-state-write.js +37 -0
- package/plugins/pbr/scripts/check-phase-boundary.js +2 -8
- package/plugins/pbr/scripts/check-plan-format.js +149 -274
- package/plugins/pbr/scripts/check-roadmap-sync.js +175 -10
- package/plugins/pbr/scripts/check-skill-workflow.js +38 -34
- package/plugins/pbr/scripts/check-state-sync.js +344 -216
- package/plugins/pbr/scripts/check-subagent-output.js +297 -256
- package/plugins/pbr/scripts/check-summary-gate.js +1 -1
- package/plugins/pbr/scripts/config-schema.json +1252 -95
- package/plugins/pbr/scripts/context-bridge.js +439 -0
- package/plugins/pbr/scripts/context-budget-check.js +89 -9
- package/plugins/pbr/scripts/context-quality.js +272 -0
- package/plugins/pbr/scripts/enforce-pbr-workflow.js +277 -0
- package/plugins/pbr/scripts/event-handler.js +129 -77
- package/plugins/pbr/scripts/event-logger.js +61 -26
- package/plugins/pbr/scripts/feedback-loop.js +172 -0
- package/plugins/pbr/scripts/graph-update.js +199 -0
- package/plugins/pbr/scripts/hook-logger.js +76 -35
- package/plugins/pbr/scripts/hook-server-client.js +258 -0
- package/plugins/pbr/scripts/hook-server.js +334 -0
- package/plugins/pbr/scripts/hooks-schema.json +5 -1
- package/plugins/pbr/scripts/instructions-loaded.js +107 -0
- package/plugins/pbr/scripts/intel-queue.js +152 -0
- package/plugins/pbr/scripts/intent-router.cjs +147 -0
- package/plugins/pbr/scripts/intercept-plan-mode.js +52 -0
- package/plugins/pbr/scripts/lib/alternatives.js +203 -0
- package/plugins/pbr/scripts/lib/auto-cleanup.js +221 -0
- package/plugins/pbr/scripts/lib/auto-verify.js +103 -0
- package/plugins/pbr/scripts/lib/autonomy.js +91 -0
- package/plugins/pbr/scripts/lib/build.js +719 -0
- package/plugins/pbr/scripts/lib/ci-fix-loop.js +228 -0
- package/plugins/pbr/scripts/lib/circuit-state.js +133 -0
- package/plugins/pbr/scripts/lib/config.js +901 -0
- package/plugins/pbr/scripts/lib/context.js +254 -0
- package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
- package/plugins/pbr/scripts/lib/core.js +939 -0
- package/plugins/pbr/scripts/lib/dashboard-launch.js +170 -0
- package/plugins/pbr/scripts/lib/decision-extraction.js +267 -0
- package/plugins/pbr/scripts/lib/dependency-break.js +147 -0
- package/plugins/pbr/scripts/lib/format-validators.js +947 -0
- package/plugins/pbr/scripts/lib/gates/advisories.js +129 -0
- package/plugins/pbr/scripts/lib/gates/build-dependency.js +115 -0
- package/plugins/pbr/scripts/lib/gates/build-executor.js +104 -0
- package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
- package/plugins/pbr/scripts/lib/gates/helpers.js +141 -0
- package/plugins/pbr/scripts/lib/gates/inline-execution.js +185 -0
- package/plugins/pbr/scripts/lib/gates/milestone-complete.js +136 -0
- package/plugins/pbr/scripts/lib/gates/milestone-summary.js +119 -0
- package/plugins/pbr/scripts/lib/gates/multi-phase-loader.js +147 -0
- package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -0
- package/plugins/pbr/scripts/lib/gates/quick-executor.js +76 -0
- package/plugins/pbr/scripts/lib/gates/review-planner.js +61 -0
- package/plugins/pbr/scripts/lib/gates/review-verifier.js +69 -0
- package/plugins/pbr/scripts/lib/gates/rich-agent-context.js +143 -0
- package/plugins/pbr/scripts/lib/health-checks.js +215 -0
- package/plugins/pbr/scripts/lib/history.js +150 -0
- package/plugins/pbr/scripts/lib/init.js +302 -0
- package/plugins/pbr/scripts/lib/learnings.js +432 -0
- package/plugins/pbr/scripts/lib/migrate.js +169 -0
- package/plugins/pbr/scripts/lib/parse-args.js +134 -0
- package/plugins/pbr/scripts/lib/pattern-routing.js +55 -0
- package/plugins/pbr/scripts/lib/phase.js +935 -0
- package/plugins/pbr/scripts/lib/pre-research.js +133 -0
- package/plugins/pbr/scripts/lib/preview.js +174 -0
- package/plugins/pbr/scripts/lib/quick-init.js +131 -0
- package/plugins/pbr/scripts/lib/reference.js +236 -0
- package/plugins/pbr/scripts/lib/resolve-root.js +66 -0
- package/plugins/pbr/scripts/lib/roadmap.js +784 -0
- package/plugins/pbr/scripts/lib/session-briefing.js +879 -0
- package/plugins/pbr/scripts/lib/skill-section.js +99 -0
- package/plugins/pbr/scripts/lib/smart-next-task.js +225 -0
- package/plugins/pbr/scripts/lib/snapshot-manager.js +225 -0
- package/plugins/pbr/scripts/lib/spot-check.js +509 -0
- package/plugins/pbr/scripts/lib/state.js +565 -0
- package/plugins/pbr/scripts/lib/status-render.js +511 -0
- package/plugins/pbr/scripts/lib/step-verify.js +149 -0
- package/plugins/pbr/scripts/lib/subagent-validators.js +1010 -0
- package/plugins/pbr/scripts/lib/suggest-next.js +316 -0
- package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
- package/plugins/pbr/scripts/lib/test-cache.js +54 -0
- package/plugins/pbr/scripts/lib/todo.js +300 -0
- package/plugins/pbr/scripts/lib/trust-gate.js +84 -0
- package/plugins/pbr/scripts/local-llm/client.js +237 -0
- package/plugins/pbr/scripts/local-llm/health.js +220 -0
- package/plugins/pbr/scripts/local-llm/metrics.js +340 -0
- package/plugins/pbr/scripts/local-llm/operations/classify-artifact.js +76 -0
- package/plugins/pbr/scripts/local-llm/operations/classify-commit.js +137 -0
- package/plugins/pbr/scripts/local-llm/operations/classify-error.js +75 -0
- package/plugins/pbr/scripts/local-llm/operations/classify-file-intent.js +171 -0
- package/plugins/pbr/scripts/local-llm/operations/score-source.js +72 -0
- package/plugins/pbr/scripts/local-llm/operations/summarize-context.js +62 -0
- package/plugins/pbr/scripts/local-llm/operations/triage-test-output.js +72 -0
- package/plugins/pbr/scripts/local-llm/operations/validate-task.js +59 -0
- package/plugins/pbr/scripts/local-llm/router.js +101 -0
- package/plugins/pbr/scripts/local-llm/shadow.js +60 -0
- package/plugins/pbr/scripts/local-llm/threshold-tuner.js +118 -0
- package/plugins/pbr/scripts/log-subagent.js +129 -26
- package/plugins/pbr/scripts/log-tool-failure.js +58 -5
- package/plugins/pbr/scripts/milestone-learnings.js +569 -0
- package/plugins/pbr/scripts/package.json +1 -0
- package/plugins/pbr/scripts/pbr-tools.js +1361 -1214
- package/plugins/pbr/scripts/post-bash-triage.js +163 -0
- package/plugins/pbr/scripts/post-compact.js +135 -0
- package/plugins/pbr/scripts/post-hoc.js +286 -0
- package/plugins/pbr/scripts/post-write-dispatch.js +315 -30
- package/plugins/pbr/scripts/post-write-quality.js +3 -3
- package/plugins/pbr/scripts/pre-bash-dispatch.js +81 -4
- package/plugins/pbr/scripts/pre-write-dispatch.js +76 -20
- package/plugins/pbr/scripts/progress-tracker.js +145 -277
- package/plugins/pbr/scripts/quick-status.js +179 -0
- package/plugins/pbr/scripts/record-incident.js +37 -0
- package/plugins/pbr/scripts/risk-classifier.cjs +123 -0
- package/plugins/pbr/scripts/run-hook.js +49 -8
- package/plugins/pbr/scripts/session-cleanup.js +379 -7
- package/plugins/pbr/scripts/session-tracker.js +124 -0
- package/plugins/pbr/scripts/status-line.js +540 -27
- package/plugins/pbr/scripts/suggest-compact.js +183 -7
- package/plugins/pbr/scripts/sync-context-to-claude.js +100 -0
- package/plugins/pbr/scripts/task-completed.js +125 -3
- package/plugins/pbr/scripts/test/config.test.js +126 -0
- package/plugins/pbr/scripts/test/cross-platform.test.js +131 -0
- package/plugins/pbr/scripts/test/fixtures/config.json +20 -0
- package/plugins/pbr/scripts/test/fixtures/plan.md +54 -0
- package/plugins/pbr/scripts/test/fixtures/project.md +30 -0
- package/plugins/pbr/scripts/test/fixtures/roadmap.md +55 -0
- package/plugins/pbr/scripts/test/fixtures/state.md +60 -0
- package/plugins/pbr/scripts/test/fixtures/summary.md +35 -0
- package/plugins/pbr/scripts/test/fixtures.test.js +184 -0
- package/plugins/pbr/scripts/test/phase.test.js +142 -0
- package/plugins/pbr/scripts/test/roadmap.test.js +96 -0
- package/plugins/pbr/scripts/test/state.test.js +163 -0
- package/plugins/pbr/scripts/track-context-budget.js +323 -88
- package/plugins/pbr/scripts/trust-tracker.js +193 -0
- package/plugins/pbr/scripts/validate-commit.js +76 -11
- package/plugins/pbr/scripts/validate-skill-args.js +18 -14
- package/plugins/pbr/scripts/validate-task.js +93 -614
- package/plugins/pbr/scripts/worktree-create.js +144 -0
- package/plugins/pbr/scripts/worktree-remove.js +147 -0
- package/plugins/pbr/skills/audit/SKILL.md +478 -0
- package/plugins/pbr/skills/autonomous/SKILL.md +460 -0
- package/plugins/pbr/skills/begin/SKILL.md +447 -142
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +423 -36
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +28 -0
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +26 -3
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +33 -5
- package/plugins/pbr/skills/build/SKILL.md +1010 -327
- package/plugins/pbr/skills/build/templates/continuation-prompt.md.tmpl +26 -0
- package/plugins/pbr/skills/build/templates/executor-prompt.md.tmpl +77 -0
- package/plugins/pbr/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
- package/plugins/pbr/skills/config/SKILL.md +108 -9
- package/plugins/pbr/skills/continue/SKILL.md +118 -19
- package/plugins/pbr/skills/dashboard/SKILL.md +21 -9
- package/plugins/pbr/skills/debug/SKILL.md +62 -10
- package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +12 -1
- package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +12 -5
- package/plugins/pbr/skills/discuss/SKILL.md +155 -23
- package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +21 -1
- package/plugins/pbr/skills/do/SKILL.md +119 -24
- package/plugins/pbr/skills/explore/SKILL.md +83 -16
- package/plugins/pbr/skills/health/SKILL.md +74 -17
- package/plugins/pbr/skills/help/SKILL.md +123 -39
- package/plugins/pbr/skills/import/SKILL.md +327 -13
- package/plugins/pbr/skills/intel/SKILL.md +131 -0
- package/plugins/pbr/skills/milestone/SKILL.md +342 -260
- package/plugins/pbr/skills/milestone/templates/audit-output.md.tmpl +76 -0
- package/plugins/pbr/skills/milestone/templates/complete-output.md.tmpl +32 -0
- package/plugins/pbr/skills/milestone/templates/edge-cases.md +54 -0
- package/plugins/pbr/skills/milestone/templates/gaps-output.md.tmpl +25 -0
- package/plugins/pbr/skills/milestone/templates/integration-checker-prompt.md.tmpl +25 -0
- package/plugins/pbr/skills/milestone/templates/new-output.md.tmpl +29 -0
- package/plugins/pbr/skills/note/SKILL.md +10 -2
- package/plugins/pbr/skills/pause/SKILL.md +51 -7
- package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +33 -52
- package/plugins/pbr/skills/plan/SKILL.md +418 -268
- package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +5 -2
- package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +21 -5
- package/plugins/pbr/skills/profile/SKILL.md +183 -0
- package/plugins/pbr/skills/profile-user/SKILL.md +224 -0
- package/plugins/pbr/skills/quick/SKILL.md +440 -95
- package/plugins/pbr/skills/release/SKILL.md +206 -0
- package/plugins/pbr/skills/resume/SKILL.md +122 -27
- package/plugins/pbr/skills/review/SKILL.md +219 -154
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
- package/plugins/pbr/skills/scan/SKILL.md +36 -12
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +1 -1
- package/plugins/pbr/skills/session-report/SKILL.md +128 -0
- package/plugins/pbr/skills/setup/SKILL.md +149 -202
- package/plugins/pbr/skills/shared/agent-context-enrichment.md +21 -0
- package/plugins/pbr/skills/shared/agent-type-resolution.md +20 -0
- package/plugins/pbr/skills/shared/commit-planning-docs.md +8 -0
- package/plugins/pbr/skills/shared/context-budget.md +66 -1
- package/plugins/pbr/skills/shared/context-loader-task.md +15 -8
- package/plugins/pbr/skills/shared/digest-select.md +2 -2
- package/plugins/pbr/skills/shared/domain-probes.md +1 -1
- package/plugins/pbr/skills/shared/error-reporting.md +38 -60
- package/plugins/pbr/skills/shared/gate-prompts.md +4 -2
- package/plugins/pbr/skills/shared/memory-capture.md +48 -0
- package/plugins/pbr/skills/shared/phase-argument-parsing.md +4 -4
- package/plugins/pbr/skills/shared/revision-loop.md +24 -6
- package/plugins/pbr/skills/shared/state-update.md +47 -54
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +27 -4
- package/plugins/pbr/skills/ship/SKILL.md +154 -0
- package/plugins/pbr/skills/status/SKILL.md +201 -53
- package/plugins/pbr/skills/test/SKILL.md +254 -0
- package/plugins/pbr/skills/todo/SKILL.md +13 -11
- package/plugins/pbr/skills/ui-phase/SKILL.md +179 -0
- package/plugins/pbr/skills/ui-review/SKILL.md +206 -0
- package/plugins/pbr/skills/undo/SKILL.md +218 -0
- package/plugins/pbr/skills/validate-phase/SKILL.md +358 -0
- package/plugins/pbr/templates/CONTEXT.md.tmpl +45 -20
- package/plugins/pbr/templates/DISCOVERY.md.tmpl +29 -0
- package/plugins/pbr/templates/HANDOFF.json.tmpl +30 -0
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -2
- package/plugins/pbr/templates/KNOWLEDGE.md.tmpl +39 -0
- package/plugins/pbr/templates/MILESTONE-AUDIT.md.tmpl +44 -0
- package/plugins/pbr/templates/PROJECT.md.tmpl +126 -0
- package/plugins/pbr/templates/REQUIREMENTS.md.tmpl +96 -0
- package/plugins/pbr/templates/RETROSPECTIVE.md.tmpl +43 -0
- package/plugins/pbr/templates/ROADMAP.md.tmpl +108 -14
- package/plugins/pbr/templates/SUMMARY-complex.md.tmpl +133 -0
- package/plugins/pbr/templates/SUMMARY-minimal.md.tmpl +55 -0
- package/plugins/pbr/templates/SUMMARY.md.tmpl +21 -0
- package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +49 -13
- package/plugins/pbr/templates/project-CONTEXT.md.tmpl +59 -0
- package/plugins/pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
- package/plugins/pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
- package/plugins/pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
- package/plugins/pbr/templates/research-outputs/STACK.md.tmpl +63 -0
- package/plugins/pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
- package/scripts/build-hooks.js +61 -0
- package/scripts/check-ci.js +100 -0
- package/scripts/clean-changelog.js +362 -0
- package/scripts/generate-derivatives.js +581 -0
- package/scripts/posttest.js +93 -0
- package/scripts/release.js +196 -0
- package/scripts/run-tests.cjs +29 -0
- package/dashboard/bin/cli.js +0 -25
- package/dashboard/public/css/layout.css +0 -472
- package/dashboard/public/css/status-colors.css +0 -98
- package/dashboard/public/js/htmx-title.js +0 -5
- package/dashboard/public/js/sidebar-toggle.js +0 -20
- package/dashboard/src/app.js +0 -78
- package/dashboard/src/middleware/errorHandler.js +0 -52
- package/dashboard/src/middleware/notFoundHandler.js +0 -9
- package/dashboard/src/repositories/planning.repository.js +0 -130
- package/dashboard/src/routes/events.routes.js +0 -40
- package/dashboard/src/routes/index.routes.js +0 -31
- package/dashboard/src/routes/pages.routes.js +0 -308
- package/dashboard/src/server.js +0 -42
- package/dashboard/src/services/dashboard.service.js +0 -309
- package/dashboard/src/services/milestone.service.js +0 -154
- package/dashboard/src/services/phase.service.js +0 -226
- package/dashboard/src/services/project.service.js +0 -57
- package/dashboard/src/services/roadmap.service.js +0 -171
- package/dashboard/src/services/sse.service.js +0 -58
- package/dashboard/src/services/todo.service.js +0 -254
- package/dashboard/src/services/watcher.service.js +0 -48
- package/dashboard/src/views/coming-soon.ejs +0 -11
- package/dashboard/src/views/error.ejs +0 -13
- package/dashboard/src/views/index.ejs +0 -5
- package/dashboard/src/views/layout.ejs +0 -1
- package/dashboard/src/views/milestone-detail.ejs +0 -5
- package/dashboard/src/views/milestones.ejs +0 -5
- package/dashboard/src/views/partials/dashboard-content.ejs +0 -77
- package/dashboard/src/views/partials/footer.ejs +0 -3
- package/dashboard/src/views/partials/head.ejs +0 -27
- package/dashboard/src/views/partials/header.ejs +0 -12
- package/dashboard/src/views/partials/layout-bottom.ejs +0 -15
- package/dashboard/src/views/partials/layout-top.ejs +0 -8
- package/dashboard/src/views/partials/milestone-detail-content.ejs +0 -19
- package/dashboard/src/views/partials/milestones-content.ejs +0 -44
- package/dashboard/src/views/partials/phase-content.ejs +0 -189
- package/dashboard/src/views/partials/phase-doc-content.ejs +0 -38
- package/dashboard/src/views/partials/phases-content.ejs +0 -117
- package/dashboard/src/views/partials/roadmap-content.ejs +0 -142
- package/dashboard/src/views/partials/sidebar.ejs +0 -46
- package/dashboard/src/views/partials/todo-create-content.ejs +0 -53
- package/dashboard/src/views/partials/todo-detail-content.ejs +0 -38
- package/dashboard/src/views/partials/todos-content.ejs +0 -53
- package/dashboard/src/views/phase-detail.ejs +0 -5
- package/dashboard/src/views/phase-doc.ejs +0 -5
- package/dashboard/src/views/phases.ejs +0 -5
- package/dashboard/src/views/roadmap.ejs +0 -5
- package/dashboard/src/views/todo-create.ejs +0 -5
- package/dashboard/src/views/todo-detail.ejs +0 -5
- package/dashboard/src/views/todos.ejs +0 -5
- package/plugins/copilot-pbr/CHANGELOG.md +0 -19
- package/plugins/copilot-pbr/README.md +0 -129
- package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +0 -151
- package/plugins/copilot-pbr/agents/debugger.agent.md +0 -172
- package/plugins/copilot-pbr/agents/executor.agent.md +0 -267
- package/plugins/copilot-pbr/agents/general.agent.md +0 -88
- package/plugins/copilot-pbr/agents/integration-checker.agent.md +0 -119
- package/plugins/copilot-pbr/agents/plan-checker.agent.md +0 -199
- package/plugins/copilot-pbr/agents/planner.agent.md +0 -238
- package/plugins/copilot-pbr/agents/researcher.agent.md +0 -186
- package/plugins/copilot-pbr/agents/synthesizer.agent.md +0 -126
- package/plugins/copilot-pbr/agents/verifier.agent.md +0 -228
- package/plugins/copilot-pbr/hooks/hooks.json +0 -144
- package/plugins/copilot-pbr/plugin.json +0 -30
- package/plugins/copilot-pbr/references/agent-anti-patterns.md +0 -25
- package/plugins/copilot-pbr/references/agent-contracts.md +0 -297
- package/plugins/copilot-pbr/references/agent-interactions.md +0 -135
- package/plugins/copilot-pbr/references/agent-teams.md +0 -55
- package/plugins/copilot-pbr/references/checkpoints.md +0 -158
- package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -14
- package/plugins/copilot-pbr/references/config-reference.md +0 -442
- package/plugins/copilot-pbr/references/continuation-format.md +0 -213
- package/plugins/copilot-pbr/references/deviation-rules.md +0 -113
- package/plugins/copilot-pbr/references/git-integration.md +0 -227
- package/plugins/copilot-pbr/references/integration-patterns.md +0 -118
- package/plugins/copilot-pbr/references/model-profiles.md +0 -100
- package/plugins/copilot-pbr/references/model-selection.md +0 -32
- package/plugins/copilot-pbr/references/pbr-rules.md +0 -195
- package/plugins/copilot-pbr/references/pbr-tools-cli.md +0 -285
- package/plugins/copilot-pbr/references/plan-authoring.md +0 -182
- package/plugins/copilot-pbr/references/plan-format.md +0 -288
- package/plugins/copilot-pbr/references/planning-config.md +0 -214
- package/plugins/copilot-pbr/references/questioning.md +0 -215
- package/plugins/copilot-pbr/references/reading-verification.md +0 -128
- package/plugins/copilot-pbr/references/stub-patterns.md +0 -161
- package/plugins/copilot-pbr/references/subagent-coordination.md +0 -120
- package/plugins/copilot-pbr/references/ui-formatting.md +0 -444
- package/plugins/copilot-pbr/references/verification-patterns.md +0 -199
- package/plugins/copilot-pbr/references/wave-execution.md +0 -96
- package/plugins/copilot-pbr/rules/pbr-workflow.mdc +0 -48
- package/plugins/copilot-pbr/setup.ps1 +0 -93
- package/plugins/copilot-pbr/setup.sh +0 -93
- package/plugins/copilot-pbr/skills/begin/SKILL.md +0 -589
- package/plugins/copilot-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
- package/plugins/copilot-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
- package/plugins/copilot-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
- package/plugins/copilot-pbr/skills/begin/templates/config.json.tmpl +0 -64
- package/plugins/copilot-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/copilot-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
- package/plugins/copilot-pbr/skills/build/SKILL.md +0 -955
- package/plugins/copilot-pbr/skills/config/SKILL.md +0 -250
- package/plugins/copilot-pbr/skills/continue/SKILL.md +0 -159
- package/plugins/copilot-pbr/skills/dashboard/SKILL.md +0 -43
- package/plugins/copilot-pbr/skills/debug/SKILL.md +0 -508
- package/plugins/copilot-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
- package/plugins/copilot-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
- package/plugins/copilot-pbr/skills/discuss/SKILL.md +0 -353
- package/plugins/copilot-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
- package/plugins/copilot-pbr/skills/discuss/templates/decision-categories.md +0 -10
- package/plugins/copilot-pbr/skills/do/SKILL.md +0 -66
- package/plugins/copilot-pbr/skills/explore/SKILL.md +0 -373
- package/plugins/copilot-pbr/skills/health/SKILL.md +0 -274
- package/plugins/copilot-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/health/templates/output-format.md.tmpl +0 -64
- package/plugins/copilot-pbr/skills/help/SKILL.md +0 -152
- package/plugins/copilot-pbr/skills/import/SKILL.md +0 -502
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +0 -745
- package/plugins/copilot-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
- package/plugins/copilot-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/note/SKILL.md +0 -213
- package/plugins/copilot-pbr/skills/pause/SKILL.md +0 -247
- package/plugins/copilot-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
- package/plugins/copilot-pbr/skills/plan/SKILL.md +0 -662
- package/plugins/copilot-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
- package/plugins/copilot-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
- package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
- package/plugins/copilot-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/copilot-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
- package/plugins/copilot-pbr/skills/quick/SKILL.md +0 -376
- package/plugins/copilot-pbr/skills/resume/SKILL.md +0 -399
- package/plugins/copilot-pbr/skills/review/SKILL.md +0 -653
- package/plugins/copilot-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
- package/plugins/copilot-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
- package/plugins/copilot-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
- package/plugins/copilot-pbr/skills/scan/SKILL.md +0 -299
- package/plugins/copilot-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
- package/plugins/copilot-pbr/skills/setup/SKILL.md +0 -296
- package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -36
- package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -103
- package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -41
- package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -87
- package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -80
- package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -126
- package/plugins/copilot-pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -389
- package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -46
- package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -53
- package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -82
- package/plugins/copilot-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/copilot-pbr/skills/shared/state-update.md +0 -162
- package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +0 -38
- package/plugins/copilot-pbr/skills/status/SKILL.md +0 -362
- package/plugins/copilot-pbr/skills/statusline/SKILL.md +0 -149
- package/plugins/copilot-pbr/skills/todo/SKILL.md +0 -279
- package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -53
- package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
- package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
- package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -41
- package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -82
- package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
- package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
- package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
- package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
- package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
- package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +0 -78
- package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
- package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +0 -107
- package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -74
- package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
- package/plugins/copilot-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/copilot-pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/copilot-pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/copilot-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/copilot-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/copilot-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +0 -32
- package/plugins/cursor-pbr/CHANGELOG.md +0 -15
- package/plugins/cursor-pbr/README.md +0 -118
- package/plugins/cursor-pbr/agents/codebase-mapper.md +0 -150
- package/plugins/cursor-pbr/agents/debugger.md +0 -171
- package/plugins/cursor-pbr/agents/executor.md +0 -266
- package/plugins/cursor-pbr/agents/general.md +0 -87
- package/plugins/cursor-pbr/agents/integration-checker.md +0 -118
- package/plugins/cursor-pbr/agents/plan-checker.md +0 -198
- package/plugins/cursor-pbr/agents/planner.md +0 -237
- package/plugins/cursor-pbr/agents/researcher.md +0 -185
- package/plugins/cursor-pbr/agents/synthesizer.md +0 -125
- package/plugins/cursor-pbr/agents/verifier.md +0 -227
- package/plugins/cursor-pbr/assets/.gitkeep +0 -0
- package/plugins/cursor-pbr/assets/logo.svg +0 -21
- package/plugins/cursor-pbr/hooks/hooks.json +0 -203
- package/plugins/cursor-pbr/references/agent-anti-patterns.md +0 -25
- package/plugins/cursor-pbr/references/agent-contracts.md +0 -297
- package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
- package/plugins/cursor-pbr/references/agent-teams.md +0 -55
- package/plugins/cursor-pbr/references/checkpoints.md +0 -158
- package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -14
- package/plugins/cursor-pbr/references/config-reference.md +0 -442
- package/plugins/cursor-pbr/references/continuation-format.md +0 -213
- package/plugins/cursor-pbr/references/deviation-rules.md +0 -113
- package/plugins/cursor-pbr/references/git-integration.md +0 -227
- package/plugins/cursor-pbr/references/integration-patterns.md +0 -118
- package/plugins/cursor-pbr/references/model-profiles.md +0 -100
- package/plugins/cursor-pbr/references/model-selection.md +0 -32
- package/plugins/cursor-pbr/references/pbr-rules.md +0 -195
- package/plugins/cursor-pbr/references/pbr-tools-cli.md +0 -285
- package/plugins/cursor-pbr/references/plan-authoring.md +0 -182
- package/plugins/cursor-pbr/references/plan-format.md +0 -288
- package/plugins/cursor-pbr/references/planning-config.md +0 -214
- package/plugins/cursor-pbr/references/questioning.md +0 -215
- package/plugins/cursor-pbr/references/reading-verification.md +0 -128
- package/plugins/cursor-pbr/references/stub-patterns.md +0 -161
- package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
- package/plugins/cursor-pbr/references/ui-formatting.md +0 -444
- package/plugins/cursor-pbr/references/verification-patterns.md +0 -199
- package/plugins/cursor-pbr/references/wave-execution.md +0 -96
- package/plugins/cursor-pbr/rules/pbr-workflow.mdc +0 -48
- package/plugins/cursor-pbr/setup.ps1 +0 -78
- package/plugins/cursor-pbr/setup.sh +0 -83
- package/plugins/cursor-pbr/skills/begin/SKILL.md +0 -589
- package/plugins/cursor-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
- package/plugins/cursor-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
- package/plugins/cursor-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
- package/plugins/cursor-pbr/skills/begin/templates/config.json.tmpl +0 -64
- package/plugins/cursor-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/cursor-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
- package/plugins/cursor-pbr/skills/build/SKILL.md +0 -956
- package/plugins/cursor-pbr/skills/config/SKILL.md +0 -252
- package/plugins/cursor-pbr/skills/continue/SKILL.md +0 -159
- package/plugins/cursor-pbr/skills/dashboard/SKILL.md +0 -44
- package/plugins/cursor-pbr/skills/debug/SKILL.md +0 -512
- package/plugins/cursor-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
- package/plugins/cursor-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
- package/plugins/cursor-pbr/skills/discuss/SKILL.md +0 -354
- package/plugins/cursor-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
- package/plugins/cursor-pbr/skills/discuss/templates/decision-categories.md +0 -10
- package/plugins/cursor-pbr/skills/do/SKILL.md +0 -67
- package/plugins/cursor-pbr/skills/explore/SKILL.md +0 -376
- package/plugins/cursor-pbr/skills/health/SKILL.md +0 -274
- package/plugins/cursor-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/health/templates/output-format.md.tmpl +0 -64
- package/plugins/cursor-pbr/skills/help/SKILL.md +0 -152
- package/plugins/cursor-pbr/skills/import/SKILL.md +0 -505
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +0 -746
- package/plugins/cursor-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
- package/plugins/cursor-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/note/SKILL.md +0 -214
- package/plugins/cursor-pbr/skills/pause/SKILL.md +0 -248
- package/plugins/cursor-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
- package/plugins/cursor-pbr/skills/plan/SKILL.md +0 -663
- package/plugins/cursor-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
- package/plugins/cursor-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
- package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
- package/plugins/cursor-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/cursor-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
- package/plugins/cursor-pbr/skills/quick/SKILL.md +0 -376
- package/plugins/cursor-pbr/skills/resume/SKILL.md +0 -399
- package/plugins/cursor-pbr/skills/review/SKILL.md +0 -654
- package/plugins/cursor-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
- package/plugins/cursor-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
- package/plugins/cursor-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
- package/plugins/cursor-pbr/skills/scan/SKILL.md +0 -300
- package/plugins/cursor-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
- package/plugins/cursor-pbr/skills/setup/SKILL.md +0 -296
- package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -36
- package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -103
- package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -41
- package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -87
- package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -80
- package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -126
- package/plugins/cursor-pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -389
- package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -46
- package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -53
- package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -82
- package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/cursor-pbr/skills/shared/state-update.md +0 -162
- package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +0 -38
- package/plugins/cursor-pbr/skills/status/SKILL.md +0 -362
- package/plugins/cursor-pbr/skills/statusline/SKILL.md +0 -150
- package/plugins/cursor-pbr/skills/todo/SKILL.md +0 -280
- package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -53
- package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
- package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
- package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -41
- package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -82
- package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
- package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
- package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
- package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
- package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
- package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +0 -78
- package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
- package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +0 -107
- package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -74
- package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
- package/plugins/cursor-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/cursor-pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/cursor-pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/cursor-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/cursor-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/cursor-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- package/plugins/pbr/references/agent-interactions.md +0 -134
- package/plugins/pbr/references/checkpoints.md +0 -157
- package/plugins/pbr/references/pbr-rules.md +0 -194
- package/plugins/pbr/references/planning-config.md +0 -213
- package/plugins/pbr/references/subagent-coordination.md +0 -119
- package/plugins/pbr/references/ui-formatting.md +0 -444
- package/plugins/pbr/references/verification-patterns.md +0 -198
- package/plugins/pbr/scripts/validate-plugin-structure.js +0 -183
- package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +0 -48
- package/plugins/pbr/skills/shared/progress-display.md +0 -53
- package/plugins/pbr/skills/shared/state-loading.md +0 -62
- package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -97
- package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- /package/plugins/pbr/references/{agent-anti-patterns.md → archive/agent-anti-patterns.md} +0 -0
|
@@ -3,33 +3,40 @@
|
|
|
3
3
|
```yaml
|
|
4
4
|
---
|
|
5
5
|
phase: "{phase_id}"
|
|
6
|
-
verified: "{ISO timestamp}"
|
|
7
6
|
status: "passed" # passed | gaps_found | human_needed
|
|
7
|
+
checked_at: "{ISO timestamp}"
|
|
8
8
|
is_re_verification: false # true if re-verifying after gap closure
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
failed: {n}
|
|
13
|
-
partial: {n}
|
|
14
|
-
human_needed: {n}
|
|
9
|
+
must_haves_checked: {n}
|
|
10
|
+
must_haves_passed: {n}
|
|
11
|
+
must_haves_failed: {n}
|
|
15
12
|
gaps:
|
|
16
13
|
- must_have: "{description of the failed must-have}"
|
|
17
14
|
level: "{existence | substantive | wired}"
|
|
18
15
|
evidence: "{what you found}"
|
|
19
16
|
recommendation: "{specific action to fix}"
|
|
17
|
+
fix_plans:
|
|
18
|
+
- gap: "{gap description}"
|
|
19
|
+
effort: "small" # small | medium | large
|
|
20
|
+
tasks:
|
|
21
|
+
- "{specific fix action with file path}"
|
|
20
22
|
anti_patterns:
|
|
21
23
|
todos: {count}
|
|
22
24
|
stubs: {count}
|
|
23
25
|
console_logs: {count}
|
|
24
26
|
skipped_tests: {count}
|
|
25
27
|
hardcoded_secrets: {count}
|
|
28
|
+
# populated by verifier from implements:[] in plan frontmatter
|
|
29
|
+
satisfied:
|
|
30
|
+
- "REQ-F-001" # REQ-IDs confirmed verified in this phase
|
|
31
|
+
unsatisfied:
|
|
32
|
+
- "REQ-F-002" # REQ-IDs that failed verification
|
|
26
33
|
---
|
|
27
34
|
|
|
28
35
|
# Phase Verification: {phase_name}
|
|
29
36
|
|
|
30
|
-
>
|
|
37
|
+
> Checked at: {date}
|
|
31
38
|
> Status: **{STATUS}**
|
|
32
|
-
> Score: {
|
|
39
|
+
> Score: {must_haves_passed}/{must_haves_checked} must-haves verified
|
|
33
40
|
> Re-verification: {yes/no}
|
|
34
41
|
|
|
35
42
|
## Observable Truths
|
|
@@ -53,23 +60,52 @@ anti_patterns:
|
|
|
53
60
|
|
|
54
61
|
| # | Link Description | Source | Target | Status | Evidence |
|
|
55
62
|
|---|-----------------|--------|--------|--------|----------|
|
|
56
|
-
| 1 | {what connects to what} | `{source_file}` | `{target_file}` | WIRED | Import at L12, called at L45 |
|
|
63
|
+
| 1 | {what connects to what} | `{source_file}` | `{target_file}` | WIRED | Import at L12, called at L45, args correct |
|
|
57
64
|
| 2 | {what connects to what} | `{source_file}` | `{target_file}` | BROKEN | Imported but never called |
|
|
65
|
+
| 3 | {what connects to what} | `{source_file}` | `{target_file}` | ARGS_WRONG | Called at L45 but passes undefined for sessionId (data.session_id in scope) |
|
|
58
66
|
|
|
59
67
|
## Gaps Found
|
|
60
68
|
|
|
61
69
|
{Only present if status is gaps_found}
|
|
62
70
|
|
|
63
|
-
###
|
|
71
|
+
### Critical Gaps
|
|
72
|
+
|
|
73
|
+
{Gaps that block requirements or core functionality}
|
|
74
|
+
|
|
75
|
+
#### Gap 1: {Short description}
|
|
64
76
|
|
|
65
77
|
- **Must-Have**: {which must-have this gap blocks}
|
|
78
|
+
- **Severity**: Critical
|
|
66
79
|
- **Level Failed**: {existence / substantive / wired}
|
|
67
80
|
- **Evidence**: {specific evidence — file paths, line numbers, command output}
|
|
68
81
|
- **Impact**: {what doesn't work because of this gap}
|
|
69
82
|
- **Recommendation**: {specific action to close this gap}
|
|
70
83
|
|
|
71
|
-
###
|
|
72
|
-
|
|
84
|
+
### Non-Critical Gaps
|
|
85
|
+
|
|
86
|
+
{Gaps related to quality, polish, or non-blocking improvements}
|
|
87
|
+
|
|
88
|
+
#### Gap N: {Short description}
|
|
89
|
+
|
|
90
|
+
- **Must-Have**: {which must-have this relates to}
|
|
91
|
+
- **Severity**: Non-Critical
|
|
92
|
+
- **Level Failed**: {existence / substantive / wired}
|
|
93
|
+
- **Evidence**: {evidence}
|
|
94
|
+
- **Impact**: {impact}
|
|
95
|
+
- **Recommendation**: {action}
|
|
96
|
+
|
|
97
|
+
## Recommended Fix Plans
|
|
98
|
+
|
|
99
|
+
{Auto-generated from gaps. Each gap that can be fixed gets a fix plan.}
|
|
100
|
+
|
|
101
|
+
### Fix Plan 1: {Gap title}
|
|
102
|
+
**Gap**: {reference to gap}
|
|
103
|
+
**Estimated effort**: {small/medium/large}
|
|
104
|
+
**Tasks**:
|
|
105
|
+
1. {specific fix action with file path}
|
|
106
|
+
2. {verification step}
|
|
107
|
+
|
|
108
|
+
### Fix Plan 2: ...
|
|
73
109
|
|
|
74
110
|
## Human Verification Items
|
|
75
111
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Project Context
|
|
2
|
+
|
|
3
|
+
> Cross-cutting decisions that ALL phases must honor.
|
|
4
|
+
> Updated via `/pbr:discuss-phase --project`. Auto-synced to CLAUDE.md on write.
|
|
5
|
+
> Phase-level CONTEXT.md (in phase directories) overrides project-level for that phase.
|
|
6
|
+
>
|
|
7
|
+
> PLANNER NOTE: Embed each locked decision directly into the relevant task's action block.
|
|
8
|
+
> Executors NEVER read this file — PLAN.md is self-contained.
|
|
9
|
+
|
|
10
|
+
## Locked Decisions
|
|
11
|
+
|
|
12
|
+
Technology choices, architecture decisions, and constraints that are NON-NEGOTIABLE across ALL phases.
|
|
13
|
+
The planner embeds these into PLAN.md task actions. Executors never read this file directly.
|
|
14
|
+
|
|
15
|
+
| Decision | Rationale | Locked By |
|
|
16
|
+
|----------|-----------|-----------|
|
|
17
|
+
| {e.g., "Use TypeScript strict mode"} | {User preference, team skill} | User |
|
|
18
|
+
| {e.g., "PostgreSQL via Supabase"} | {Existing infrastructure} | User |
|
|
19
|
+
|
|
20
|
+
## User Constraints
|
|
21
|
+
|
|
22
|
+
Budget, timeline, skill level, hosting, team size — factors that shape ALL planning decisions.
|
|
23
|
+
|
|
24
|
+
- {e.g., "Solo developer, no team"}
|
|
25
|
+
- {e.g., "Deploy to Hetzner VPS"}
|
|
26
|
+
- {e.g., "Must work offline"}
|
|
27
|
+
|
|
28
|
+
## Specific References
|
|
29
|
+
|
|
30
|
+
User references, preferences, and "I want it like X" moments that apply across ALL phases.
|
|
31
|
+
These are directional hints for planners, not locked decisions.
|
|
32
|
+
|
|
33
|
+
- **{Reference}** — {Context from user, e.g., "I want the dashboard to feel like Linear"}
|
|
34
|
+
- **{Reference}** — {Context, e.g., "The auth flow should work like Discord's OAuth"}
|
|
35
|
+
|
|
36
|
+
## Code Patterns & Reusable Assets
|
|
37
|
+
|
|
38
|
+
Established patterns, shared utilities, and integration points that planners should leverage
|
|
39
|
+
rather than creating from scratch. Updated as phases complete and patterns emerge.
|
|
40
|
+
|
|
41
|
+
- **{Pattern/Asset}** — {Location and how to reuse, e.g., "pbr-tools.cjs CLI pattern — use for new CLI commands"}
|
|
42
|
+
- **{Pattern/Asset}** — {Location, e.g., "hooks/hook-logger.js — standard logging for all hook scripts"}
|
|
43
|
+
|
|
44
|
+
## Deferred Ideas
|
|
45
|
+
|
|
46
|
+
Ideas explicitly moved to v2 or ruled out. Plans at ANY phase MUST NOT include these.
|
|
47
|
+
|
|
48
|
+
| Idea | Reason Deferred |
|
|
49
|
+
|------|----------------|
|
|
50
|
+
| {feature} | {reason — e.g., "Post-launch priority"} |
|
|
51
|
+
|
|
52
|
+
## Claude's Discretion Areas
|
|
53
|
+
|
|
54
|
+
Areas where planners can make implementation choices without asking the user.
|
|
55
|
+
Document the choice made and rationale when exercised.
|
|
56
|
+
|
|
57
|
+
| Area | Choice Made | Rationale |
|
|
58
|
+
|------|------------|-----------|
|
|
59
|
+
| {e.g., "Logging library"} | {e.g., "pino"} | {e.g., "Lightweight, structured output"} |
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
<!-- Downstream consumers:
|
|
2
|
+
- Synthesizer agent: merges architecture findings into SUMMARY.md. Needs: component list, pattern names, data flow summary.
|
|
3
|
+
- Planner agent: uses architecture for phase dependency ordering. Needs: component dependencies, build order implications, API contract shapes.
|
|
4
|
+
- Build skill: uses architecture patterns during implementation. Needs: specific patterns tied to the chosen stack, anti-patterns to avoid.
|
|
5
|
+
Breaks if missing: Planner creates phases with wrong dependency order; build agents implement without architectural guidance.
|
|
6
|
+
-->
|
|
7
|
+
# Architecture Research
|
|
8
|
+
|
|
9
|
+
**Researched:** {date}
|
|
10
|
+
**Domain:** {domain}
|
|
11
|
+
**Confidence:** {confidence}
|
|
12
|
+
|
|
13
|
+
## System Architecture
|
|
14
|
+
|
|
15
|
+
{High-level overview of the system architecture and its major components.}
|
|
16
|
+
|
|
17
|
+
## Component Diagram
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
{text_based_component_diagram}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Component Responsibilities
|
|
24
|
+
|
|
25
|
+
| Component | Responsibility | Depends On |
|
|
26
|
+
|-----------|----------------|------------|
|
|
27
|
+
| {component} | {responsibility} | {dependencies} |
|
|
28
|
+
|
|
29
|
+
## Data Flow
|
|
30
|
+
|
|
31
|
+
### Primary Data Flow
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
{text_based_data_flow_diagram}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Key Data Paths
|
|
38
|
+
|
|
39
|
+
1. **{path_name}:** {description_of_data_flow}
|
|
40
|
+
|
|
41
|
+
## API Contracts
|
|
42
|
+
|
|
43
|
+
### {API Endpoint or Interface}
|
|
44
|
+
|
|
45
|
+
**Request:**
|
|
46
|
+
```
|
|
47
|
+
{request_shape}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Response:**
|
|
51
|
+
```
|
|
52
|
+
{response_shape}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Error cases:** {error_description}
|
|
56
|
+
|
|
57
|
+
## Architecture Patterns
|
|
58
|
+
|
|
59
|
+
| Pattern | Where Used | Why |
|
|
60
|
+
|---------|-----------|-----|
|
|
61
|
+
| {pattern_name} | {component_or_layer} | {rationale} |
|
|
62
|
+
|
|
63
|
+
### Pattern Details
|
|
64
|
+
|
|
65
|
+
#### {Pattern Name}
|
|
66
|
+
|
|
67
|
+
**What:** {description}
|
|
68
|
+
**When to use:** {conditions}
|
|
69
|
+
**Trade-offs:** {pros_and_cons}
|
|
70
|
+
|
|
71
|
+
## Anti-Patterns to Avoid
|
|
72
|
+
|
|
73
|
+
1. **{anti_pattern_name}**
|
|
74
|
+
- **What people do:** {mistake}
|
|
75
|
+
- **Why it fails:** {problem}
|
|
76
|
+
- **Do instead:** {correct_approach}
|
|
77
|
+
|
|
78
|
+
## Quality Gates
|
|
79
|
+
|
|
80
|
+
- [ ] Architecture patterns are specific to the chosen stack (not generic advice)
|
|
81
|
+
- [ ] Data flow covers all major paths (happy path, error path, async flows)
|
|
82
|
+
- [ ] API contracts include request shape, response shape, and error cases
|
|
83
|
+
- [ ] Component diagram shows all major components and their connections
|
|
84
|
+
- [ ] At least 2 anti-patterns documented with concrete alternatives
|
|
85
|
+
- [ ] Sources include at least one official documentation or architecture guide reference
|
|
86
|
+
|
|
87
|
+
## Sources
|
|
88
|
+
|
|
89
|
+
| # | Type | URL/Description | Confidence |
|
|
90
|
+
|---|------|----------------|------------|
|
|
91
|
+
| S1 | {type} | {url_or_description} | {HIGH/MEDIUM/LOW} |
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<!-- Downstream consumers:
|
|
2
|
+
- Synthesizer agent: merges feature findings into SUMMARY.md. Needs: categorized feature list with priorities and effort estimates.
|
|
3
|
+
- Planner agent: uses feature priorities for requirement prioritization and phase scoping. Needs: must-have/should-have/defer categorization, effort estimates.
|
|
4
|
+
- Begin skill: presents feature inventory to user for scope discussion. Needs: clear feature descriptions with competitive context.
|
|
5
|
+
Breaks if missing: Planner scopes phases without feature priority data; synthesizer produces SUMMARY with no feature guidance.
|
|
6
|
+
-->
|
|
7
|
+
# Features Research
|
|
8
|
+
|
|
9
|
+
**Researched:** {date}
|
|
10
|
+
**Domain:** {domain}
|
|
11
|
+
**Confidence:** {confidence}
|
|
12
|
+
|
|
13
|
+
## Feature Inventory
|
|
14
|
+
|
|
15
|
+
| Feature | Category | Priority | Effort | Description |
|
|
16
|
+
|---------|----------|----------|--------|-------------|
|
|
17
|
+
| {feature} | {category} | {must-have/should-have/defer} | {S/M/L/XL} | {brief_description} |
|
|
18
|
+
|
|
19
|
+
## Competitive Analysis
|
|
20
|
+
|
|
21
|
+
| Feature | Our Approach | Alternative 1 | Alternative 2 | Tradeoff |
|
|
22
|
+
|---------|-------------|---------------|---------------|----------|
|
|
23
|
+
| {feature} | {our_approach} | {alt_1} | {alt_2} | {tradeoff_analysis} |
|
|
24
|
+
|
|
25
|
+
## Prioritization Rationale
|
|
26
|
+
|
|
27
|
+
### Must-Have (table stakes)
|
|
28
|
+
|
|
29
|
+
{Features users expect as baseline. Without these, the product is not viable.}
|
|
30
|
+
|
|
31
|
+
- **{feature}:** {why_must_have}
|
|
32
|
+
|
|
33
|
+
### Should-Have (competitive)
|
|
34
|
+
|
|
35
|
+
{Features that differentiate from alternatives. Important but not blocking launch.}
|
|
36
|
+
|
|
37
|
+
- **{feature}:** {why_should_have}
|
|
38
|
+
|
|
39
|
+
### Defer (v2+)
|
|
40
|
+
|
|
41
|
+
{Features explicitly excluded from initial scope with rationale.}
|
|
42
|
+
|
|
43
|
+
- **{feature}:** {why_defer}
|
|
44
|
+
|
|
45
|
+
## Deferred Features
|
|
46
|
+
|
|
47
|
+
| Feature | Reason Deferred | Revisit When | Effort if Added Later |
|
|
48
|
+
|---------|----------------|--------------|----------------------|
|
|
49
|
+
| {feature} | {reason} | {trigger} | {effort_estimate} |
|
|
50
|
+
|
|
51
|
+
## Quality Gates
|
|
52
|
+
|
|
53
|
+
- [ ] Every feature categorized as must-have, should-have, or defer
|
|
54
|
+
- [ ] Effort estimates present for all features (S/M/L/XL)
|
|
55
|
+
- [ ] Competitive analysis has at least 2 alternatives per major feature
|
|
56
|
+
- [ ] Must-have features have clear rationale for why they are table stakes
|
|
57
|
+
- [ ] Deferred features include revisit triggers
|
|
58
|
+
- [ ] Sources include at least one market or user research reference
|
|
59
|
+
|
|
60
|
+
## Sources
|
|
61
|
+
|
|
62
|
+
| # | Type | URL/Description | Confidence |
|
|
63
|
+
|---|------|----------------|------------|
|
|
64
|
+
| S1 | {type} | {url_or_description} | {HIGH/MEDIUM/LOW} |
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!-- Downstream consumers:
|
|
2
|
+
- Synthesizer agent: merges pitfall findings into SUMMARY.md. Needs: numbered pitfalls with severity and avoidance strategies.
|
|
3
|
+
- Planner agent: reads pitfalls to add defensive verification steps to plans. Needs: specific, actionable avoidance strategies.
|
|
4
|
+
- Build skill: uses avoidance strategies during implementation. Needs: detection methods to catch pitfalls early.
|
|
5
|
+
Breaks if missing: Plans lack defensive verification; synthesizer produces SUMMARY with no risk awareness.
|
|
6
|
+
-->
|
|
7
|
+
# Pitfalls Research
|
|
8
|
+
|
|
9
|
+
**Researched:** {date}
|
|
10
|
+
**Domain:** {domain}
|
|
11
|
+
**Confidence:** {confidence}
|
|
12
|
+
|
|
13
|
+
## Critical Pitfalls
|
|
14
|
+
|
|
15
|
+
{Pitfalls that cause project failure or major rework if not avoided.}
|
|
16
|
+
|
|
17
|
+
1. **{pitfall_name}** [{source}]
|
|
18
|
+
- **Impact:** {what_goes_wrong}
|
|
19
|
+
- **Root cause:** {why_it_happens}
|
|
20
|
+
- **Avoidance:** {specific_steps_to_prevent}
|
|
21
|
+
- **Detection:** {how_to_catch_early}
|
|
22
|
+
|
|
23
|
+
## Common Mistakes
|
|
24
|
+
|
|
25
|
+
{Mistakes that cause delays but are recoverable.}
|
|
26
|
+
|
|
27
|
+
1. **{mistake_name}** [{source}]
|
|
28
|
+
- **Impact:** {what_goes_wrong}
|
|
29
|
+
- **Avoidance:** {what_to_do_instead}
|
|
30
|
+
|
|
31
|
+
## Environment-Specific Gotchas
|
|
32
|
+
|
|
33
|
+
| Environment | Gotcha | Workaround |
|
|
34
|
+
|-------------|--------|------------|
|
|
35
|
+
| {env} | {issue} | {fix} |
|
|
36
|
+
|
|
37
|
+
## Quality Gates
|
|
38
|
+
|
|
39
|
+
- [ ] At least 3 critical pitfalls identified with source attribution
|
|
40
|
+
- [ ] Each critical pitfall has a concrete avoidance strategy (not "be careful")
|
|
41
|
+
- [ ] Each critical pitfall has a detection method
|
|
42
|
+
- [ ] Environment-specific gotchas checked for target platform
|
|
43
|
+
- [ ] Common mistakes section has at least 2 entries
|
|
44
|
+
- [ ] Sources include at least one official documentation reference
|
|
45
|
+
|
|
46
|
+
## Sources
|
|
47
|
+
|
|
48
|
+
| # | Type | URL/Description | Confidence |
|
|
49
|
+
|---|------|----------------|------------|
|
|
50
|
+
| S1 | {type} | {url_or_description} | {HIGH/MEDIUM/LOW} |
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<!-- Downstream consumers:
|
|
2
|
+
- Synthesizer agent: merges stack findings into SUMMARY.md. Needs: technology table with versions and rationale, confidence levels per recommendation.
|
|
3
|
+
- Planner agent: uses stack decisions for phase planning and dependency ordering. Needs: prescriptive technology choices (not "consider X or Y"), version numbers, package manager.
|
|
4
|
+
- Dashboard ResearchTab: displays research confidence. Needs: frontmatter confidence field.
|
|
5
|
+
Breaks if missing: Synthesizer produces SUMMARY with vague stack section; planner makes technology decisions without research backing.
|
|
6
|
+
-->
|
|
7
|
+
# Stack Research
|
|
8
|
+
|
|
9
|
+
**Researched:** {date}
|
|
10
|
+
**Domain:** {domain}
|
|
11
|
+
**Confidence:** {confidence}
|
|
12
|
+
|
|
13
|
+
## Core Stack
|
|
14
|
+
|
|
15
|
+
| Technology | Version | Purpose | Why Standard |
|
|
16
|
+
|------------|---------|---------|--------------|
|
|
17
|
+
| {technology} | {version} | {purpose} | {rationale} |
|
|
18
|
+
|
|
19
|
+
## Supporting Tools
|
|
20
|
+
|
|
21
|
+
| Tool | Version | Purpose | When to Use |
|
|
22
|
+
|------|---------|---------|-------------|
|
|
23
|
+
| {tool} | {version} | {purpose} | {use_case} |
|
|
24
|
+
|
|
25
|
+
## Package Manager
|
|
26
|
+
|
|
27
|
+
**Recommended:** {package_manager}
|
|
28
|
+
**Why:** {rationale}
|
|
29
|
+
|
|
30
|
+
## Deployment Target
|
|
31
|
+
|
|
32
|
+
| Property | Value | Notes |
|
|
33
|
+
|----------|-------|-------|
|
|
34
|
+
| Platform | {platform} | {notes} |
|
|
35
|
+
| Hosting | {hosting} | {notes} |
|
|
36
|
+
| CI/CD | {ci_cd} | {notes} |
|
|
37
|
+
|
|
38
|
+
## Alternatives Considered
|
|
39
|
+
|
|
40
|
+
| Recommended | Alternative | Why Not |
|
|
41
|
+
|-------------|-------------|---------|
|
|
42
|
+
| {our_choice} | {alternative} | {rejection_reason} |
|
|
43
|
+
|
|
44
|
+
## Version Compatibility
|
|
45
|
+
|
|
46
|
+
| Package A | Compatible With | Notes |
|
|
47
|
+
|-----------|-----------------|-------|
|
|
48
|
+
| {package_a} | {package_b} | {compatibility_notes} |
|
|
49
|
+
|
|
50
|
+
## Quality Gates
|
|
51
|
+
|
|
52
|
+
- [ ] All technology recommendations are prescriptive ("Use X") not exploratory ("Consider X or Y")
|
|
53
|
+
- [ ] Every technology entry has a specific version number (not "latest")
|
|
54
|
+
- [ ] Core stack table has at least 3 entries
|
|
55
|
+
- [ ] Alternatives Considered table documents at least 2 rejected alternatives with rationale
|
|
56
|
+
- [ ] Package manager recommendation includes rationale
|
|
57
|
+
- [ ] Sources include at least one official documentation reference
|
|
58
|
+
|
|
59
|
+
## Sources
|
|
60
|
+
|
|
61
|
+
| # | Type | URL/Description | Confidence |
|
|
62
|
+
|---|------|----------------|------------|
|
|
63
|
+
| S1 | {type} | {url_or_description} | {HIGH/MEDIUM/LOW} |
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
<!-- Downstream consumers:
|
|
2
|
+
- Planner agent (primary consumer): reads SUMMARY.md for all phase planning decisions. Needs: stack recommendation, architecture recommendation, key risks, feature priorities, confidence assessment.
|
|
3
|
+
- Begin skill: presents synthesis to user for approval before roadmap creation. Needs: executive summary, consolidated recommendations.
|
|
4
|
+
- Dashboard ResearchTab: displays synthesis with confidence levels. Needs: confidence assessment table, research coverage.
|
|
5
|
+
Breaks if missing: Planner makes phase decisions without research backing; user approves roadmap without seeing synthesis; dashboard shows empty research card.
|
|
6
|
+
-->
|
|
7
|
+
# Research Synthesis
|
|
8
|
+
|
|
9
|
+
**Synthesized:** {date}
|
|
10
|
+
**Input documents:** {count}
|
|
11
|
+
**Confidence:** {overall_confidence}
|
|
12
|
+
|
|
13
|
+
## Executive Summary
|
|
14
|
+
|
|
15
|
+
{Unified findings across all research dimensions in under 200 words. State: what was researched, key conclusions, primary recommendation, and confidence level.}
|
|
16
|
+
|
|
17
|
+
## Stack Recommendation
|
|
18
|
+
|
|
19
|
+
**Recommended stack:** {one_line_summary}
|
|
20
|
+
|
|
21
|
+
{Key technology choices with rationale, sourced from STACK research.}
|
|
22
|
+
|
|
23
|
+
- **{technology}:** {version} -- {why_chosen}
|
|
24
|
+
|
|
25
|
+
## Architecture Recommendation
|
|
26
|
+
|
|
27
|
+
**Recommended pattern:** {pattern_name}
|
|
28
|
+
|
|
29
|
+
{Architecture approach with component overview, sourced from ARCHITECTURE research.}
|
|
30
|
+
|
|
31
|
+
- **{component}:** {responsibility}
|
|
32
|
+
|
|
33
|
+
## Key Risks
|
|
34
|
+
|
|
35
|
+
{Top risks from PITFALLS research, ordered by impact.}
|
|
36
|
+
|
|
37
|
+
1. **{risk}** -- {mitigation}
|
|
38
|
+
2. **{risk}** -- {mitigation}
|
|
39
|
+
3. **{risk}** -- {mitigation}
|
|
40
|
+
|
|
41
|
+
## Feature Priorities
|
|
42
|
+
|
|
43
|
+
{Prioritized feature summary from FEATURES research.}
|
|
44
|
+
|
|
45
|
+
**Must-have:** {must_have_features}
|
|
46
|
+
**Should-have:** {should_have_features}
|
|
47
|
+
**Deferred:** {deferred_features}
|
|
48
|
+
|
|
49
|
+
## Consolidated Recommendations
|
|
50
|
+
|
|
51
|
+
{Actionable recommendations that integrate findings across all dimensions.}
|
|
52
|
+
|
|
53
|
+
1. {recommendation}
|
|
54
|
+
2. {recommendation}
|
|
55
|
+
3. {recommendation}
|
|
56
|
+
|
|
57
|
+
## Confidence Assessment
|
|
58
|
+
|
|
59
|
+
| Dimension | Confidence | Gaps |
|
|
60
|
+
|-----------|------------|------|
|
|
61
|
+
| Stack | {HIGH/MEDIUM/LOW} | {gaps_or_none} |
|
|
62
|
+
| Features | {HIGH/MEDIUM/LOW} | {gaps_or_none} |
|
|
63
|
+
| Architecture | {HIGH/MEDIUM/LOW} | {gaps_or_none} |
|
|
64
|
+
| Pitfalls | {HIGH/MEDIUM/LOW} | {gaps_or_none} |
|
|
65
|
+
|
|
66
|
+
**Overall confidence:** {confidence}
|
|
67
|
+
|
|
68
|
+
## Research Coverage
|
|
69
|
+
|
|
70
|
+
| Dimension | Status | Notes |
|
|
71
|
+
|-----------|--------|-------|
|
|
72
|
+
| Stack | {COMPLETE/PARTIAL/MISSING} | {notes} |
|
|
73
|
+
| Features | {COMPLETE/PARTIAL/MISSING} | {notes} |
|
|
74
|
+
| Architecture | {COMPLETE/PARTIAL/MISSING} | {notes} |
|
|
75
|
+
| Pitfalls | {COMPLETE/PARTIAL/MISSING} | {notes} |
|
|
76
|
+
|
|
77
|
+
**Dimensions researched:** {count}/4
|
|
78
|
+
**Gaps requiring attention:** {list_or_none}
|
|
79
|
+
|
|
80
|
+
## Quality Gates
|
|
81
|
+
|
|
82
|
+
- [ ] Executive summary is under 200 words
|
|
83
|
+
- [ ] All 4 research dimensions referenced (Stack, Features, Architecture, Pitfalls)
|
|
84
|
+
- [ ] Confidence gaps explicitly listed for each dimension
|
|
85
|
+
- [ ] Recommendations are prescriptive and actionable (not "consider" or "evaluate")
|
|
86
|
+
- [ ] Partial failure handled -- missing dimensions noted, not silently omitted
|
|
87
|
+
- [ ] Sources consolidated from all input documents
|
|
88
|
+
|
|
89
|
+
## Sources
|
|
90
|
+
|
|
91
|
+
### Primary (HIGH confidence)
|
|
92
|
+
- {source}
|
|
93
|
+
|
|
94
|
+
### Secondary (MEDIUM confidence)
|
|
95
|
+
- {source}
|
|
96
|
+
|
|
97
|
+
### Tertiary (LOW confidence)
|
|
98
|
+
- {source}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Copy PBR hooks to dist for installation.
|
|
4
|
+
*
|
|
5
|
+
* Dynamically discovers all .js files in hooks/ and copies them along
|
|
6
|
+
* with hooks.json and hooks-schema.json to hooks/dist/.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
|
|
12
|
+
const HOOKS_DIR = path.join(__dirname, '..', 'hooks');
|
|
13
|
+
const DIST_DIR = path.join(HOOKS_DIR, 'dist');
|
|
14
|
+
|
|
15
|
+
// Static assets to copy alongside hook scripts
|
|
16
|
+
const STATIC_FILES = [
|
|
17
|
+
'hooks.json',
|
|
18
|
+
'hooks-schema.json'
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
function build() {
|
|
22
|
+
// Ensure dist directory exists
|
|
23
|
+
if (!fs.existsSync(DIST_DIR)) {
|
|
24
|
+
fs.mkdirSync(DIST_DIR, { recursive: true });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Discover all .js files in hooks/
|
|
28
|
+
const jsFiles = fs.readdirSync(HOOKS_DIR).filter(f => f.endsWith('.js'));
|
|
29
|
+
|
|
30
|
+
// Copy all .js hook scripts
|
|
31
|
+
let copied = 0;
|
|
32
|
+
for (const file of jsFiles) {
|
|
33
|
+
const src = path.join(HOOKS_DIR, file);
|
|
34
|
+
const dest = path.join(DIST_DIR, file);
|
|
35
|
+
|
|
36
|
+
console.log(`Copying ${file}...`);
|
|
37
|
+
fs.copyFileSync(src, dest);
|
|
38
|
+
console.log(` → ${dest}`);
|
|
39
|
+
copied++;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Copy static assets (hooks.json, hooks-schema.json)
|
|
43
|
+
for (const file of STATIC_FILES) {
|
|
44
|
+
const src = path.join(HOOKS_DIR, file);
|
|
45
|
+
const dest = path.join(DIST_DIR, file);
|
|
46
|
+
|
|
47
|
+
if (!fs.existsSync(src)) {
|
|
48
|
+
console.warn(`Warning: ${file} not found, skipping`);
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
console.log(`Copying ${file}...`);
|
|
53
|
+
fs.copyFileSync(src, dest);
|
|
54
|
+
console.log(` → ${dest}`);
|
|
55
|
+
copied++;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
console.log(`\nBuild complete. ${copied} files copied.`);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
build();
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* check-ci.js — Check GitHub Actions CI status and cache for the status line.
|
|
5
|
+
*
|
|
6
|
+
* Writes .planning/.ci-status.json with the latest CI run status.
|
|
7
|
+
* The status line reads this file to show CI pass/fail/pending.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* node scripts/check-ci.js # Check latest run for current branch
|
|
11
|
+
* node scripts/check-ci.js --watch # Check and exit non-zero on failure
|
|
12
|
+
*
|
|
13
|
+
* Requires: gh CLI authenticated with repo access.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
'use strict';
|
|
17
|
+
|
|
18
|
+
const fs = require('fs');
|
|
19
|
+
const path = require('path');
|
|
20
|
+
const cp = require('child_process');
|
|
21
|
+
|
|
22
|
+
const planningDir = path.join(process.cwd(), '.planning');
|
|
23
|
+
const ciFile = path.join(planningDir, '.ci-status.json');
|
|
24
|
+
|
|
25
|
+
function main() {
|
|
26
|
+
const watch = process.argv.includes('--watch');
|
|
27
|
+
|
|
28
|
+
// Get current branch
|
|
29
|
+
let branch;
|
|
30
|
+
try {
|
|
31
|
+
branch = cp.execSync('git branch --show-current', {
|
|
32
|
+
encoding: 'utf8', timeout: 5000, stdio: ['pipe', 'pipe', 'pipe']
|
|
33
|
+
}).trim();
|
|
34
|
+
} catch (_e) {
|
|
35
|
+
console.error('check-ci: not in a git repo');
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Get latest CI run via gh CLI
|
|
40
|
+
let runs;
|
|
41
|
+
try {
|
|
42
|
+
const output = cp.execSync(
|
|
43
|
+
`gh run list --branch ${branch} --limit 1 --json status,conclusion,headBranch,event,createdAt,name,databaseId`,
|
|
44
|
+
{ encoding: 'utf8', timeout: 15000, stdio: ['pipe', 'pipe', 'pipe'] }
|
|
45
|
+
);
|
|
46
|
+
runs = JSON.parse(output);
|
|
47
|
+
} catch (e) {
|
|
48
|
+
// gh CLI not available or not authenticated
|
|
49
|
+
console.error('check-ci: gh CLI failed —', e.message || 'unknown error');
|
|
50
|
+
// Write unknown status so status line knows we tried
|
|
51
|
+
writeStatus({ status: 'unknown', branch, error: 'gh CLI unavailable' });
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (!runs || runs.length === 0) {
|
|
56
|
+
console.log(`check-ci: no CI runs found for branch '${branch}'`);
|
|
57
|
+
writeStatus({ status: 'none', branch });
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const run = runs[0];
|
|
62
|
+
let status;
|
|
63
|
+
|
|
64
|
+
if (run.status === 'completed') {
|
|
65
|
+
status = run.conclusion === 'success' ? 'pass' : 'fail';
|
|
66
|
+
} else if (run.status === 'in_progress' || run.status === 'queued') {
|
|
67
|
+
status = 'pending';
|
|
68
|
+
} else {
|
|
69
|
+
status = 'unknown';
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const result = {
|
|
73
|
+
status,
|
|
74
|
+
branch,
|
|
75
|
+
conclusion: run.conclusion || null,
|
|
76
|
+
name: run.name || null,
|
|
77
|
+
runId: run.databaseId || null,
|
|
78
|
+
createdAt: run.createdAt || null,
|
|
79
|
+
timestamp: new Date().toISOString()
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
writeStatus(result);
|
|
83
|
+
|
|
84
|
+
const icons = { pass: '✓', fail: '✗', pending: '○', unknown: '?', none: '-' };
|
|
85
|
+
const icon = icons[status] || '?';
|
|
86
|
+
console.log(`check-ci: ${icon} ${status} — ${run.name || 'CI'} on ${branch}`);
|
|
87
|
+
|
|
88
|
+
if (watch && status === 'fail') {
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function writeStatus(data) {
|
|
94
|
+
if (!fs.existsSync(planningDir)) {
|
|
95
|
+
fs.mkdirSync(planningDir, { recursive: true });
|
|
96
|
+
}
|
|
97
|
+
fs.writeFileSync(ciFile, JSON.stringify(data, null, 2), 'utf8');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
main();
|