@sienklogic/plan-build-run 2.19.0 → 2.19.2
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 +1287 -303
- package/CLAUDE.md +74 -39
- package/LICENSE +2 -1
- package/README.md +412 -177
- package/bin/install.js +2752 -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 +27 -25
- package/dashboard/server/index.js +151 -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 +234 -0
- package/dashboard/server/routes/config.js +64 -0
- package/dashboard/server/routes/health.js +98 -0
- package/dashboard/server/routes/incidents.js +78 -0
- package/dashboard/server/routes/intel.js +69 -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/sessions.js +70 -0
- package/dashboard/server/routes/status.js +25 -0
- package/dashboard/server/routes/telemetry.js +233 -0
- package/dashboard/server/services/file-watcher.js +105 -0
- package/dashboard/server/services/planning-reader.js +727 -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 +165 -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 +22 -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/IncidentsPage.jsx +135 -0
- package/dashboard/src/pages/IntelPage.jsx +193 -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/ResearchPage.jsx +129 -0
- package/dashboard/src/pages/RoadmapPage.jsx +251 -0
- package/dashboard/src/pages/SessionsPage.jsx +117 -0
- package/dashboard/src/pages/Telemetry.jsx +166 -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/package.json +55 -40
- package/plan-build-run/bin/config-schema.json +1298 -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/advisor-researcher.md +101 -0
- package/plugins/pbr/agents/audit.md +205 -89
- package/plugins/pbr/agents/codebase-mapper.md +158 -23
- package/plugins/pbr/agents/debugger.md +212 -34
- package/plugins/pbr/agents/dev-sync.md +206 -0
- package/plugins/pbr/agents/executor.md +717 -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 +332 -0
- package/plugins/pbr/agents/nyquist-auditor.md +253 -0
- package/plugins/pbr/agents/plan-checker.md +265 -65
- package/plugins/pbr/agents/planner.md +440 -42
- package/plugins/pbr/agents/researcher.md +219 -36
- package/plugins/pbr/agents/roadmapper.md +397 -0
- package/plugins/pbr/agents/synthesizer.md +166 -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 +495 -47
- package/plugins/pbr/commands/add-phase.md +75 -0
- package/plugins/pbr/commands/add-todo.md +8 -0
- package/plugins/pbr/commands/audit-fix.md +5 -0
- package/plugins/pbr/commands/audit-milestone.md +8 -0
- package/plugins/pbr/commands/autonomous.md +5 -0
- package/plugins/pbr/commands/backlog.md +6 -0
- package/plugins/pbr/commands/check-todos.md +8 -0
- package/plugins/pbr/commands/complete-milestone.md +8 -0
- package/plugins/pbr/commands/config.md +1 -1
- package/plugins/pbr/commands/discuss-phase.md +6 -0
- package/plugins/pbr/commands/do.md +5 -0
- package/plugins/pbr/commands/execute-phase.md +6 -0
- package/plugins/pbr/commands/fast.md +6 -0
- package/plugins/pbr/commands/forensics.md +6 -0
- package/plugins/pbr/commands/import.md +1 -1
- 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 +5 -0
- package/plugins/pbr/commands/map-codebase.md +6 -0
- package/plugins/pbr/commands/milestone-summary.md +6 -0
- package/plugins/pbr/commands/new-milestone.md +8 -0
- package/plugins/pbr/commands/new-project.md +6 -0
- package/plugins/pbr/commands/pause-work.md +5 -0
- package/plugins/pbr/commands/plan-milestone-gaps.md +7 -0
- package/plugins/pbr/commands/plan-phase.md +6 -0
- package/plugins/pbr/commands/plant-seed.md +6 -0
- 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 +1 -1
- 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/seed.md +6 -0
- 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 +1 -1
- package/plugins/pbr/commands/ship.md +5 -0
- package/plugins/pbr/commands/stats.md +6 -0
- package/plugins/pbr/commands/test.md +5 -0
- package/plugins/pbr/commands/thread.md +6 -0
- package/plugins/pbr/commands/todo.md +1 -1
- 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/dist/architecture-guard.js +59 -0
- package/plugins/pbr/dist/audit-dimensions.js +556 -0
- package/plugins/pbr/dist/auto-continue.js +277 -0
- package/plugins/pbr/dist/block-skill-self-read.js +124 -0
- package/plugins/pbr/dist/check-agent-state-write.js +63 -0
- package/plugins/pbr/dist/check-config-change.js +155 -0
- package/plugins/pbr/dist/check-cross-plugin-sync.js +93 -0
- package/plugins/pbr/dist/check-dangerous-commands.js +193 -0
- package/plugins/pbr/dist/check-direct-state-write.js +37 -0
- package/plugins/pbr/dist/check-doc-sprawl.js +102 -0
- package/plugins/pbr/dist/check-phase-boundary.js +191 -0
- package/plugins/pbr/dist/check-plan-format.js +209 -0
- package/plugins/pbr/dist/check-read-first.js +345 -0
- package/plugins/pbr/dist/check-roadmap-sync.js +507 -0
- package/plugins/pbr/dist/check-skill-workflow.js +354 -0
- package/plugins/pbr/dist/check-state-sync.js +658 -0
- package/plugins/pbr/dist/check-subagent-output.js +396 -0
- package/plugins/pbr/dist/check-summary-gate.js +188 -0
- package/plugins/pbr/dist/context-bridge.js +425 -0
- package/plugins/pbr/dist/context-budget-check.js +442 -0
- package/plugins/pbr/dist/context-quality.js +271 -0
- package/plugins/pbr/dist/enforce-context-budget.js +138 -0
- package/plugins/pbr/dist/enforce-pbr-workflow.js +277 -0
- package/plugins/pbr/dist/event-handler.js +202 -0
- package/plugins/pbr/dist/event-logger.js +125 -0
- package/plugins/pbr/dist/feedback-loop.js +155 -0
- package/plugins/pbr/dist/graph-update.js +422 -0
- package/plugins/pbr/dist/hook-logger.js +114 -0
- package/plugins/pbr/dist/hook-server-client.js +361 -0
- package/plugins/pbr/dist/hook-server.js +658 -0
- package/plugins/pbr/dist/hooks-schema.json +87 -0
- package/plugins/pbr/dist/instructions-loaded.js +173 -0
- package/plugins/pbr/dist/intercept-plan-mode.js +81 -0
- package/plugins/pbr/dist/log-notification.js +131 -0
- package/plugins/pbr/dist/log-subagent.js +349 -0
- package/plugins/pbr/dist/log-tool-failure.js +140 -0
- package/plugins/pbr/dist/milestone-learnings.js +519 -0
- package/plugins/pbr/dist/pbr-tools.js +1961 -0
- package/plugins/pbr/dist/post-bash-triage.js +96 -0
- package/plugins/pbr/dist/post-compact.js +135 -0
- package/plugins/pbr/dist/post-hoc.js +237 -0
- package/plugins/pbr/dist/post-write-dispatch.js +243 -0
- package/plugins/pbr/dist/post-write-quality.js +208 -0
- package/plugins/pbr/dist/pre-bash-dispatch.js +212 -0
- package/plugins/pbr/dist/pre-skill-dispatch.js +114 -0
- package/plugins/pbr/dist/pre-task-dispatch.js +269 -0
- package/plugins/pbr/dist/pre-write-dispatch.js +234 -0
- package/plugins/pbr/dist/progress-tracker.js +173 -0
- package/plugins/pbr/dist/prompt-guard.js +114 -0
- package/plugins/pbr/dist/prompt-routing.js +209 -0
- package/plugins/pbr/dist/quick-status.js +179 -0
- package/plugins/pbr/dist/record-incident.js +37 -0
- package/plugins/pbr/dist/run-hook.js +144 -0
- package/plugins/pbr/dist/session-cleanup.js +653 -0
- package/plugins/pbr/dist/session-tracker.js +124 -0
- package/plugins/pbr/dist/status-line.js +849 -0
- package/plugins/pbr/dist/suggest-compact.js +307 -0
- package/plugins/pbr/dist/sync-context-to-claude.js +100 -0
- package/plugins/pbr/dist/task-completed.js +206 -0
- package/plugins/pbr/dist/track-context-budget.js +432 -0
- package/plugins/pbr/dist/track-user-gates.js +88 -0
- package/plugins/pbr/dist/trust-tracker.js +193 -0
- package/plugins/pbr/dist/validate-commit.js +215 -0
- package/plugins/pbr/dist/validate-skill-args.js +222 -0
- package/plugins/pbr/dist/validate-task.js +271 -0
- package/plugins/pbr/dist/worktree-create.js +144 -0
- package/plugins/pbr/dist/worktree-remove.js +147 -0
- package/plugins/pbr/hooks/hooks.json +143 -60
- package/plugins/pbr/references/agent-contracts.md +39 -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/hook-ordering.md +89 -0
- package/plugins/pbr/references/archive/limitations.md +106 -0
- package/plugins/pbr/references/archive/pbr-rules.md +194 -0
- package/plugins/pbr/references/archive/pbr-tools-cli.md +415 -0
- package/plugins/pbr/references/archive/pretooluse-jsonl-behavior.md +58 -0
- package/plugins/pbr/references/archive/signal-files.md +41 -0
- package/plugins/pbr/references/archive/tmux-setup.md +288 -0
- package/plugins/pbr/references/archive/verification-matrix.md +34 -0
- package/plugins/pbr/references/archive/verification-patterns.md +277 -0
- package/plugins/pbr/references/archive/worktree-sparse-checkout.md +86 -0
- package/plugins/pbr/references/checkpoints.md +723 -104
- package/plugins/pbr/references/config-reference.md +376 -10
- package/plugins/pbr/references/continuation-format.md +1 -0
- package/plugins/pbr/references/decimal-phase-calculation.md +65 -0
- package/plugins/pbr/references/deviation-rules.md +12 -0
- package/plugins/pbr/references/git-integration.md +110 -27
- package/plugins/pbr/references/git-planning-commit.md +35 -0
- package/plugins/pbr/references/model-profile-resolution.md +34 -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/plan-authoring.md +65 -0
- package/plugins/pbr/references/plan-format.md +161 -10
- package/plugins/pbr/references/questioning.md +138 -49
- package/plugins/pbr/references/reading-verification.md +4 -4
- package/plugins/pbr/references/tdd.md +263 -0
- package/plugins/pbr/references/ui-brand.md +449 -0
- package/plugins/pbr/references/verification-overrides.md +39 -0
- package/plugins/pbr/references/verification-patterns.md +529 -113
- package/plugins/pbr/scripts/architecture-guard.js +59 -0
- package/plugins/pbr/scripts/audit-checks/behavioral-compliance.js +2098 -0
- package/plugins/pbr/scripts/audit-checks/error-analysis.js +989 -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 +396 -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 +1175 -0
- package/plugins/pbr/scripts/audit-dimensions.js +556 -0
- package/plugins/pbr/scripts/auto-continue.js +192 -31
- package/plugins/pbr/scripts/block-skill-self-read.js +124 -0
- package/plugins/pbr/scripts/check-agent-state-write.js +63 -0
- package/plugins/pbr/scripts/check-config-change.js +155 -0
- package/plugins/pbr/scripts/check-cross-plugin-sync.js +93 -0
- package/plugins/pbr/scripts/check-dangerous-commands.js +18 -5
- package/plugins/pbr/scripts/check-direct-state-write.js +37 -0
- package/plugins/pbr/scripts/check-phase-boundary.js +3 -8
- package/plugins/pbr/scripts/check-plan-format.js +135 -278
- package/plugins/pbr/scripts/check-read-first.js +345 -0
- package/plugins/pbr/scripts/check-roadmap-sync.js +182 -21
- package/plugins/pbr/scripts/check-skill-workflow.js +24 -27
- package/plugins/pbr/scripts/check-state-sync.js +339 -215
- package/plugins/pbr/scripts/check-subagent-output.js +281 -275
- package/plugins/pbr/scripts/check-summary-gate.js +5 -15
- package/plugins/pbr/scripts/config-schema.json +1134 -95
- package/plugins/pbr/scripts/context-bridge.js +425 -0
- package/plugins/pbr/scripts/context-budget-check.js +169 -14
- package/plugins/pbr/scripts/context-quality.js +271 -0
- package/plugins/pbr/scripts/enforce-context-budget.js +138 -0
- package/plugins/pbr/scripts/enforce-pbr-workflow.js +277 -0
- package/plugins/pbr/scripts/event-handler.js +127 -87
- package/plugins/pbr/scripts/event-logger.js +58 -25
- package/plugins/pbr/scripts/feedback-loop.js +155 -0
- package/plugins/pbr/scripts/graph-update.js +422 -0
- package/plugins/pbr/scripts/hook-logger.js +69 -35
- package/plugins/pbr/scripts/hook-server-client.js +361 -0
- package/plugins/pbr/scripts/hook-server.js +658 -0
- package/plugins/pbr/scripts/hooks-schema.json +13 -5
- package/plugins/pbr/scripts/instructions-loaded.js +173 -0
- package/plugins/pbr/scripts/intent-router.cjs +147 -0
- package/plugins/pbr/scripts/intercept-plan-mode.js +52 -18
- package/plugins/pbr/scripts/lib/alternatives.js +203 -0
- package/plugins/pbr/scripts/lib/audit.js +65 -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/build.js +719 -0
- package/plugins/pbr/scripts/lib/ci-fix-loop.js +228 -0
- package/plugins/pbr/scripts/lib/commands.js +483 -0
- package/plugins/pbr/scripts/lib/compound.js +216 -0
- package/plugins/pbr/scripts/lib/config.js +1308 -0
- package/plugins/pbr/scripts/lib/context.js +254 -0
- package/plugins/pbr/scripts/lib/contextual-help.js +183 -0
- package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
- package/plugins/pbr/scripts/lib/core.js +1569 -0
- package/plugins/pbr/scripts/lib/dashboard-launch.js +364 -0
- package/plugins/pbr/scripts/lib/data-hygiene.js +179 -0
- package/plugins/pbr/scripts/lib/decision-extraction.js +183 -0
- package/plugins/pbr/scripts/lib/decisions.js +194 -0
- package/plugins/pbr/scripts/lib/dependency-break.js +147 -0
- package/plugins/pbr/scripts/lib/format-validators.js +1025 -0
- package/plugins/pbr/scripts/lib/frontmatter.js +302 -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 +93 -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/plan-validation.js +114 -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 +137 -0
- package/plugins/pbr/scripts/lib/gates/user-confirmation.js +93 -0
- package/plugins/pbr/scripts/lib/graph-cli.js +89 -0
- package/plugins/pbr/scripts/lib/graph.js +553 -0
- package/plugins/pbr/scripts/lib/health-checks.js +107 -0
- package/plugins/pbr/scripts/lib/health-phase06.js +120 -0
- package/plugins/pbr/scripts/lib/health.js +132 -0
- package/plugins/pbr/scripts/lib/help.js +100 -0
- package/plugins/pbr/scripts/lib/history.js +150 -0
- package/plugins/pbr/scripts/lib/impact-analysis.js +319 -0
- package/plugins/pbr/scripts/lib/incidents.js +190 -0
- package/plugins/pbr/scripts/lib/init.js +643 -0
- package/plugins/pbr/scripts/lib/insights-parser.js +320 -0
- package/plugins/pbr/scripts/lib/intel.js +653 -0
- package/plugins/pbr/scripts/lib/learnings.js +511 -0
- package/plugins/pbr/scripts/lib/migrate.js +298 -0
- package/plugins/pbr/scripts/lib/milestone.js +306 -0
- package/plugins/pbr/scripts/lib/negative-knowledge.js +194 -0
- package/plugins/pbr/scripts/lib/notification-throttle.js +141 -0
- package/plugins/pbr/scripts/lib/onboarding-generator.js +288 -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/patterns.js +272 -0
- package/plugins/pbr/scripts/lib/perf.js +190 -0
- package/plugins/pbr/scripts/lib/phase.js +1025 -0
- package/plugins/pbr/scripts/lib/pid-lock.js +154 -0
- package/plugins/pbr/scripts/lib/post-hoc.js +160 -0
- package/plugins/pbr/scripts/lib/pre-commit-checks.js +220 -0
- package/plugins/pbr/scripts/lib/pre-research.js +126 -0
- package/plugins/pbr/scripts/lib/preview.js +174 -0
- package/plugins/pbr/scripts/lib/progress-visualization.js +296 -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/requirements.js +153 -0
- package/plugins/pbr/scripts/lib/resolve-root.js +66 -0
- package/plugins/pbr/scripts/lib/reverse-spec.js +259 -0
- package/plugins/pbr/scripts/lib/roadmap.js +1089 -0
- package/plugins/pbr/scripts/lib/security-scan.js +200 -0
- package/plugins/pbr/scripts/lib/session-briefing.js +895 -0
- package/plugins/pbr/scripts/lib/skill-section.js +99 -0
- package/plugins/pbr/scripts/lib/smart-next-task.js +198 -0
- package/plugins/pbr/scripts/lib/snapshot-manager.js +232 -0
- package/plugins/pbr/scripts/lib/spec-diff.js +209 -0
- package/plugins/pbr/scripts/lib/spec-engine.js +189 -0
- package/plugins/pbr/scripts/lib/spot-check.js +539 -0
- package/plugins/pbr/scripts/lib/state-queue.js +171 -0
- package/plugins/pbr/scripts/lib/state.js +1082 -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 +1059 -0
- package/plugins/pbr/scripts/lib/suggest-next.js +435 -0
- package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
- package/plugins/pbr/scripts/lib/templates.js +362 -0
- package/plugins/pbr/scripts/lib/test-selection.js +163 -0
- package/plugins/pbr/scripts/lib/todo.js +300 -0
- package/plugins/pbr/scripts/lib/verify.js +1483 -0
- package/plugins/pbr/scripts/log-notification.js +131 -0
- package/plugins/pbr/scripts/log-subagent.js +203 -18
- package/plugins/pbr/scripts/log-tool-failure.js +60 -8
- package/plugins/pbr/scripts/milestone-learnings.js +519 -0
- package/plugins/pbr/scripts/package.json +1 -1
- package/plugins/pbr/scripts/pbr-tools.js +1754 -1171
- package/plugins/pbr/scripts/post-bash-triage.js +96 -0
- package/plugins/pbr/scripts/post-compact.js +135 -0
- package/plugins/pbr/scripts/post-hoc.js +237 -0
- package/plugins/pbr/scripts/post-write-dispatch.js +201 -31
- package/plugins/pbr/scripts/post-write-quality.js +4 -3
- package/plugins/pbr/scripts/pre-bash-dispatch.js +147 -51
- package/plugins/pbr/scripts/pre-skill-dispatch.js +114 -0
- package/plugins/pbr/scripts/pre-task-dispatch.js +269 -0
- package/plugins/pbr/scripts/pre-write-dispatch.js +170 -73
- package/plugins/pbr/scripts/progress-tracker.js +122 -310
- package/plugins/pbr/scripts/prompt-guard.js +114 -0
- package/plugins/pbr/scripts/prompt-routing.js +209 -0
- 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 +62 -10
- package/plugins/pbr/scripts/session-cleanup.js +428 -29
- package/plugins/pbr/scripts/session-tracker.js +124 -0
- package/plugins/pbr/scripts/status-line.js +593 -32
- package/plugins/pbr/scripts/suggest-compact.js +201 -13
- package/plugins/pbr/scripts/sync-context-to-claude.js +100 -0
- package/plugins/pbr/scripts/task-completed.js +165 -4
- 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 +155 -0
- package/plugins/pbr/scripts/track-context-budget.js +368 -99
- package/plugins/pbr/scripts/track-user-gates.js +88 -0
- package/plugins/pbr/scripts/trust-tracker.js +193 -0
- package/plugins/pbr/scripts/validate-commit.js +41 -26
- package/plugins/pbr/scripts/validate-skill-args.js +87 -15
- package/plugins/pbr/scripts/validate-task.js +83 -627
- 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 +195 -24
- package/plugins/pbr/skills/audit-fix/SKILL.md +326 -0
- package/plugins/pbr/skills/autonomous/SKILL.md +545 -0
- package/plugins/pbr/skills/backlog/SKILL.md +56 -0
- package/plugins/pbr/skills/begin/SKILL.md +508 -153
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +411 -36
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +28 -0
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +28 -3
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +33 -5
- package/plugins/pbr/skills/build/SKILL.md +1040 -354
- 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 +112 -9
- package/plugins/pbr/skills/continue/SKILL.md +113 -33
- package/plugins/pbr/skills/dashboard/SKILL.md +21 -9
- package/plugins/pbr/skills/debug/SKILL.md +70 -12
- 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 +206 -25
- 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 +95 -20
- package/plugins/pbr/skills/fast/SKILL.md +94 -0
- package/plugins/pbr/skills/forensics/SKILL.md +144 -0
- package/plugins/pbr/skills/health/SKILL.md +35 -117
- package/plugins/pbr/skills/help/SKILL.md +84 -101
- package/plugins/pbr/skills/import/SKILL.md +332 -13
- package/plugins/pbr/skills/intel/SKILL.md +131 -0
- package/plugins/pbr/skills/list-phase-assumptions/SKILL.md +231 -0
- package/plugins/pbr/skills/milestone/SKILL.md +421 -263
- 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/milestone-summary/SKILL.md +86 -0
- package/plugins/pbr/skills/note/SKILL.md +20 -4
- package/plugins/pbr/skills/pause/SKILL.md +54 -14
- package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +33 -52
- package/plugins/pbr/skills/plan/SKILL.md +526 -280
- 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/planner-prompt.md.tmpl +27 -1
- package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +21 -5
- package/plugins/pbr/skills/profile/SKILL.md +185 -0
- package/plugins/pbr/skills/profile-user/SKILL.md +227 -0
- package/plugins/pbr/skills/quick/SKILL.md +435 -100
- package/plugins/pbr/skills/release/SKILL.md +206 -0
- package/plugins/pbr/skills/resume/SKILL.md +170 -46
- package/plugins/pbr/skills/review/SKILL.md +217 -164
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
- package/plugins/pbr/skills/scan/SKILL.md +152 -106
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +5 -56
- package/plugins/pbr/skills/seed/SKILL.md +87 -0
- package/plugins/pbr/skills/session-report/SKILL.md +130 -0
- package/plugins/pbr/skills/setup/SKILL.md +150 -202
- package/plugins/pbr/skills/shared/agent-context-enrichment.md +21 -0
- package/plugins/pbr/skills/shared/agent-type-resolution.md +32 -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 +18 -11
- 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 +49 -56
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +27 -4
- package/plugins/pbr/skills/ship/SKILL.md +155 -0
- package/plugins/pbr/skills/stats/SKILL.md +80 -0
- package/plugins/pbr/skills/status/SKILL.md +185 -119
- package/plugins/pbr/skills/test/SKILL.md +254 -0
- package/plugins/pbr/skills/thread/SKILL.md +73 -0
- package/plugins/pbr/skills/todo/SKILL.md +28 -72
- package/plugins/pbr/skills/ui-phase/SKILL.md +180 -0
- package/plugins/pbr/skills/ui-review/SKILL.md +206 -0
- package/plugins/pbr/skills/undo/SKILL.md +221 -0
- package/plugins/pbr/skills/validate-phase/SKILL.md +362 -0
- package/plugins/pbr/templates/CONTEXT.md.tmpl +45 -20
- package/plugins/pbr/templates/DISCOVERY.md.tmpl +29 -0
- package/plugins/pbr/templates/DISCUSSION-LOG.md.tmpl +49 -0
- package/plugins/pbr/templates/HANDOFF.json.tmpl +30 -0
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -2
- 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/UAT.md.tmpl +94 -0
- package/plugins/pbr/templates/UI-SPEC.md.tmpl +144 -0
- package/plugins/pbr/templates/VALIDATION.md.tmpl +94 -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 +364 -0
- package/scripts/generate-derivatives.js +581 -0
- package/scripts/posttest.js +93 -0
- package/scripts/release.js +262 -0
- package/scripts/run-tests.cjs +29 -0
- package/scripts/test-wrapper.js +43 -0
- package/dashboard/bin/cli.js +0 -25
- package/dashboard/public/css/layout.css +0 -704
- package/dashboard/public/css/status-colors.css +0 -98
- package/dashboard/public/css/tokens.css +0 -59
- package/dashboard/public/js/htmx-title.js +0 -5
- package/dashboard/public/js/sidebar-toggle.js +0 -34
- package/dashboard/public/js/sse-client.js +0 -100
- package/dashboard/public/js/theme-toggle.js +0 -46
- package/dashboard/src/app.js +0 -91
- package/dashboard/src/middleware/current-phase.js +0 -24
- 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 -45
- package/dashboard/src/routes/index.routes.js +0 -35
- package/dashboard/src/routes/pages.routes.js +0 -426
- package/dashboard/src/server.js +0 -42
- package/dashboard/src/services/analytics.service.js +0 -141
- package/dashboard/src/services/dashboard.service.js +0 -309
- package/dashboard/src/services/milestone.service.js +0 -222
- package/dashboard/src/services/notes.service.js +0 -50
- package/dashboard/src/services/phase.service.js +0 -232
- package/dashboard/src/services/project.service.js +0 -57
- package/dashboard/src/services/roadmap.service.js +0 -258
- package/dashboard/src/services/sse.service.js +0 -58
- package/dashboard/src/services/todo.service.js +0 -272
- package/dashboard/src/services/watcher.service.js +0 -48
- package/dashboard/src/utils/cache.js +0 -55
- package/dashboard/src/views/analytics.ejs +0 -5
- package/dashboard/src/views/coming-soon.ejs +0 -11
- package/dashboard/src/views/dependencies.ejs +0 -5
- package/dashboard/src/views/error.ejs +0 -20
- package/dashboard/src/views/index.ejs +0 -5
- package/dashboard/src/views/milestone-detail.ejs +0 -5
- package/dashboard/src/views/milestones.ejs +0 -5
- package/dashboard/src/views/notes.ejs +0 -5
- package/dashboard/src/views/partials/analytics-content.ejs +0 -90
- package/dashboard/src/views/partials/breadcrumbs.ejs +0 -14
- package/dashboard/src/views/partials/dashboard-content.ejs +0 -84
- package/dashboard/src/views/partials/dependencies-content.ejs +0 -48
- package/dashboard/src/views/partials/empty-state.ejs +0 -7
- package/dashboard/src/views/partials/footer.ejs +0 -3
- package/dashboard/src/views/partials/head.ejs +0 -30
- package/dashboard/src/views/partials/header.ejs +0 -21
- package/dashboard/src/views/partials/layout-bottom.ejs +0 -43
- package/dashboard/src/views/partials/layout-top.ejs +0 -16
- package/dashboard/src/views/partials/milestone-detail-content.ejs +0 -20
- package/dashboard/src/views/partials/milestones-content.ejs +0 -88
- package/dashboard/src/views/partials/notes-content.ejs +0 -23
- package/dashboard/src/views/partials/phase-content.ejs +0 -193
- package/dashboard/src/views/partials/phase-doc-content.ejs +0 -38
- package/dashboard/src/views/partials/phases-content.ejs +0 -124
- package/dashboard/src/views/partials/roadmap-content.ejs +0 -180
- package/dashboard/src/views/partials/sidebar.ejs +0 -99
- package/dashboard/src/views/partials/todo-create-content.ejs +0 -54
- package/dashboard/src/views/partials/todo-detail-content.ejs +0 -42
- package/dashboard/src/views/partials/todos-content.ejs +0 -97
- 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 -139
- package/plugins/copilot-pbr/agents/audit.agent.md +0 -113
- package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +0 -151
- package/plugins/copilot-pbr/agents/debugger.agent.md +0 -182
- 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 -208
- 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 -156
- 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/audit/SKILL.md +0 -330
- 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 -960
- 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 -283
- 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 -170
- 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 -123
- package/plugins/cursor-pbr/agents/audit.md +0 -178
- package/plugins/cursor-pbr/agents/codebase-mapper.md +0 -150
- package/plugins/cursor-pbr/agents/debugger.md +0 -181
- 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 -207
- 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 -213
- 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/audit/SKILL.md +0 -331
- 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 -961
- 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 -283
- 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 -170
- 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/pbr-rules.md +0 -194
- package/plugins/pbr/references/pbr-tools-cli.md +0 -285
- 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/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
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
# TMUX Setup for Claude Code (Windows 11 + WSL2)
|
|
2
|
+
|
|
3
|
+
Complete guide to running Claude Code inside TMUX on Windows 11. Claude Code stays
|
|
4
|
+
installed on Windows; TMUX in WSL2 wraps it via `cmd.exe /c claude`. Projects remain
|
|
5
|
+
on Windows drives (e.g., `D:\Repos\`), accessed through WSL2's `/mnt/` mount.
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- Windows 11 with WSL2 enabled (`wsl --install` if not already set up)
|
|
10
|
+
- A WSL2 distro installed (Ubuntu recommended: `wsl --install -d Ubuntu`)
|
|
11
|
+
- Claude Code installed on Windows (`npm install -g @anthropic-ai/claude-code`)
|
|
12
|
+
- Windows Terminal (recommended, available from Microsoft Store)
|
|
13
|
+
|
|
14
|
+
## Step 1: Install TMUX in WSL2
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
sudo apt update && sudo apt install -y tmux
|
|
18
|
+
tmux -V # Should print tmux 3.x+
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Step 2: Install gum (optional but recommended)
|
|
22
|
+
|
|
23
|
+
gum provides polished interactive menus for `pbr-tmux`. Without it, `pbr-tmux` falls
|
|
24
|
+
back to plain bash `select` menus -- fully functional, just less pretty.
|
|
25
|
+
|
|
26
|
+
**Method A -- Charm apt repository (Ubuntu/Debian):**
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
sudo mkdir -p /etc/apt/keyrings
|
|
30
|
+
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
|
|
31
|
+
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" \
|
|
32
|
+
| sudo tee /etc/apt/sources.list.d/charm.list
|
|
33
|
+
sudo apt update && sudo apt install gum
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Method B -- Direct binary download (any Linux distro):**
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
GUM_VERSION=$(curl -s https://api.github.com/repos/charmbracelet/gum/releases/latest | grep tag_name | cut -d'"' -f4 | tr -d v)
|
|
40
|
+
curl -fsSL "https://github.com/charmbracelet/gum/releases/download/v${GUM_VERSION}/gum_${GUM_VERSION}_Linux_x86_64.tar.gz" \
|
|
41
|
+
| sudo tar xz -C /usr/local/bin gum
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Verify:** `gum --version`
|
|
45
|
+
|
|
46
|
+
## Step 3: Install .tmux.conf
|
|
47
|
+
|
|
48
|
+
Copy the PBR-optimized tmux configuration:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# From the plan-build-run repository root (WSL2 path):
|
|
52
|
+
cp /mnt/d/Repos/plan-build-run/tools/pbr-tmux/tmux.conf ~/.tmux.conf
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**CRITICAL:** The config sets `default-terminal "tmux-256color"`. Do NOT change this to
|
|
56
|
+
`screen-256color` -- that causes Windows `.exe` processes (including `cmd.exe /c claude`)
|
|
57
|
+
to hang indefinitely in WSL2 tmux panes.
|
|
58
|
+
|
|
59
|
+
Key features provided by `.tmux.conf`:
|
|
60
|
+
|
|
61
|
+
- Mouse support (click panes, scroll, resize)
|
|
62
|
+
- 50,000-line scrollback history
|
|
63
|
+
- Vi copy-mode with clipboard integration (xclip or clip.exe)
|
|
64
|
+
- Vim-style pane navigation (`Ctrl-b h/j/k/l`)
|
|
65
|
+
- Intuitive splits (`Ctrl-b |` horizontal, `Ctrl-b -` vertical)
|
|
66
|
+
- PBR-aware status bar (shows current phase and status)
|
|
67
|
+
|
|
68
|
+
## Step 4: Set up PBR status bar
|
|
69
|
+
|
|
70
|
+
The status bar reads `.planning/STATE.md` every 10 seconds and displays the current
|
|
71
|
+
phase and workflow status in the bottom-right corner.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
mkdir -p ~/.tmux
|
|
75
|
+
ln -sf /mnt/d/Repos/plan-build-run/tools/pbr-tmux/lib/pbr-state.sh ~/.tmux/pbr-status.sh
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Point it at your project:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Option A: Breadcrumb file (persists across sessions)
|
|
82
|
+
echo "/mnt/d/Repos/your-project" > ~/.pbr-project-path
|
|
83
|
+
|
|
84
|
+
# Option B: Environment variable (set in ~/.bashrc)
|
|
85
|
+
export PBR_PROJECT_DIR="/mnt/d/Repos/your-project"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The status bar shows `P{phase}:{status}` when a project is active, or `no-pbr` when
|
|
89
|
+
no `.planning/STATE.md` is found.
|
|
90
|
+
|
|
91
|
+
## Step 5: Set up pbr-tmux
|
|
92
|
+
|
|
93
|
+
`pbr-tmux` is the interactive CLI for common tmux operations in a PBR workflow.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Option A: Symlink to PATH (recommended)
|
|
97
|
+
sudo ln -sf /mnt/d/Repos/plan-build-run/tools/pbr-tmux/pbr-tmux /usr/local/bin/pbr-tmux
|
|
98
|
+
|
|
99
|
+
# Option B: Add directory to PATH in ~/.bashrc
|
|
100
|
+
echo 'export PATH="/mnt/d/Repos/plan-build-run/tools/pbr-tmux:$PATH"' >> ~/.bashrc
|
|
101
|
+
source ~/.bashrc
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Usage:
|
|
105
|
+
|
|
106
|
+
- `pbr-tmux` -- Interactive menu (uses gum if available, bash select otherwise)
|
|
107
|
+
- `pbr-tmux launch` -- Launch a Claude Code session in a new pane
|
|
108
|
+
- `pbr-tmux cycle` -- Send `/clear` + `/pbr:resume-work` to the Claude pane
|
|
109
|
+
- `pbr-tmux status` -- Show PBR project status
|
|
110
|
+
- `pbr-tmux list` -- List active tmux sessions
|
|
111
|
+
- `pbr-tmux --help` -- Full list of operations
|
|
112
|
+
|
|
113
|
+
Non-interactive mode for scripting: `pbr-tmux cycle --non-interactive`
|
|
114
|
+
|
|
115
|
+
## Step 6: Windows Terminal integration
|
|
116
|
+
|
|
117
|
+
Add a dedicated "PBR TMUX" profile to Windows Terminal:
|
|
118
|
+
|
|
119
|
+
1. Open Windows Terminal Settings (`Ctrl+,`) and click "Open JSON file"
|
|
120
|
+
2. Add the contents of `tools/pbr-tmux/windows-terminal-profile.json` to `profiles.list[]`:
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"name": "PBR TMUX",
|
|
125
|
+
"commandline": "wsl.exe -d Ubuntu -- bash -lc 'tmux new-session -A -s pbr'",
|
|
126
|
+
"font": { "face": "JetBrainsMono Nerd Font", "size": 11 },
|
|
127
|
+
"colorScheme": "One Half Dark",
|
|
128
|
+
"padding": "4",
|
|
129
|
+
"scrollbarState": "hidden"
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Notes:**
|
|
134
|
+
|
|
135
|
+
- Change `Ubuntu` in the commandline to match your WSL2 distro (`wsl -l -v` to check)
|
|
136
|
+
- Install JetBrainsMono Nerd Font from <https://www.nerdfonts.com/> for proper glyph
|
|
137
|
+
rendering in the status bar and gum menus
|
|
138
|
+
- The `-A` flag in `tmux new-session -A -s pbr` attaches to an existing `pbr` session
|
|
139
|
+
if one is running, or creates a new one
|
|
140
|
+
|
|
141
|
+
## Usage
|
|
142
|
+
|
|
143
|
+
### Starting a session
|
|
144
|
+
|
|
145
|
+
Click "PBR TMUX" in Windows Terminal, or from any WSL2 shell:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
tmux new-session -A -s pbr
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Launching Claude Code
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
pbr-tmux launch
|
|
155
|
+
# Or directly:
|
|
156
|
+
cmd.exe /c claude
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Common workflows
|
|
160
|
+
|
|
161
|
+
**Split-pane monitoring:** Use `Ctrl-b |` to split horizontally, run `pbr-tmux status`
|
|
162
|
+
in the side pane while Claude works in the main pane.
|
|
163
|
+
|
|
164
|
+
**Multiple sessions:** `pbr-tmux launch` in different windows for parallel Claude
|
|
165
|
+
sessions. Use `pbr-tmux switch` to jump between them.
|
|
166
|
+
|
|
167
|
+
**Auto-cycle (Phase 80):** `pbr-tmux cycle --non-interactive` sends `/clear` then
|
|
168
|
+
`/pbr:resume-work` to the Claude pane for hands-free workflow continuation.
|
|
169
|
+
|
|
170
|
+
### Automatic Session Cycling via auto-continue.js
|
|
171
|
+
|
|
172
|
+
When running in autonomous mode with `features.auto_continue: true`, PBR automatically triggers session cycling based on `session_phase_limit` (default: 3 phases per session).
|
|
173
|
+
|
|
174
|
+
**How it works:**
|
|
175
|
+
1. `session-tracker.js` tracks completed phases in `.planning/.session-tracker`
|
|
176
|
+
2. Counter resets to 0 at session start (via `progress-tracker.js`)
|
|
177
|
+
3. Counter increments after each executor completion (via `event-handler.js`)
|
|
178
|
+
4. When `auto-continue.js` detects the limit is reached AND `process.env.TMUX` is set:
|
|
179
|
+
- It spawns a detached process: `sleep 3 && tmux send-keys "/clear" Enter && sleep 1 && tmux send-keys "/pbr:resume-work" Enter`
|
|
180
|
+
- The current session pauses, then a fresh session starts automatically
|
|
181
|
+
5. Outside TMUX, a banner displays manual instructions instead
|
|
182
|
+
|
|
183
|
+
**Configure the limit:**
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
/pbr:settings session_phase_limit 5 # pause after 5 phases
|
|
187
|
+
/pbr:settings session_phase_limit 0 # disable auto-pause
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
See `references/config-reference.md` for the full `session_phase_limit` specification.
|
|
191
|
+
|
|
192
|
+
## Troubleshooting
|
|
193
|
+
|
|
194
|
+
### Windows .exe hangs in tmux
|
|
195
|
+
|
|
196
|
+
**Symptom:** `cmd.exe /c claude`, `explorer.exe`, or other Windows executables freeze.
|
|
197
|
+
|
|
198
|
+
**Fix:** Check your terminal setting:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
tmux show -g default-terminal
|
|
202
|
+
# Must output: tmux-256color
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
If it shows `screen-256color`, update `~/.tmux.conf` and kill the tmux server:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
tmux kill-server
|
|
209
|
+
tmux # Restart with new config
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Path issues
|
|
213
|
+
|
|
214
|
+
Windows drives mount at `/mnt/{letter}/` in WSL2. If Claude cannot find your project,
|
|
215
|
+
verify you are in the correct `/mnt/` path:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
pwd # Should show /mnt/d/Repos/your-project (not /home/user/...)
|
|
219
|
+
ls .planning/ # Should show STATE.md if PBR is set up
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Clipboard
|
|
223
|
+
|
|
224
|
+
Install `xclip` for full clipboard support (WSLg provides the X server on Windows 11):
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
sudo apt install xclip
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Without xclip, tmux falls back to `clip.exe` which works for ASCII but may garble
|
|
231
|
+
Unicode characters.
|
|
232
|
+
|
|
233
|
+
### Font rendering
|
|
234
|
+
|
|
235
|
+
Fonts are controlled by Windows Terminal, not tmux. If status bar icons or gum menus
|
|
236
|
+
look broken, install a Nerd Font (JetBrainsMono Nerd Font recommended) and set it in
|
|
237
|
+
the Windows Terminal profile.
|
|
238
|
+
|
|
239
|
+
### Claude Code clipboard warnings
|
|
240
|
+
|
|
241
|
+
Cosmetic warnings about clipboard access. Install `xclip` to suppress them. These do
|
|
242
|
+
not affect Claude Code functionality.
|
|
243
|
+
|
|
244
|
+
### gum not found
|
|
245
|
+
|
|
246
|
+
`pbr-tmux` works without gum -- it falls back to bash `select` menus automatically.
|
|
247
|
+
Install gum (Step 2) for the polished interactive experience.
|
|
248
|
+
|
|
249
|
+
### tmux send-keys not working
|
|
250
|
+
|
|
251
|
+
Verify basic send-keys functionality:
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
tmux send-keys -t 0 "echo hello" Enter
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
If Claude is mid-processing when you send keys, keystrokes queue in the terminal
|
|
258
|
+
buffer. Add `sleep 0.5` between sequential `send-keys` commands for reliability.
|
|
259
|
+
|
|
260
|
+
For the critical `cmd.exe /c claude` path, verify:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
tmux new-session -d -s test "cmd.exe /c claude"
|
|
264
|
+
sleep 3
|
|
265
|
+
tmux send-keys -t test "/help" Enter
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Status bar shows "no-pbr"
|
|
269
|
+
|
|
270
|
+
The status bar script cannot find `.planning/STATE.md`. Check:
|
|
271
|
+
|
|
272
|
+
1. `~/.pbr-project-path` points to the correct WSL2 path (use `/mnt/` prefix)
|
|
273
|
+
2. Or `PBR_PROJECT_DIR` environment variable is set
|
|
274
|
+
3. The project has a `.planning/STATE.md` file
|
|
275
|
+
|
|
276
|
+
## File Reference
|
|
277
|
+
|
|
278
|
+
| File | Purpose |
|
|
279
|
+
|------|---------|
|
|
280
|
+
| `tools/pbr-tmux/tmux.conf` | TMUX configuration |
|
|
281
|
+
| `tools/pbr-tmux/pbr-tmux` | Main CLI entry point |
|
|
282
|
+
| `tools/pbr-tmux/operations.sh` | Operation implementations (start, launch, cycle, watch, multi) |
|
|
283
|
+
| `tools/pbr-tmux/setup.sh` | One-shot installer for WSL2 |
|
|
284
|
+
| `tools/pbr-tmux/layouts/dev.sh` | Dev layout (Claude + PBR watch + shell) |
|
|
285
|
+
| `tools/pbr-tmux/lib/pbr-state.sh` | Status bar script (phase + context tier) |
|
|
286
|
+
| `tools/pbr-tmux/lib/tmux-helpers.sh` | Shared tmux helper functions |
|
|
287
|
+
| `tools/pbr-tmux/lib/gum-fallback.sh` | UI abstraction (gum/bash fallback) |
|
|
288
|
+
| `tools/pbr-tmux/windows-terminal-profile.json` | Windows Terminal profile fragment |
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Verification Matrix
|
|
2
|
+
|
|
3
|
+
Which verification dimensions and gates run at each depth profile.
|
|
4
|
+
|
|
5
|
+
## Plan-Checker Dimensions by Depth
|
|
6
|
+
|
|
7
|
+
| Dimension | Quick | Standard | Comprehensive |
|
|
8
|
+
|-----------|-------|----------|---------------|
|
|
9
|
+
| D1: Requirement Coverage | Yes | Yes | Yes |
|
|
10
|
+
| D2: Task Completeness | Yes | Yes | Yes |
|
|
11
|
+
| D3: Dependency Correctness | Yes | Yes | Yes |
|
|
12
|
+
| D4: Key Links Planned | Yes | Yes | Yes |
|
|
13
|
+
| D5: Scope Sanity | Yes | Yes | Yes |
|
|
14
|
+
| D6: Must-Haves Derivation | Yes | Yes | Yes |
|
|
15
|
+
| D7: Context Compliance | Yes | Yes | Yes |
|
|
16
|
+
| D8: Nyquist Compliance | No | Yes | Yes |
|
|
17
|
+
| D9: Cross-Plan Data Contracts | No | Yes | Yes |
|
|
18
|
+
| **Total dimensions** | **7** | **9** | **9** |
|
|
19
|
+
|
|
20
|
+
## Verification Gates by Depth
|
|
21
|
+
|
|
22
|
+
| Gate | Quick | Standard | Comprehensive |
|
|
23
|
+
|------|-------|----------|---------------|
|
|
24
|
+
| Plan-checking (pre-build) | Advisory | Blocking | Blocking |
|
|
25
|
+
| Goal verification (post-build) | Advisory | Blocking | Blocking |
|
|
26
|
+
| Inline verify (per-task) | Off | Off | On |
|
|
27
|
+
| Requirements coverage | Advisory | Blocking | Blocking |
|
|
28
|
+
|
|
29
|
+
## Behavioral Notes
|
|
30
|
+
|
|
31
|
+
- **Quick**: Plan-checker runs 7 dimensions. Missing or failed `.plan-check.json` produces a warning, not a block. Goal verification runs but failures are advisory.
|
|
32
|
+
- **Standard**: Full 9-dimension plan-check. `.plan-check.json` must exist and pass before executor spawn. Goal verification failures block phase completion.
|
|
33
|
+
- **Comprehensive**: Same as standard plus inline_verify (planner self-validates before checker).
|
|
34
|
+
- **--audit flag**: Forces full 9-dimension checking regardless of depth profile.
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# Goal-Backward Verification Patterns
|
|
2
|
+
|
|
3
|
+
Reference patterns for deriving verification criteria from goals. Used by the planner to create `<verify>` and `<done>` elements, and by the verifier to check phase completion.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## The Four-Layer Check
|
|
8
|
+
|
|
9
|
+
Every must-have is verified through up to four layers, checked in order:
|
|
10
|
+
|
|
11
|
+
### Layer 1: Existence
|
|
12
|
+
|
|
13
|
+
Does the artifact exist?
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# File existence
|
|
17
|
+
ls -la src/auth/discord.ts
|
|
18
|
+
|
|
19
|
+
# Module export existence
|
|
20
|
+
grep -q "export.*authenticateWithDiscord" src/auth/discord.ts
|
|
21
|
+
|
|
22
|
+
# Database table existence
|
|
23
|
+
npx prisma db execute --stdin <<< "SELECT 1 FROM users LIMIT 1"
|
|
24
|
+
|
|
25
|
+
# Route existence
|
|
26
|
+
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/api/auth/login
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Layer 2: Substantiveness
|
|
30
|
+
|
|
31
|
+
Is the artifact more than a stub?
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# File has real content (not just exports)
|
|
35
|
+
wc -l src/auth/discord.ts # Should be > 10 lines for a real implementation
|
|
36
|
+
|
|
37
|
+
# Function has a body (not just a signature)
|
|
38
|
+
grep -A5 "authenticateWithDiscord" src/auth/discord.ts | grep -q "return"
|
|
39
|
+
|
|
40
|
+
# Test file has actual test cases
|
|
41
|
+
grep -c "it(" tests/auth.test.ts # Should be > 0
|
|
42
|
+
|
|
43
|
+
# API returns real data (not just 200 OK)
|
|
44
|
+
curl -s http://localhost:3000/api/health | jq '.status' | grep -q "ok"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Layer 3: Wiring
|
|
48
|
+
|
|
49
|
+
Are components connected to each other?
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Module is imported where needed
|
|
53
|
+
grep -q "from.*auth/discord" src/routes/auth.ts
|
|
54
|
+
|
|
55
|
+
# Middleware is applied to routes
|
|
56
|
+
grep -q "requireAuth" src/routes/protected.ts
|
|
57
|
+
|
|
58
|
+
# Database is configured in app init
|
|
59
|
+
grep -q "prisma" src/app.ts
|
|
60
|
+
|
|
61
|
+
# Environment variables are referenced
|
|
62
|
+
grep -q "DISCORD_CLIENT_ID" src/auth/discord.ts
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Layer 4: Functional
|
|
66
|
+
|
|
67
|
+
Does the artifact actually work when executed?
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Tests pass
|
|
71
|
+
npm test -- --testPathPattern auth
|
|
72
|
+
pytest tests/test_auth.py -v
|
|
73
|
+
|
|
74
|
+
# Build succeeds
|
|
75
|
+
npm run build
|
|
76
|
+
npx tsc --noEmit
|
|
77
|
+
|
|
78
|
+
# API returns correct data
|
|
79
|
+
curl -s http://localhost:3000/api/auth/login -X POST -d '{"code":"test"}' | jq '.token'
|
|
80
|
+
|
|
81
|
+
# CLI produces expected output
|
|
82
|
+
node src/cli.js --help | grep -q "Usage:"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**When to apply L4:** Only when automated verification commands exist (test suites, build scripts, API endpoints with test data). Skip for items requiring manual/visual testing. L4 is optional — artifacts passing L1-L3 without available automated tests are reported as `PASSED (L3 only)`.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Verification by Feature Type
|
|
90
|
+
|
|
91
|
+
### API Endpoint
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Existence: curl returns non-404 status
|
|
95
|
+
Substance: curl returns expected response shape (correct fields)
|
|
96
|
+
Wiring: endpoint calls the right service, middleware is applied
|
|
97
|
+
Functional: POST/GET with test data returns correct response, error cases handled
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Database Schema
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Existence: table/collection exists, can query without error
|
|
104
|
+
Substance: columns/fields match specification, constraints are applied
|
|
105
|
+
Wiring: application code references the schema, migrations run cleanly
|
|
106
|
+
Functional: CRUD operations work end-to-end, constraints reject invalid data
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Authentication
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Existence: auth routes exist, auth module exports functions
|
|
113
|
+
Substance: login flow returns token, invalid creds return error
|
|
114
|
+
Wiring: protected routes use auth middleware, tokens are validated
|
|
115
|
+
Functional: auth tests pass (valid token, expired token, missing token, malformed token)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### UI Component
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Existence: component file exists, exports default component
|
|
122
|
+
Substance: component renders expected elements (test or visual check)
|
|
123
|
+
Wiring: component is imported in parent, receives correct props, routes to it
|
|
124
|
+
Functional: component tests pass, build succeeds with component included
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Configuration
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
Existence: config file exists, environment variables documented
|
|
131
|
+
Substance: config values are used (not dead code), defaults are sensible
|
|
132
|
+
Wiring: application reads config at startup, config changes take effect
|
|
133
|
+
Functional: app starts with config, missing config produces clear error message
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Verify Command Patterns
|
|
139
|
+
|
|
140
|
+
### TypeScript/JavaScript
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Type checking
|
|
144
|
+
npx tsc --noEmit
|
|
145
|
+
|
|
146
|
+
# Unit tests
|
|
147
|
+
npm test
|
|
148
|
+
npm test -- --grep "pattern"
|
|
149
|
+
npx jest path/to/test
|
|
150
|
+
|
|
151
|
+
# Linting
|
|
152
|
+
npx eslint src/auth/
|
|
153
|
+
|
|
154
|
+
# Build check
|
|
155
|
+
npm run build
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Python
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Type checking
|
|
162
|
+
mypy src/
|
|
163
|
+
|
|
164
|
+
# Unit tests
|
|
165
|
+
pytest tests/
|
|
166
|
+
pytest tests/test_auth.py -v
|
|
167
|
+
pytest -k "test_login"
|
|
168
|
+
|
|
169
|
+
# Linting
|
|
170
|
+
flake8 src/
|
|
171
|
+
pylint src/auth/
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### General
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# File existence
|
|
178
|
+
ls -la path/to/file
|
|
179
|
+
|
|
180
|
+
# Content check
|
|
181
|
+
grep -q "pattern" path/to/file
|
|
182
|
+
|
|
183
|
+
# HTTP endpoint
|
|
184
|
+
curl -s -o /dev/null -w "%{http_code}" http://localhost:PORT/path
|
|
185
|
+
|
|
186
|
+
# Process running
|
|
187
|
+
pgrep -f "process-name"
|
|
188
|
+
|
|
189
|
+
# Port listening
|
|
190
|
+
netstat -an | grep LISTEN | grep PORT
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Done Condition Patterns
|
|
196
|
+
|
|
197
|
+
### Good Done Conditions (Observable, Falsifiable)
|
|
198
|
+
|
|
199
|
+
- "User can log in with Discord and see their dashboard"
|
|
200
|
+
- "API returns paginated list of items with correct total count"
|
|
201
|
+
- "Database migration creates users table with all required columns"
|
|
202
|
+
- "Protected routes return 401 without valid JWT"
|
|
203
|
+
- "Build completes without TypeScript errors"
|
|
204
|
+
|
|
205
|
+
### Bad Done Conditions (Vague, Not Falsifiable)
|
|
206
|
+
|
|
207
|
+
- "Authentication is implemented" (how do you test this?)
|
|
208
|
+
- "Code is clean" (subjective)
|
|
209
|
+
- "Database is set up" (what does "set up" mean?)
|
|
210
|
+
- "Tests pass" (which tests? what do they test?)
|
|
211
|
+
- "File was created" (created with what content?)
|
|
212
|
+
|
|
213
|
+
### Transformation Rule
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
Bad: "Authentication is implemented"
|
|
217
|
+
Good: "User can complete Discord OAuth flow and receive a valid JWT"
|
|
218
|
+
|
|
219
|
+
Bad: "Database is set up"
|
|
220
|
+
Good: "Users table exists with id, email, name columns and can accept INSERT"
|
|
221
|
+
|
|
222
|
+
Bad: "Tests pass"
|
|
223
|
+
Good: "All 5 auth middleware tests pass: valid token, expired token,
|
|
224
|
+
missing token, malformed token, and correct user extraction"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Wiring Verification Patterns
|
|
230
|
+
|
|
231
|
+
4 concrete patterns for verifying components are actually connected, not just present.
|
|
232
|
+
|
|
233
|
+
### Pattern 1: Component to API
|
|
234
|
+
1. Find the fetch/axios call in the component
|
|
235
|
+
2. Verify the call is NOT commented out
|
|
236
|
+
3. Verify the response is assigned to state (not discarded)
|
|
237
|
+
4. Verify error handling exists (try/catch or .catch)
|
|
238
|
+
|
|
239
|
+
### Pattern 2: API to Database
|
|
240
|
+
1. Find the database query in the route handler
|
|
241
|
+
2. Verify `await` is present (not fire-and-forget)
|
|
242
|
+
3. Verify the result is returned in the response (not discarded)
|
|
243
|
+
4. Verify error cases return appropriate HTTP status codes
|
|
244
|
+
|
|
245
|
+
### Pattern 3: Form to Handler
|
|
246
|
+
1. Find the form's onSubmit handler
|
|
247
|
+
2. Verify it calls an API function (not just preventDefault)
|
|
248
|
+
3. Verify form validation runs before the API call
|
|
249
|
+
4. Verify success/error feedback is shown to the user
|
|
250
|
+
|
|
251
|
+
### Pattern 4: State to Render
|
|
252
|
+
1. Find state variables (useState, store, etc.)
|
|
253
|
+
2. Verify they appear in JSX/template via .map(), interpolation, or conditional rendering
|
|
254
|
+
3. Verify loading/error states are rendered (not just success state)
|
|
255
|
+
4. Verify empty state is handled (not just "no data" crash)
|
|
256
|
+
|
|
257
|
+
### Quick Verification Checklists
|
|
258
|
+
|
|
259
|
+
**Component Checklist (8 items):**
|
|
260
|
+
- [ ] Component file exists and exports correctly
|
|
261
|
+
- [ ] Props/types are defined (not `any`)
|
|
262
|
+
- [ ] API calls use actual endpoints (not hardcoded data)
|
|
263
|
+
- [ ] Loading state renders something meaningful
|
|
264
|
+
- [ ] Error state renders something meaningful
|
|
265
|
+
- [ ] Empty state renders something meaningful
|
|
266
|
+
- [ ] User interactions trigger actual handlers
|
|
267
|
+
- [ ] Component is imported and rendered in parent
|
|
268
|
+
|
|
269
|
+
**API Route Checklist (8 items):**
|
|
270
|
+
- [ ] Route file exists and exports handler
|
|
271
|
+
- [ ] Route is registered in router/app
|
|
272
|
+
- [ ] Request validation exists (body, params, query)
|
|
273
|
+
- [ ] Database query uses parameterized inputs
|
|
274
|
+
- [ ] Success response includes expected data shape
|
|
275
|
+
- [ ] Error response includes status code and message
|
|
276
|
+
- [ ] Authentication/authorization check exists if needed
|
|
277
|
+
- [ ] Response matches what the frontend expects
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Worktree Sparse Checkout Reference
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Agents with `isolation: worktree` in their frontmatter run in a temporary git worktree, giving them a clean working tree isolated from the main session. By default, the full repository is checked out in the worktree. For large repos, the `worktree.sparse_paths` config property limits what gets checked out, reducing disk usage and improving worktree creation speed.
|
|
6
|
+
|
|
7
|
+
## Agents Using `isolation: worktree`
|
|
8
|
+
|
|
9
|
+
| Agent | Purpose |
|
|
10
|
+
|-------|---------|
|
|
11
|
+
| verifier | Runs verification in an isolated worktree to avoid polluting the main working tree |
|
|
12
|
+
|
|
13
|
+
## Configuration
|
|
14
|
+
|
|
15
|
+
Add `worktree.sparse_paths` to `.planning/config.json`:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"worktree": {
|
|
20
|
+
"sparse_paths": ["src/**", "tests/**", "package.json", ".planning/**"]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- **Empty array** (default): Full checkout. The entire repo is materialized in the worktree.
|
|
26
|
+
- **Non-empty array**: Only files matching the listed glob patterns are materialized. All other paths appear as missing in the worktree's working tree.
|
|
27
|
+
- **Always include `.planning/**`** so agents can read state files (STATE.md, ROADMAP.md, plans, summaries).
|
|
28
|
+
|
|
29
|
+
## How It Works
|
|
30
|
+
|
|
31
|
+
When a worktree-isolated agent is spawned, the following sequence occurs:
|
|
32
|
+
|
|
33
|
+
1. `git worktree add <path> HEAD` -- creates a new worktree linked to the current commit
|
|
34
|
+
2. `cd <path> && git sparse-checkout set --no-cone <patterns>` -- restricts the working tree to matching paths
|
|
35
|
+
3. The agent runs in the sparse worktree with only the specified files visible
|
|
36
|
+
4. On completion, the worktree is cleaned up with `git worktree remove <path>`
|
|
37
|
+
|
|
38
|
+
> **Note:** This config property is forward-looking. Currently, Claude Code creates full worktrees. The `sparse_paths` property will be consumed when Claude Code adds sparse checkout support to its worktree creation, or by a PBR hook that wraps worktree creation.
|
|
39
|
+
|
|
40
|
+
## Recommended Patterns
|
|
41
|
+
|
|
42
|
+
| Pattern | Purpose |
|
|
43
|
+
|---------|---------|
|
|
44
|
+
| `src/**` | Application source code |
|
|
45
|
+
| `tests/**` | Test files |
|
|
46
|
+
| `package.json` | Dependency manifest |
|
|
47
|
+
| `*.config.*` | Config files at root |
|
|
48
|
+
| `.planning/**` | PBR state and plans (always include) |
|
|
49
|
+
|
|
50
|
+
### Example: Node.js Project
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"worktree": {
|
|
55
|
+
"sparse_paths": [
|
|
56
|
+
"src/**",
|
|
57
|
+
"tests/**",
|
|
58
|
+
"package.json",
|
|
59
|
+
"tsconfig.json",
|
|
60
|
+
"*.config.*",
|
|
61
|
+
".planning/**"
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Example: Monorepo (Single Package)
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"worktree": {
|
|
72
|
+
"sparse_paths": [
|
|
73
|
+
"packages/my-app/**",
|
|
74
|
+
"package.json",
|
|
75
|
+
"pnpm-workspace.yaml",
|
|
76
|
+
".planning/**"
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Limitations
|
|
83
|
+
|
|
84
|
+
- **Git history is not reduced.** Sparse checkout only affects the working tree -- the full git history is still present in `.git`. For very large repos with large histories, shallow clones would also help but are not yet supported.
|
|
85
|
+
- **No-cone mode.** The `--no-cone` flag is used for full glob support. Cone mode (directory-based) is faster but less flexible.
|
|
86
|
+
- **Agent must stay within sparse paths.** If an agent tries to read or write a file outside the sparse set, the file will not exist in the worktree. The agent would need to be re-spawned with broader patterns.
|