@hanzlaa/rcode 2.1.0
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/AGENTS.md +120 -0
- package/CLAUDE.md +120 -0
- package/CONTRIBUTING.md +298 -0
- package/README.md +436 -0
- package/cli/config.js +142 -0
- package/cli/context.js +213 -0
- package/cli/dashboard.js +38 -0
- package/cli/digest.js +66 -0
- package/cli/doctor.js +283 -0
- package/cli/github-sync.js +1016 -0
- package/cli/index.js +113 -0
- package/cli/install.js +946 -0
- package/cli/lib/config.cjs +334 -0
- package/cli/lib/fsutil.cjs +76 -0
- package/cli/lib/github.cjs +365 -0
- package/cli/lib/manifest.cjs +240 -0
- package/cli/lib/memory-bank.cjs +348 -0
- package/cli/lib/model-profiles.cjs +169 -0
- package/cli/lib/prompts.cjs +355 -0
- package/cli/postinstall.js +32 -0
- package/cli/set-mode.js +94 -0
- package/cli/set-profile.js +80 -0
- package/cli/show-model.js +82 -0
- package/cli/team.js +35 -0
- package/cli/tiers.js +49 -0
- package/cli/uninstall.js +600 -0
- package/cli/update.js +373 -0
- package/package.json +60 -0
- package/rihal/agents/rihal-advisor-researcher.md +116 -0
- package/rihal/agents/rihal-ahmed.md +66 -0
- package/rihal/agents/rihal-architect.md +79 -0
- package/rihal/agents/rihal-assumptions-analyzer.md +117 -0
- package/rihal/agents/rihal-code-fixer.md +74 -0
- package/rihal/agents/rihal-code-reviewer.md +75 -0
- package/rihal/agents/rihal-codebase-mapper.md +170 -0
- package/rihal/agents/rihal-debugger.md +140 -0
- package/rihal/agents/rihal-deviation-analyzer.md +74 -0
- package/rihal/agents/rihal-docs-auditor.md +77 -0
- package/rihal/agents/rihal-edge-case-hunter.md +75 -0
- package/rihal/agents/rihal-executor.md +113 -0
- package/rihal/agents/rihal-fatima.md +68 -0
- package/rihal/agents/rihal-haitham.md +75 -0
- package/rihal/agents/rihal-hanzla.md +59 -0
- package/rihal/agents/rihal-hussain-pm.md +82 -0
- package/rihal/agents/rihal-integration-checker.md +455 -0
- package/rihal/agents/rihal-khalid.md +59 -0
- package/rihal/agents/rihal-layla.md +57 -0
- package/rihal/agents/rihal-mariam.md +58 -0
- package/rihal/agents/rihal-nasser.md +57 -0
- package/rihal/agents/rihal-noor.md +60 -0
- package/rihal/agents/rihal-nyquist-auditor.md +182 -0
- package/rihal/agents/rihal-omar.md +57 -0
- package/rihal/agents/rihal-phase-researcher.md +84 -0
- package/rihal/agents/rihal-planner.md +176 -0
- package/rihal/agents/rihal-profiler.md +74 -0
- package/rihal/agents/rihal-project-researcher.md +80 -0
- package/rihal/agents/rihal-remediation-planner.md +78 -0
- package/rihal/agents/rihal-research-synthesizer.md +253 -0
- package/rihal/agents/rihal-roadmapper.md +73 -0
- package/rihal/agents/rihal-sadiq.md +72 -0
- package/rihal/agents/rihal-security-adversary.md +82 -0
- package/rihal/agents/rihal-security-auditor.md +78 -0
- package/rihal/agents/rihal-sprint-checker.md +124 -0
- package/rihal/agents/rihal-tech-writer.md +80 -0
- package/rihal/agents/rihal-ui-auditor.md +81 -0
- package/rihal/agents/rihal-ui-designer.md +6 -0
- package/rihal/agents/rihal-ux-designer.md +83 -0
- package/rihal/agents/rihal-verifier.md +124 -0
- package/rihal/agents/rihal-waleed.md +60 -0
- package/rihal/agents/rihal-yousef.md +78 -0
- package/rihal/agents/rihal-zahra.md +62 -0
- package/rihal/agents/rihal-zayd.md +78 -0
- package/rihal/agents/rules/codebase-mapper/detailed-guide.md +615 -0
- package/rihal/agents/rules/debugger/checkpoint-recovery.md +272 -0
- package/rihal/agents/rules/debugger/debug-session-state.md +261 -0
- package/rihal/agents/rules/debugger/hypothesis-templates.md +330 -0
- package/rihal/agents/rules/debugger/investigation-protocol.md +298 -0
- package/rihal/agents/rules/debugger/scientific-method.md +317 -0
- package/rihal/agents/rules/executor/authentication-gates.md +202 -0
- package/rihal/agents/rules/executor/deviation-rules.md +191 -0
- package/rihal/agents/rules/executor/execution-flow.md +116 -0
- package/rihal/agents/rules/executor/self-check.md +241 -0
- package/rihal/agents/rules/executor/stub-detection.md +267 -0
- package/rihal/agents/rules/executor/summary-creation.md +76 -0
- package/rihal/agents/rules/executor/task-commit-protocol.md +283 -0
- package/rihal/agents/rules/executor/tdd-flow.md +294 -0
- package/rihal/agents/rules/phase-researcher/detailed-guide.md +628 -0
- package/rihal/agents/rules/planner/common-patterns.md +373 -0
- package/rihal/agents/rules/planner/dependency-analysis.md +195 -0
- package/rihal/agents/rules/planner/goal-backward-thinking.md +220 -0
- package/rihal/agents/rules/planner/sprint-verification.md +202 -0
- package/rihal/agents/rules/planner/task-templates.md +296 -0
- package/rihal/agents/rules/project-researcher/detailed-guide.md +589 -0
- package/rihal/agents/rules/roadmapper/detailed-guide.md +620 -0
- package/rihal/agents/rules/sprint-checker/dimensions.md +414 -0
- package/rihal/agents/rules/sprint-checker/process.md +377 -0
- package/rihal/agents/rules/verifier/anti-patterns.md +94 -0
- package/rihal/agents/rules/verifier/artifact-verification.md +69 -0
- package/rihal/agents/rules/verifier/behavioral-spot-checks.md +49 -0
- package/rihal/agents/rules/verifier/context-loading.md +84 -0
- package/rihal/agents/rules/verifier/data-flow-trace.md +65 -0
- package/rihal/agents/rules/verifier/gap-output.md +51 -0
- package/rihal/agents/rules/verifier/key-links.md +56 -0
- package/rihal/agents/rules/verifier/requirements-coverage.md +28 -0
- package/rihal/agents/rules/verifier/verification-report.md +131 -0
- package/rihal/bin/lib/code-references.cjs +196 -0
- package/rihal/bin/lib/config.cjs +146 -0
- package/rihal/bin/lib/council-panel.cjs +501 -0
- package/rihal/bin/lib/roadmap.cjs +256 -0
- package/rihal/bin/lib/verify.cjs +118 -0
- package/rihal/bin/rihal-hooks.cjs +204 -0
- package/rihal/bin/rihal-tools.cjs +3554 -0
- package/rihal/brain/README.md +38 -0
- package/rihal/brain/best-practices/no-autonomous-bypass.md +37 -0
- package/rihal/brain/best-practices/research-citation-rule.md +39 -0
- package/rihal/brain/best-practices/state-sync-rule.md +43 -0
- package/rihal/brain/sources.yaml +59 -0
- package/rihal/commands/add-phase.md +18 -0
- package/rihal/commands/add-tests.md +18 -0
- package/rihal/commands/add-todo.md +8 -0
- package/rihal/commands/analyze-dependencies.md +11 -0
- package/rihal/commands/audit-fix.md +14 -0
- package/rihal/commands/audit-milestone.md +12 -0
- package/rihal/commands/audit-uat.md +18 -0
- package/rihal/commands/autonomous.md +19 -0
- package/rihal/commands/brainstorm.md +11 -0
- package/rihal/commands/chain.md +8 -0
- package/rihal/commands/check-implementation-readiness.md +8 -0
- package/rihal/commands/check-todos.md +18 -0
- package/rihal/commands/cleanup.md +18 -0
- package/rihal/commands/code-review-fix.md +14 -0
- package/rihal/commands/code-review.md +14 -0
- package/rihal/commands/complete-milestone.md +12 -0
- package/rihal/commands/config.md +8 -0
- package/rihal/commands/correct-course.md +8 -0
- package/rihal/commands/council.md +25 -0
- package/rihal/commands/create-epics-and-stories.md +8 -0
- package/rihal/commands/create-story.md +8 -0
- package/rihal/commands/dashboard.md +10 -0
- package/rihal/commands/debug.md +8 -0
- package/rihal/commands/decisions.md +10 -0
- package/rihal/commands/dev-story.md +8 -0
- package/rihal/commands/diff.md +10 -0
- package/rihal/commands/discuss-phase-power.md +11 -0
- package/rihal/commands/discuss-phase.md +19 -0
- package/rihal/commands/discuss.md +23 -0
- package/rihal/commands/do.md +22 -0
- package/rihal/commands/docs-update.md +14 -0
- package/rihal/commands/document-project.md +8 -0
- package/rihal/commands/enable-hooks.md +11 -0
- package/rihal/commands/execute-sprint.md +13 -0
- package/rihal/commands/execute.md +19 -0
- package/rihal/commands/explore.md +14 -0
- package/rihal/commands/export-to-github.md +11 -0
- package/rihal/commands/forensics.md +11 -0
- package/rihal/commands/from-template.md +11 -0
- package/rihal/commands/health.md +10 -0
- package/rihal/commands/help.md +8 -0
- package/rihal/commands/import.md +12 -0
- package/rihal/commands/inbox.md +12 -0
- package/rihal/commands/init.md +14 -0
- package/rihal/commands/insert-phase.md +11 -0
- package/rihal/commands/install.md +10 -0
- package/rihal/commands/karpathy-audit.md +12 -0
- package/rihal/commands/list-plans.md +11 -0
- package/rihal/commands/list-workspaces.md +10 -0
- package/rihal/commands/map-codebase.md +14 -0
- package/rihal/commands/milestone-summary.md +11 -0
- package/rihal/commands/new-milestone.md +12 -0
- package/rihal/commands/new-project-research.md +11 -0
- package/rihal/commands/new-project-roadmap.md +11 -0
- package/rihal/commands/new-project.md +13 -0
- package/rihal/commands/new-workspace.md +12 -0
- package/rihal/commands/next.md +19 -0
- package/rihal/commands/note.md +12 -0
- package/rihal/commands/notify-test.md +10 -0
- package/rihal/commands/pause-work.md +8 -0
- package/rihal/commands/plan-milestone-gaps.md +18 -0
- package/rihal/commands/plan.md +19 -0
- package/rihal/commands/plant-seed.md +18 -0
- package/rihal/commands/pr-branch.md +18 -0
- package/rihal/commands/profile-user.md +8 -0
- package/rihal/commands/progress.md +19 -0
- package/rihal/commands/quick.md +14 -0
- package/rihal/commands/remove-phase.md +18 -0
- package/rihal/commands/remove-workspace.md +11 -0
- package/rihal/commands/replay.md +11 -0
- package/rihal/commands/report.md +10 -0
- package/rihal/commands/rerun.md +11 -0
- package/rihal/commands/research-phase.md +18 -0
- package/rihal/commands/resume-work.md +8 -0
- package/rihal/commands/review-adversarial.md +8 -0
- package/rihal/commands/review-edge-case-hunter.md +8 -0
- package/rihal/commands/review.md +18 -0
- package/rihal/commands/scan.md +14 -0
- package/rihal/commands/secure-phase.md +14 -0
- package/rihal/commands/session-report.md +10 -0
- package/rihal/commands/settings.md +8 -0
- package/rihal/commands/ship.md +18 -0
- package/rihal/commands/show.md +10 -0
- package/rihal/commands/sprint-planning.md +20 -0
- package/rihal/commands/sprint-status.md +21 -0
- package/rihal/commands/stats.md +10 -0
- package/rihal/commands/status.md +21 -0
- package/rihal/commands/ui-phase.md +8 -0
- package/rihal/commands/ui-review.md +8 -0
- package/rihal/commands/undo.md +14 -0
- package/rihal/commands/update.md +11 -0
- package/rihal/commands/validate-phase.md +18 -0
- package/rihal/commands/verify-phase.md +18 -0
- package/rihal/commands/verify-work.md +19 -0
- package/rihal/commands/why.md +10 -0
- package/rihal/commands/workstream.md +11 -0
- package/rihal/config/model-profiles.json +226 -0
- package/rihal/config/model-profiles.schema.json +36 -0
- package/rihal/config.yaml +39 -0
- package/rihal/digests/README.md +50 -0
- package/rihal/digests/fatima.md +24 -0
- package/rihal/digests/hussain-pm.md +24 -0
- package/rihal/digests/mariam.md +24 -0
- package/rihal/digests/sadiq.md +24 -0
- package/rihal/digests/waleed.md +24 -0
- package/rihal/modules/core.yaml +101 -0
- package/rihal/modules/discovery.yaml +50 -0
- package/rihal/modules/execution.yaml +66 -0
- package/rihal/references/brain-methods.csv +9 -0
- package/rihal/references/checklist-architect.md +146 -0
- package/rihal/references/checklist-change.md +136 -0
- package/rihal/references/checklist-pm.md +154 -0
- package/rihal/references/checklist-po-master.md +100 -0
- package/rihal/references/checklist-story-dod.md +75 -0
- package/rihal/references/checklist-story-draft.md +53 -0
- package/rihal/references/checkpoints-index.md +53 -0
- package/rihal/references/checkpoints.md +778 -0
- package/rihal/references/codebase-grounding.md +76 -0
- package/rihal/references/command-redirect-format.md +62 -0
- package/rihal/references/commit-conventions.md +125 -0
- package/rihal/references/common-bug-patterns-index.md +44 -0
- package/rihal/references/common-bug-patterns.md +621 -0
- package/rihal/references/context-budget.md +104 -0
- package/rihal/references/continuation-format.md +249 -0
- package/rihal/references/council-protocol.md +91 -0
- package/rihal/references/domain-probes.md +213 -0
- package/rihal/references/elicitation-methods.csv +16 -0
- package/rihal/references/execution-protocol.md +155 -0
- package/rihal/references/gate-prompts.md +212 -0
- package/rihal/references/gates.md +127 -0
- package/rihal/references/git-integration.md +159 -0
- package/rihal/references/git-planning-commit.md +185 -0
- package/rihal/references/karpathy-guidelines.md +79 -0
- package/rihal/references/model-profiles.md +90 -0
- package/rihal/references/no-unauthorized-git-ops.md +73 -0
- package/rihal/references/output-format.md +319 -0
- package/rihal/references/output-realism.md +52 -0
- package/rihal/references/project-types.yaml +270 -0
- package/rihal/references/questioning.md +163 -0
- package/rihal/references/response-style.md +81 -0
- package/rihal/references/state-schema.md +366 -0
- package/rihal/references/tdd.md +263 -0
- package/rihal/references/thinking-models-debug.md +126 -0
- package/rihal/references/thinking-models-planning.md +127 -0
- package/rihal/references/ui-brand.md +254 -0
- package/rihal/references/verification-patterns-index.md +76 -0
- package/rihal/references/verification-patterns.md +612 -0
- package/rihal/references/workstream-flag.md +166 -0
- package/rihal/skills/SKILLS_INDEX.md +114 -0
- package/rihal/skills/_shared/no-autonomous-bypass.md +37 -0
- package/rihal/skills/_shared/research-citation-rule.md +39 -0
- package/rihal/skills/_shared/state-sync-rule.md +43 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/SKILL.md +31 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-01-init.md +137 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-05-technical-trends.md +234 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/research.template.md +29 -0
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/workflow.md +49 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/SKILL.md +30 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/research.template.md +29 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-01-init.md +184 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-02-customer-behavior.md +239 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-04-customer-decisions.md +261 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-06-research-completion.md +478 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/workflow.md +49 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/SKILL.md +31 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/research.template.md +29 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-01-init.md +137 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-02-technical-overview.md +239 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-05-implementation-research.md +233 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/workflow.md +50 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/SKILL.md +30 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/checklist.md +245 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/documentation-requirements.csv +12 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/instructions.md +128 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/templates/deep-dive-template.md +345 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/templates/index-template.md +169 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/templates/project-overview-template.md +103 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/templates/project-scan-report-schema.json +160 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/templates/source-tree-template.md +135 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/workflow.md +27 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/workflows/deep-dive-instructions.md +299 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/workflows/deep-dive-workflow.md +34 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/workflows/full-scan-instructions.md +1107 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/workflows/full-scan-workflow.md +34 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md +120 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/agents/artifact-analyzer.md +60 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/agents/web-researcher.md +49 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/assets/prfaq-template.md +62 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/references/customer-faq.md +55 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/references/internal-faq.md +51 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/references/press-release.md +60 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/references/verdict.md +79 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/rihal-manifest.json +16 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/SKILL.md +112 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/agents/artifact-analyzer.md +60 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/agents/opportunity-reviewer.md +44 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/agents/skeptic-reviewer.md +44 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/agents/web-researcher.md +49 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/prompts/contextual-discovery.md +57 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/prompts/draft-and-review.md +86 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/prompts/finalize.md +75 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/prompts/guided-elicitation.md +70 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/resources/brief-template.md +60 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/rihal-manifest.json +17 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/SKILL.md +30 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/templates/epics-template.md +61 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/workflow.md +54 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/SKILL.md +39 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/README.md +30 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-01-init.md +62 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-02-outcomes.md +64 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-03-sequencing.md +65 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-04-windows.md +60 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-05-kill-criteria.md +59 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-06-phase-stubs.md +56 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-07-backlog.md +44 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-08-write-roadmap.md +58 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-09-state-sync.md +62 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-10-complete.md +56 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/workflow.md +93 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/SKILL.md +40 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/data/domain-complexity.csv +15 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/data/prd-purpose.md +197 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/data/project-types.csv +11 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-01-init.md +178 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-01b-continue.md +161 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-02-discovery.md +208 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-02b-vision.md +142 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-02c-executive-summary.md +158 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-03-success.md +214 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-04-journeys.md +201 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-05-domain.md +194 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-06-innovation.md +211 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-07-project-type.md +222 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-08-scoping.md +216 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-09-functional.md +219 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-10-nonfunctional.md +230 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-11-polish.md +221 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-12-complete.md +115 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/templates/prd-template.md +10 -0
- package/rihal/skills/actions/2-plan/rihal-create-prd/workflow.md +64 -0
- package/rihal/skills/actions/2-plan/rihal-create-story/SKILL.md +31 -0
- package/rihal/skills/actions/2-plan/rihal-create-story/checklist.md +357 -0
- package/rihal/skills/actions/2-plan/rihal-create-story/discover-inputs.md +88 -0
- package/rihal/skills/actions/2-plan/rihal-create-story/template.md +49 -0
- package/rihal/skills/actions/2-plan/rihal-create-story/workflow.md +380 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/SKILL.md +31 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-01-init.md +135 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-01b-continue.md +127 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-02-discovery.md +190 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-03-core-experience.md +217 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-04-emotional-response.md +220 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-05-inspiration.md +235 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-06-design-system.md +253 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-07-defining-experience.md +255 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-08-visual-foundation.md +225 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-09-design-directions.md +225 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-10-user-journeys.md +242 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-11-component-strategy.md +249 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-12-ux-patterns.md +238 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-14-complete.md +171 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/ux-design-template.md +13 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/workflow.md +36 -0
- package/rihal/skills/actions/2-plan/rihal-edit-prd/SKILL.md +30 -0
- package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-01-discovery.md +242 -0
- package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
- package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-02-review.md +245 -0
- package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-03-edit.md +250 -0
- package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-04-complete.md +165 -0
- package/rihal/skills/actions/2-plan/rihal-edit-prd/workflow.md +63 -0
- package/rihal/skills/actions/2-plan/rihal-frontend-design/SKILL.md +169 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/SKILL.md +29 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/data/domain-complexity.csv +15 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/data/prd-purpose.md +197 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/data/project-types.csv +11 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-01-discovery.md +221 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/workflow.md +62 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/SKILL.md +30 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/workflow.md +49 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/SKILL.md +32 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/architecture-decision-template.md +12 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/data/domain-complexity.csv +13 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/data/project-types.csv +7 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-01-init.md +153 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-01b-continue.md +173 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-02-context.md +224 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-03-starter.md +329 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-04-decisions.md +318 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-05-patterns.md +359 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-06-structure.md +379 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-07-validation.md +359 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-08-complete.md +76 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/workflow.md +38 -0
- package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/SKILL.md +31 -0
- package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/project-context-template.md +21 -0
- package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/steps/step-01-discover.md +186 -0
- package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/steps/step-02-generate.md +321 -0
- package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/steps/step-03-complete.md +278 -0
- package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/workflow.md +43 -0
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md +48 -0
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/generate-trail.md +38 -0
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-01-orientation.md +105 -0
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-02-walkthrough.md +89 -0
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-03-detail-pass.md +106 -0
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-04-testing.md +74 -0
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-05-wrapup.md +24 -0
- package/rihal/skills/actions/4-implementation/rihal-code-review/SKILL.md +31 -0
- package/rihal/skills/actions/4-implementation/rihal-code-review/steps/step-01-gather-context.md +62 -0
- package/rihal/skills/actions/4-implementation/rihal-code-review/steps/step-02-review.md +34 -0
- package/rihal/skills/actions/4-implementation/rihal-code-review/steps/step-03-triage.md +49 -0
- package/rihal/skills/actions/4-implementation/rihal-code-review/steps/step-04-present.md +129 -0
- package/rihal/skills/actions/4-implementation/rihal-code-review/workflow.md +55 -0
- package/rihal/skills/actions/4-implementation/rihal-correct-course/SKILL.md +29 -0
- package/rihal/skills/actions/4-implementation/rihal-correct-course/checklist.md +288 -0
- package/rihal/skills/actions/4-implementation/rihal-correct-course/workflow.md +267 -0
- package/rihal/skills/actions/4-implementation/rihal-dev-story/SKILL.md +36 -0
- package/rihal/skills/actions/4-implementation/rihal-dev-story/checklist.md +80 -0
- package/rihal/skills/actions/4-implementation/rihal-dev-story/workflow.md +450 -0
- package/rihal/skills/actions/4-implementation/rihal-qa-generate-e2e-tests/SKILL.md +31 -0
- package/rihal/skills/actions/4-implementation/rihal-qa-generate-e2e-tests/checklist.md +33 -0
- package/rihal/skills/actions/4-implementation/rihal-qa-generate-e2e-tests/workflow.md +136 -0
- package/rihal/skills/actions/4-implementation/rihal-retrospective/SKILL.md +30 -0
- package/rihal/skills/actions/4-implementation/rihal-retrospective/workflow.md +1479 -0
- package/rihal/skills/actions/4-implementation/rihal-scaffold-project/SKILL.md +77 -0
- package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-01-target.md +17 -0
- package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-02-safety.md +35 -0
- package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-03-clone.md +50 -0
- package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-04-post-setup.md +44 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/SKILL.md +35 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/checklist.md +43 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/sprint-status-template.yaml +56 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/workflow.md +284 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-status/SKILL.md +30 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-status/workflow.md +261 -0
- package/rihal/skills/agents/ahmed-hassani-director/SKILL.md +121 -0
- package/rihal/skills/agents/fatima-qa/SKILL.md +106 -0
- package/rihal/skills/agents/fatima-qa/skill-manifest.yaml +11 -0
- package/rihal/skills/agents/haitham-frontend/SKILL.md +120 -0
- package/rihal/skills/agents/hanzla-engineer/SKILL.md +109 -0
- package/rihal/skills/agents/hanzla-engineer/skill-manifest.yaml +11 -0
- package/rihal/skills/agents/hussain-pm/SKILL.md +107 -0
- package/rihal/skills/agents/hussain-pm/skill-manifest.yaml +11 -0
- package/rihal/skills/agents/hussain-sm/SKILL.md +104 -0
- package/rihal/skills/agents/hussain-sm/skill-manifest.yaml +11 -0
- package/rihal/skills/agents/layla-designer/SKILL.md +96 -0
- package/rihal/skills/agents/layla-designer/skill-manifest.yaml +11 -0
- package/rihal/skills/agents/majlis-council/SKILL.md +179 -0
- package/rihal/skills/agents/mariam-marketing/SKILL.md +133 -0
- package/rihal/skills/agents/nasser-eng-manager/SKILL.md +125 -0
- package/rihal/skills/agents/noor-writer/SKILL.md +104 -0
- package/rihal/skills/agents/noor-writer/explain-concept.md +20 -0
- package/rihal/skills/agents/noor-writer/mermaid-gen.md +20 -0
- package/rihal/skills/agents/noor-writer/skill-manifest.yaml +11 -0
- package/rihal/skills/agents/noor-writer/validate-doc.md +19 -0
- package/rihal/skills/agents/noor-writer/write-document.md +20 -0
- package/rihal/skills/agents/raees-orchestrator/SKILL.md +154 -0
- package/rihal/skills/agents/sadiq-analyst/SKILL.md +106 -0
- package/rihal/skills/agents/sadiq-analyst/skill-manifest.yaml +11 -0
- package/rihal/skills/agents/waleed-architect/SKILL.md +106 -0
- package/rihal/skills/agents/waleed-architect/skill-manifest.yaml +11 -0
- package/rihal/skills/agents/yousef-backend/SKILL.md +136 -0
- package/rihal/skills/agents/zahra-branding/SKILL.md +141 -0
- package/rihal/skills/agents/zayd-ml/SKILL.md +124 -0
- package/rihal/skills/core/module-help.csv +11 -0
- package/rihal/skills/core/module.yaml +25 -0
- package/rihal/skills/core/rihal-advanced-elicitation/SKILL.md +155 -0
- package/rihal/skills/core/rihal-advanced-elicitation/methods.csv +51 -0
- package/rihal/skills/core/rihal-advanced-elicitation/rihal-advanced-elicitation/SKILL.md +148 -0
- package/rihal/skills/core/rihal-advanced-elicitation/rihal-advanced-elicitation/methods.csv +51 -0
- package/rihal/skills/core/rihal-brainstorming/SKILL.md +82 -0
- package/rihal/skills/core/rihal-brainstorming/brain-methods.csv +62 -0
- package/rihal/skills/core/rihal-brainstorming/steps/step-01-session-setup.md +214 -0
- package/rihal/skills/core/rihal-brainstorming/steps/step-01b-continue.md +124 -0
- package/rihal/skills/core/rihal-brainstorming/steps/step-02a-user-selected.md +229 -0
- package/rihal/skills/core/rihal-brainstorming/steps/step-02b-ai-recommended.md +239 -0
- package/rihal/skills/core/rihal-brainstorming/steps/step-02c-random-selection.md +211 -0
- package/rihal/skills/core/rihal-brainstorming/steps/step-02d-progressive-flow.md +266 -0
- package/rihal/skills/core/rihal-brainstorming/steps/step-03-technique-execution.md +401 -0
- package/rihal/skills/core/rihal-brainstorming/steps/step-04-idea-organization.md +305 -0
- package/rihal/skills/core/rihal-brainstorming/template.md +15 -0
- package/rihal/skills/core/rihal-brainstorming/workflow.md +53 -0
- package/rihal/skills/core/rihal-clone-website/SKILL.md +395 -0
- package/rihal/skills/core/rihal-distillator/SKILL.md +205 -0
- package/rihal/skills/core/rihal-distillator/agents/distillate-compressor.md +116 -0
- package/rihal/skills/core/rihal-distillator/agents/round-trip-reconstructor.md +68 -0
- package/rihal/skills/core/rihal-distillator/resources/compression-rules.md +51 -0
- package/rihal/skills/core/rihal-distillator/resources/distillate-format-reference.md +227 -0
- package/rihal/skills/core/rihal-distillator/resources/splitting-strategy.md +78 -0
- package/rihal/skills/core/rihal-distillator/scripts/analyze_sources.py +300 -0
- package/rihal/skills/core/rihal-distillator/scripts/tests/test_analyze_sources.py +204 -0
- package/rihal/skills/core/rihal-editorial-review-prose/SKILL.md +108 -0
- package/rihal/skills/core/rihal-editorial-review-structure/SKILL.md +193 -0
- package/rihal/skills/core/rihal-help/SKILL.md +91 -0
- package/rihal/skills/core/rihal-index-docs/SKILL.md +80 -0
- package/rihal/skills/core/rihal-init/SKILL.md +119 -0
- package/rihal/skills/core/rihal-init/resources/core-module.yaml +25 -0
- package/rihal/skills/core/rihal-init/scripts/rihal_init.py +593 -0
- package/rihal/skills/core/rihal-init/scripts/tests/test_rihal_init.py +329 -0
- package/rihal/skills/core/rihal-party-mode/SKILL.md +77 -0
- package/rihal/skills/core/rihal-party-mode/steps/step-01-agent-loading.md +138 -0
- package/rihal/skills/core/rihal-party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/rihal/skills/core/rihal-party-mode/steps/step-03-graceful-exit.md +167 -0
- package/rihal/skills/core/rihal-party-mode/workflow.md +190 -0
- package/rihal/skills/core/rihal-review-adversarial-general/SKILL.md +55 -0
- package/rihal/skills/core/rihal-review-edge-case-hunter/SKILL.md +81 -0
- package/rihal/skills/core/rihal-shard-doc/SKILL.md +119 -0
- package/rihal/skills/core/rihal-shard-doc/rihal-shard-doc/SKILL.md +122 -0
- package/rihal/team.yaml +343 -0
- package/rihal/templates/UI-SPEC.md +127 -0
- package/rihal/templates/documentation-requirements.csv +11 -0
- package/rihal/templates/github/bug-template.md +53 -0
- package/rihal/templates/github/epic-template.md +57 -0
- package/rihal/templates/github/feature-template.md +55 -0
- package/rihal/templates/github/task-template.md +52 -0
- package/rihal/templates/milestone.md +147 -0
- package/rihal/templates/projects/api-backend/PROJECT.md +37 -0
- package/rihal/templates/projects/api-backend/REQUIREMENTS.md +38 -0
- package/rihal/templates/projects/api-backend/ROADMAP.md +92 -0
- package/rihal/templates/projects/api-backend/template.yaml +17 -0
- package/rihal/templates/projects/mobile-app/PROJECT.md +37 -0
- package/rihal/templates/projects/mobile-app/REQUIREMENTS.md +32 -0
- package/rihal/templates/projects/mobile-app/ROADMAP.md +93 -0
- package/rihal/templates/projects/mobile-app/template.yaml +17 -0
- package/rihal/templates/projects/saas-b2b/PROJECT.md +40 -0
- package/rihal/templates/projects/saas-b2b/REQUIREMENTS.md +38 -0
- package/rihal/templates/projects/saas-b2b/ROADMAP.md +95 -0
- package/rihal/templates/projects/saas-b2b/template.yaml +18 -0
- package/rihal/templates/settings-hooks.json +36 -0
- package/rihal/templates/sprint.md +70 -0
- package/rihal/workflows/add-phase.md +112 -0
- package/rihal/workflows/add-tests.md +351 -0
- package/rihal/workflows/add-todo.md +181 -0
- package/rihal/workflows/analyze-dependencies.md +138 -0
- package/rihal/workflows/audit-fix.md +190 -0
- package/rihal/workflows/audit-milestone.md +155 -0
- package/rihal/workflows/audit-uat.md +109 -0
- package/rihal/workflows/autonomous.md +992 -0
- package/rihal/workflows/brainstorm.md +203 -0
- package/rihal/workflows/chain.md +188 -0
- package/rihal/workflows/check-implementation-readiness.md +193 -0
- package/rihal/workflows/check-todos.md +177 -0
- package/rihal/workflows/cleanup.md +152 -0
- package/rihal/workflows/code-review-fix.md +529 -0
- package/rihal/workflows/code-review.md +566 -0
- package/rihal/workflows/complete-milestone.md +836 -0
- package/rihal/workflows/config.md +105 -0
- package/rihal/workflows/correct-course.md +190 -0
- package/rihal/workflows/council.md +565 -0
- package/rihal/workflows/create-epics-and-stories.md +373 -0
- package/rihal/workflows/create-story.md +297 -0
- package/rihal/workflows/dashboard.md +102 -0
- package/rihal/workflows/debug.md +256 -0
- package/rihal/workflows/decisions.md +107 -0
- package/rihal/workflows/dev-story.md +432 -0
- package/rihal/workflows/diff.md +74 -0
- package/rihal/workflows/discuss-phase-power.md +325 -0
- package/rihal/workflows/discuss-phase.md +1201 -0
- package/rihal/workflows/discuss.md +227 -0
- package/rihal/workflows/do.md +175 -0
- package/rihal/workflows/docs-update.md +261 -0
- package/rihal/workflows/document-project.md +180 -0
- package/rihal/workflows/enable-hooks.md +102 -0
- package/rihal/workflows/execute-sprint.md +514 -0
- package/rihal/workflows/execute.md +1478 -0
- package/rihal/workflows/explore.md +171 -0
- package/rihal/workflows/export-to-github.md +174 -0
- package/rihal/workflows/forensics.md +201 -0
- package/rihal/workflows/from-template.md +173 -0
- package/rihal/workflows/health.md +194 -0
- package/rihal/workflows/help.md +318 -0
- package/rihal/workflows/import.md +306 -0
- package/rihal/workflows/inbox.md +418 -0
- package/rihal/workflows/init.md +245 -0
- package/rihal/workflows/insert-phase.md +116 -0
- package/rihal/workflows/install.md +85 -0
- package/rihal/workflows/karpathy-audit.md +409 -0
- package/rihal/workflows/list-plans.md +146 -0
- package/rihal/workflows/list-workspaces.md +115 -0
- package/rihal/workflows/map-codebase.md +449 -0
- package/rihal/workflows/milestone-summary.md +206 -0
- package/rihal/workflows/new-milestone.md +616 -0
- package/rihal/workflows/new-project-research.md +262 -0
- package/rihal/workflows/new-project-roadmap.md +446 -0
- package/rihal/workflows/new-project.md +1503 -0
- package/rihal/workflows/new-workspace.md +167 -0
- package/rihal/workflows/next.md +162 -0
- package/rihal/workflows/note.md +156 -0
- package/rihal/workflows/notify-test.md +113 -0
- package/rihal/workflows/pause-work.md +243 -0
- package/rihal/workflows/plan-milestone-gaps.md +273 -0
- package/rihal/workflows/plan.md +1262 -0
- package/rihal/workflows/plant-seed.md +169 -0
- package/rihal/workflows/pr-branch.md +129 -0
- package/rihal/workflows/profile-user.md +162 -0
- package/rihal/workflows/progress.md +184 -0
- package/rihal/workflows/quick.md +105 -0
- package/rihal/workflows/remove-phase.md +155 -0
- package/rihal/workflows/remove-workspace.md +158 -0
- package/rihal/workflows/replay.md +160 -0
- package/rihal/workflows/rerun.md +77 -0
- package/rihal/workflows/research-phase.md +82 -0
- package/rihal/workflows/resume-work.md +326 -0
- package/rihal/workflows/review-adversarial.md +180 -0
- package/rihal/workflows/review-edge-case-hunter.md +214 -0
- package/rihal/workflows/review.md +281 -0
- package/rihal/workflows/scan.md +135 -0
- package/rihal/workflows/secure-phase.md +196 -0
- package/rihal/workflows/session-report.md +187 -0
- package/rihal/workflows/settings.md +185 -0
- package/rihal/workflows/ship.md +237 -0
- package/rihal/workflows/show.md +63 -0
- package/rihal/workflows/sprint-planning.md +166 -0
- package/rihal/workflows/sprint-status.md +124 -0
- package/rihal/workflows/stats.md +141 -0
- package/rihal/workflows/status.md +116 -0
- package/rihal/workflows/ui-phase.md +148 -0
- package/rihal/workflows/ui-review.md +130 -0
- package/rihal/workflows/undo.md +426 -0
- package/rihal/workflows/update.md +185 -0
- package/rihal/workflows/validate-phase.md +174 -0
- package/rihal/workflows/verify-phase.md +375 -0
- package/rihal/workflows/verify-work.md +717 -0
- package/rihal/workflows/why.md +130 -0
- package/rihal/workflows/workstream.md +197 -0
- package/server/dashboard.js +632 -0
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Safe git revert workflow. Rolls back Rihal phase or plan commits using the phase manifest with dependency checks and a confirmation gate. Uses git revert --no-commit (NEVER git reset) to preserve history.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Step 0 — Usage check
|
|
7
|
+
|
|
8
|
+
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
/rihal:undo <argument-here>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Examples:**
|
|
15
|
+
```
|
|
16
|
+
/rihal:undo example 1
|
|
17
|
+
/rihal:undo example 2
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
STOP — do not proceed.
|
|
21
|
+
|
|
22
|
+
<required_reading>
|
|
23
|
+
@.rihal/references/ui-brand.md
|
|
24
|
+
@.rihal/references/gate-prompts.md
|
|
25
|
+
</required_reading>
|
|
26
|
+
|
|
27
|
+
<process>
|
|
28
|
+
|
|
29
|
+
<step name="banner" priority="first">
|
|
30
|
+
Display the stage banner:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
34
|
+
Rihal ► UNDO
|
|
35
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
36
|
+
```
|
|
37
|
+
</step>
|
|
38
|
+
|
|
39
|
+
<step name="parse_arguments">
|
|
40
|
+
Parse $ARGUMENTS for the undo mode:
|
|
41
|
+
|
|
42
|
+
- `--last N` → MODE=last, COUNT=N (integer, default 10 if N missing)
|
|
43
|
+
- `--phase NN` → MODE=phase, TARGET_PHASE=NN (two-digit phase number)
|
|
44
|
+
- `--plan NN-MM` → MODE=plan, TARGET_PLAN=NN-MM (phase-plan ID)
|
|
45
|
+
- `--to-snapshot` → TO_SNAPSHOT=true (only combines with `--phase NN`). Uses the pre-execution git tag `rihal/snapshot/phase-NN` to determine the full commit range to revert — guaranteed to restore exact pre-execution state regardless of manifest accuracy.
|
|
46
|
+
|
|
47
|
+
If no valid argument is provided, display usage and exit:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Usage: /rihal:undo --last N | --phase NN [--to-snapshot] | --plan NN-MM
|
|
51
|
+
|
|
52
|
+
Modes:
|
|
53
|
+
--last N Show last N Rihal commits for interactive selection
|
|
54
|
+
--phase NN Revert all commits for phase NN (uses manifest, fallback to git log)
|
|
55
|
+
--phase NN --to-snapshot
|
|
56
|
+
Revert every commit between rihal/snapshot/phase-NN and HEAD —
|
|
57
|
+
exact restore to the pre-execution tag created by /rihal:execute
|
|
58
|
+
--plan NN-MM Revert all commits for plan NN-MM
|
|
59
|
+
|
|
60
|
+
Examples:
|
|
61
|
+
/rihal:undo --last 5
|
|
62
|
+
/rihal:undo --phase 03
|
|
63
|
+
/rihal:undo --phase 03 --to-snapshot
|
|
64
|
+
/rihal:undo --plan 03-02
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
</step>
|
|
68
|
+
|
|
69
|
+
<step name="confirmation_gate" priority="safety">
|
|
70
|
+
**SAFETY GATE — This is a destructive operation. Confirmation is mandatory.**
|
|
71
|
+
|
|
72
|
+
Before gathering any commits, display:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
⚠ UNDO is destructive — commits will be reverted via git revert --no-commit.
|
|
76
|
+
|
|
77
|
+
Unsure what will be reverted? Run first:
|
|
78
|
+
|
|
79
|
+
/rihal:undo --last 5
|
|
80
|
+
|
|
81
|
+
to preview the last 5 Rihal commits before choosing.
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Use AskUserQuestion with explicit confirmation:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
AskUserQuestion(
|
|
88
|
+
header: "Confirm Undo",
|
|
89
|
+
question: "Proceed with undo operation?",
|
|
90
|
+
options: [
|
|
91
|
+
{ label: "Preview first", description: "Show what will be reverted" },
|
|
92
|
+
{ label: "Proceed", description: "Continue with undo" },
|
|
93
|
+
{ label: "Cancel", description: "Abort" }
|
|
94
|
+
]
|
|
95
|
+
)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**If "Cancel":** display "Undo cancelled. No changes made." and exit.
|
|
99
|
+
|
|
100
|
+
**If "Preview first":** temporarily switch MODE to `last` with COUNT=5, gather and display commits (do NOT confirm-revert yet), then re-ask this gate.
|
|
101
|
+
|
|
102
|
+
**If "Proceed":** continue to gather_commits.
|
|
103
|
+
|
|
104
|
+
</step>
|
|
105
|
+
|
|
106
|
+
<step name="gather_commits">
|
|
107
|
+
Based on MODE, gather candidate commits.
|
|
108
|
+
|
|
109
|
+
**MODE=last:**
|
|
110
|
+
|
|
111
|
+
Run:
|
|
112
|
+
```bash
|
|
113
|
+
git log --oneline --no-merges -${COUNT}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Filter for Rihal conventional commits matching `type(scope): message` pattern (e.g., `feat(04-01):`, `docs(03):`, `fix(02-03):`).
|
|
117
|
+
|
|
118
|
+
Display a numbered list of matching commits:
|
|
119
|
+
```
|
|
120
|
+
Recent Rihal commits:
|
|
121
|
+
1. abc1234 feat(04-01): implement auth endpoint
|
|
122
|
+
2. def5678 docs(03-02): complete plan summary
|
|
123
|
+
3. ghi9012 fix(02-03): correct validation logic
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Use AskUserQuestion to ask:
|
|
127
|
+
- question: "Which commits to revert? Enter numbers (e.g., 1,3) or 'all'"
|
|
128
|
+
- header: "Select"
|
|
129
|
+
|
|
130
|
+
Parse the user's selection into COMMITS list.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
**MODE=phase:**
|
|
135
|
+
|
|
136
|
+
**If `TO_SNAPSHOT` is true:**
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
SNAPSHOT_TAG="rihal/snapshot/phase-${TARGET_PHASE}"
|
|
140
|
+
if ! git rev-parse --verify "refs/tags/${SNAPSHOT_TAG}" >/dev/null 2>&1; then
|
|
141
|
+
cat <<EOF
|
|
142
|
+
No snapshot tag found: ${SNAPSHOT_TAG}
|
|
143
|
+
|
|
144
|
+
Snapshots are created automatically when /rihal:execute runs for a phase.
|
|
145
|
+
Options:
|
|
146
|
+
- Drop --to-snapshot and use manifest/git-log fallback: /rihal:undo --phase ${TARGET_PHASE}
|
|
147
|
+
- Re-run /rihal:execute <phase> to create a snapshot for future undo
|
|
148
|
+
EOF
|
|
149
|
+
exit 0
|
|
150
|
+
fi
|
|
151
|
+
|
|
152
|
+
mapfile -t COMMITS < <(git log --pretty=format:%H --no-merges "${SNAPSHOT_TAG}..HEAD")
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
If the range is empty (HEAD is already at the snapshot):
|
|
156
|
+
```
|
|
157
|
+
Nothing to revert — HEAD already matches ${SNAPSHOT_TAG}.
|
|
158
|
+
```
|
|
159
|
+
Exit cleanly. Skip the rest of this step.
|
|
160
|
+
|
|
161
|
+
Otherwise set `SNAPSHOT_SHA=$(git rev-parse --short "${SNAPSHOT_TAG}")` for use in the confirm_revert preview (display the target SHA).
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
**If `TO_SNAPSHOT` is false (default):**
|
|
166
|
+
|
|
167
|
+
Read `.planning/.phase-manifest.json` if it exists.
|
|
168
|
+
|
|
169
|
+
If the file exists and `manifest.phases?.[TARGET_PHASE]?.commits` is a non-empty array:
|
|
170
|
+
- Use `manifest.phases[TARGET_PHASE].commits` entries as COMMITS (each entry is a commit hash)
|
|
171
|
+
|
|
172
|
+
If the file does not exist, or `manifest.phases?.[TARGET_PHASE]` is missing:
|
|
173
|
+
- Display: "Manifest has no entry for phase ${TARGET_PHASE} (or file missing), falling back to git log search"
|
|
174
|
+
- Fallback: run git log and filter for the target phase scope:
|
|
175
|
+
```bash
|
|
176
|
+
git log --oneline --no-merges --all | grep -E "\(0*${TARGET_PHASE}(-[0-9]+)?\):" | head -50
|
|
177
|
+
```
|
|
178
|
+
- Use matching commits as COMMITS
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
**MODE=plan:**
|
|
183
|
+
|
|
184
|
+
Run:
|
|
185
|
+
```bash
|
|
186
|
+
git log --oneline --no-merges --all | grep -E "\(${TARGET_PLAN}\)" | head -50
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Use matching commits as COMMITS.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
**Empty check:**
|
|
194
|
+
|
|
195
|
+
If COMMITS is empty after gathering:
|
|
196
|
+
```
|
|
197
|
+
No commits found for ${MODE} ${TARGET}. Nothing to revert.
|
|
198
|
+
```
|
|
199
|
+
Exit cleanly.
|
|
200
|
+
</step>
|
|
201
|
+
|
|
202
|
+
<step name="dependency_check">
|
|
203
|
+
**Applies when MODE=phase or MODE=plan.**
|
|
204
|
+
|
|
205
|
+
Skip this step entirely for MODE=last.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
**MODE=phase:**
|
|
210
|
+
|
|
211
|
+
Read `.planning/ROADMAP.md` inline.
|
|
212
|
+
|
|
213
|
+
Search for phases that list a dependency on the target phase. Look for patterns like:
|
|
214
|
+
- "Depends on: Phase ${TARGET_PHASE}"
|
|
215
|
+
- "Depends on: ${TARGET_PHASE}"
|
|
216
|
+
- "depends_on: [${TARGET_PHASE}]"
|
|
217
|
+
|
|
218
|
+
For each dependent phase N found:
|
|
219
|
+
1. Check if `.planning/phases/${N}-*/` directory exists
|
|
220
|
+
2. If directory exists, check for any SPRINT.md or SUMMARY.md files inside it
|
|
221
|
+
|
|
222
|
+
If any downstream phase has started work, collect warnings:
|
|
223
|
+
```
|
|
224
|
+
⚠ Downstream dependency detected:
|
|
225
|
+
Phase ${N} depends on Phase ${TARGET_PHASE} and has started work.
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
**MODE=plan:**
|
|
231
|
+
|
|
232
|
+
Extract the phase number from TARGET_PLAN (the NN part of NN-MM). Extract the plan number (the MM part).
|
|
233
|
+
|
|
234
|
+
Look for later plans in the same phase directory (`.planning/phases/${NN}-*/`). For each later plan (plans with number > MM):
|
|
235
|
+
1. Read the later plan's SPRINT.md
|
|
236
|
+
2. Check if its `<files>` sections or `consumes` fields reference outputs from the target plan
|
|
237
|
+
3. Also scan later plan's frontmatter for `depends_on:` field matching the target plan ID
|
|
238
|
+
|
|
239
|
+
If any later plan references the target plan's outputs, collect warnings:
|
|
240
|
+
```
|
|
241
|
+
⚠ Intra-phase dependency detected:
|
|
242
|
+
Plan ${LATER_PLAN} in phase ${NN} references outputs from plan ${TARGET_PLAN}.
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
If any warnings exist (from either mode):
|
|
248
|
+
- Display all warnings
|
|
249
|
+
- Use AskUserQuestion with approve-revise-abort pattern:
|
|
250
|
+
- question: "Downstream work depends on the target being reverted. Proceed anyway?"
|
|
251
|
+
- header: "Confirm"
|
|
252
|
+
- options: Proceed | Abort
|
|
253
|
+
|
|
254
|
+
If user selects "Abort": exit with "Revert cancelled. No changes made."
|
|
255
|
+
</step>
|
|
256
|
+
|
|
257
|
+
<step name="confirm_revert">
|
|
258
|
+
Display the confirmation gate using approve-revise-abort pattern from gate-prompts.md.
|
|
259
|
+
|
|
260
|
+
Show:
|
|
261
|
+
```
|
|
262
|
+
The following commits will be reverted (in reverse chronological order):
|
|
263
|
+
|
|
264
|
+
{hash} — {message}
|
|
265
|
+
{hash} — {message}
|
|
266
|
+
...
|
|
267
|
+
|
|
268
|
+
Total: {N} commit(s) to revert
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Use AskUserQuestion:
|
|
272
|
+
- question: "Proceed with revert?"
|
|
273
|
+
- header: "Approve?"
|
|
274
|
+
- options: Approve | Abort
|
|
275
|
+
|
|
276
|
+
If "Abort": display "Revert cancelled. No changes made." and exit.
|
|
277
|
+
If "Approve": ask for a reason:
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
AskUserQuestion(
|
|
281
|
+
header: "Reason",
|
|
282
|
+
question: "Brief reason for the revert (used in commit message):",
|
|
283
|
+
options: []
|
|
284
|
+
)
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Store the response as REVERT_REASON. Continue to execute_revert.
|
|
288
|
+
</step>
|
|
289
|
+
|
|
290
|
+
<step name="execute_revert">
|
|
291
|
+
**HARD CONSTRAINT: Use git revert --no-commit. NEVER use git reset (except for conflict cleanup as documented below).**
|
|
292
|
+
|
|
293
|
+
**Dirty-tree guard (run first, before any revert):**
|
|
294
|
+
|
|
295
|
+
Run `git status --porcelain`. If the output is non-empty, display the dirty files and abort:
|
|
296
|
+
```
|
|
297
|
+
Working tree has uncommitted changes. Commit or stash them before running /rihal:undo.
|
|
298
|
+
```
|
|
299
|
+
Exit immediately — do not proceed to any revert operations.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
Sort COMMITS in reverse chronological order (newest first). If commits came from git log (already newest-first), they are already in correct order.
|
|
304
|
+
|
|
305
|
+
For each commit hash in COMMITS:
|
|
306
|
+
```bash
|
|
307
|
+
git revert --no-commit ${HASH}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
If any revert fails (merge conflict or error):
|
|
311
|
+
1. Display the error message
|
|
312
|
+
2. Run cleanup — handle both first-call and mid-sequence cases:
|
|
313
|
+
```bash
|
|
314
|
+
# Try git revert --abort first (works if this is the first failed revert)
|
|
315
|
+
git revert --abort 2>/dev/null
|
|
316
|
+
# If prior --no-commit reverts already staged cleanly before this failure,
|
|
317
|
+
# revert --abort may be a no-op. Clean up staged and working tree changes:
|
|
318
|
+
git reset HEAD 2>/dev/null
|
|
319
|
+
git restore . 2>/dev/null
|
|
320
|
+
```
|
|
321
|
+
3. Display:
|
|
322
|
+
```
|
|
323
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
324
|
+
║ ERROR ║
|
|
325
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
326
|
+
|
|
327
|
+
Revert failed on commit ${HASH}.
|
|
328
|
+
Likely cause: merge conflict with subsequent changes.
|
|
329
|
+
|
|
330
|
+
**To fix:** Resolve the conflict manually or revert commits individually.
|
|
331
|
+
All pending reverts have been aborted — working tree is clean.
|
|
332
|
+
```
|
|
333
|
+
4. Exit with error.
|
|
334
|
+
|
|
335
|
+
After all reverts are staged successfully, create a single commit:
|
|
336
|
+
|
|
337
|
+
For MODE=phase (default):
|
|
338
|
+
```bash
|
|
339
|
+
git commit -m "revert(${TARGET_PHASE}): undo phase ${TARGET_PHASE} — ${REVERT_REASON}"
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
For MODE=phase with `--to-snapshot`:
|
|
343
|
+
```bash
|
|
344
|
+
git commit -m "revert(${TARGET_PHASE}): restore phase ${TARGET_PHASE} to snapshot ${SNAPSHOT_SHA} — ${REVERT_REASON}"
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
For MODE=plan:
|
|
348
|
+
```bash
|
|
349
|
+
git commit -m "revert(${TARGET_PLAN}): undo plan ${TARGET_PLAN} — ${REVERT_REASON}"
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
For MODE=last:
|
|
353
|
+
```bash
|
|
354
|
+
git commit -m "revert: undo ${N} selected commits — ${REVERT_REASON}"
|
|
355
|
+
```
|
|
356
|
+
</step>
|
|
357
|
+
|
|
358
|
+
<step name="summary">
|
|
359
|
+
Display the completion banner:
|
|
360
|
+
|
|
361
|
+
```
|
|
362
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
363
|
+
Rihal ► UNDO COMPLETE ✓
|
|
364
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
Show summary:
|
|
368
|
+
```
|
|
369
|
+
✓ ${N} commit(s) reverted
|
|
370
|
+
✓ Single revert commit created: ${REVERT_HASH}
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
Show next steps:
|
|
374
|
+
```
|
|
375
|
+
───────────────────────────────────────────────────────────────
|
|
376
|
+
|
|
377
|
+
## ▶ Next Up
|
|
378
|
+
|
|
379
|
+
**Review state** — verify project is in expected state after revert
|
|
380
|
+
|
|
381
|
+
/clear then:
|
|
382
|
+
|
|
383
|
+
/rihal:progress
|
|
384
|
+
|
|
385
|
+
───────────────────────────────────────────────────────────────
|
|
386
|
+
|
|
387
|
+
**Also available:**
|
|
388
|
+
- `/rihal:execute ${PHASE}` — re-execute if needed
|
|
389
|
+
- `/rihal:undo --last 1` — undo the revert itself if something went wrong
|
|
390
|
+
|
|
391
|
+
───────────────────────────────────────────────────────────────
|
|
392
|
+
```
|
|
393
|
+
</step>
|
|
394
|
+
|
|
395
|
+
</process>
|
|
396
|
+
|
|
397
|
+
<success_criteria>
|
|
398
|
+
- [ ] Arguments parsed correctly for all three modes
|
|
399
|
+
- [ ] --phase mode reads .planning/.phase-manifest.json using manifest.phases[TARGET_PHASE].commits
|
|
400
|
+
- [ ] --phase mode falls back to git log if manifest entry missing
|
|
401
|
+
- [ ] --phase --to-snapshot uses rihal/snapshot/phase-NN tag and reverts ${TAG}..HEAD
|
|
402
|
+
- [ ] --to-snapshot exits cleanly when the snapshot tag is missing (no surprise no-op)
|
|
403
|
+
- [ ] Dependency check warns when downstream phases have started (MODE=phase)
|
|
404
|
+
- [ ] Dependency check warns when later plans reference target plan outputs (MODE=plan)
|
|
405
|
+
- [ ] Dirty-tree guard aborts if working tree has uncommitted changes
|
|
406
|
+
- [ ] Confirmation gate shown before any revert execution
|
|
407
|
+
- [ ] Reverts use git revert --no-commit in reverse chronological order
|
|
408
|
+
- [ ] Single commit created after all reverts staged
|
|
409
|
+
- [ ] Error handling cleans up both first-call and mid-sequence conflict cases
|
|
410
|
+
- [ ] git reset --hard is NEVER used anywhere in this workflow
|
|
411
|
+
</success_criteria>
|
|
412
|
+
|
|
413
|
+
## Success Criteria
|
|
414
|
+
|
|
415
|
+
- [ ] Task completed as requested
|
|
416
|
+
- [ ] Output saved or reported
|
|
417
|
+
- [ ] State updated if necessary
|
|
418
|
+
- [ ] No errors encountered
|
|
419
|
+
|
|
420
|
+
## On Error
|
|
421
|
+
|
|
422
|
+
If arguments are invalid, missing files, or subagent fails:
|
|
423
|
+
- Validate inputs match expected format
|
|
424
|
+
- Check that required files exist
|
|
425
|
+
- Retry with clearer arguments or report the specific error to the user
|
|
426
|
+
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Workflow: rihal:update
|
|
2
|
+
|
|
3
|
+
<purpose>
|
|
4
|
+
Detect package updates for rihal-code by comparing installed file hashes against source package hashes. Show changelog (added/changed/removed files), ask user confirmation, then run installer with --force --yes if approved.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Step 0 — Usage check
|
|
9
|
+
|
|
10
|
+
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/rihal:update <argument-here>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Examples:**
|
|
17
|
+
```
|
|
18
|
+
/rihal:update example 1
|
|
19
|
+
/rihal:update example 2
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
STOP — do not proceed.
|
|
23
|
+
|
|
24
|
+
## Step 1 — Locate installed package
|
|
25
|
+
|
|
26
|
+
Find the rihal-code package using one of these strategies (in order):
|
|
27
|
+
1. Check `$(npm root -g)/rihal-code/cli/install-v2.js` (global install)
|
|
28
|
+
2. Check `./cli/install-v2.js` (local install)
|
|
29
|
+
3. If neither exists, print:
|
|
30
|
+
```
|
|
31
|
+
❌ rihal-code package not found. Install with:
|
|
32
|
+
npm install -g rihal-code
|
|
33
|
+
```
|
|
34
|
+
Exit.
|
|
35
|
+
|
|
36
|
+
Store the installer path in `$INSTALLER_PATH`.
|
|
37
|
+
|
|
38
|
+
## Step 2 — Read installed manifest
|
|
39
|
+
|
|
40
|
+
Read `.rihal/_config/files-manifest.csv` from the current project:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cat .rihal/_config/files-manifest.csv
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
If the file doesn't exist:
|
|
47
|
+
```
|
|
48
|
+
ℹ️ No rihal installation detected in this project.
|
|
49
|
+
Run: node <installer-path> . --force --yes
|
|
50
|
+
```
|
|
51
|
+
Exit.
|
|
52
|
+
|
|
53
|
+
Parse the CSV (columns: `rel,sha256,size`). Store as `$INSTALLED_HASHES` (map rel → sha256).
|
|
54
|
+
|
|
55
|
+
## Step 3 — Read source manifest
|
|
56
|
+
|
|
57
|
+
Run the installer helper to read the source package's file list:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
node "$INSTALLER_PATH" --list-files 2>/dev/null || echo "[]"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
If that flag doesn't exist, walk the source package's `rihal/` directory manually:
|
|
64
|
+
- Find all files in `$(npm root -g)/rihal-code/rihal/` (or local `./rihal/`)
|
|
65
|
+
- Compute SHA256 for each
|
|
66
|
+
- Store as `$SOURCE_HASHES` (map rel → sha256)
|
|
67
|
+
|
|
68
|
+
## Step 4 — Compute changelog
|
|
69
|
+
|
|
70
|
+
Compare `$INSTALLED_HASHES` against `$SOURCE_HASHES`:
|
|
71
|
+
|
|
72
|
+
- **Added:** files in SOURCE but not in INSTALLED
|
|
73
|
+
- **Changed:** files in both with different SHA256
|
|
74
|
+
- **Removed:** files in INSTALLED but not in SOURCE
|
|
75
|
+
|
|
76
|
+
Count each category. Store results in `$ADDED`, `$CHANGED`, `$REMOVED` (arrays of rel paths).
|
|
77
|
+
|
|
78
|
+
If all three lists are empty:
|
|
79
|
+
```
|
|
80
|
+
✅ rihal-code is up to date (no changes detected)
|
|
81
|
+
```
|
|
82
|
+
Exit.
|
|
83
|
+
|
|
84
|
+
## Step 5 — Print changelog
|
|
85
|
+
|
|
86
|
+
Print a human-readable changelog:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
📦 rihal-code Update Available
|
|
90
|
+
|
|
91
|
+
Added files (3):
|
|
92
|
+
✨ rihal/commands/update.md
|
|
93
|
+
✨ rihal/workflows/update.md
|
|
94
|
+
✨ rihal/commands/stats.md
|
|
95
|
+
|
|
96
|
+
Changed files (2):
|
|
97
|
+
🔄 rihal/modules/core.yaml
|
|
98
|
+
🔄 cli/install-v2.js
|
|
99
|
+
|
|
100
|
+
Removed files (1):
|
|
101
|
+
❌ rihal/references/old-style.md
|
|
102
|
+
|
|
103
|
+
Total: +3 / ~2 / -1
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Step 6 — Ask user confirmation
|
|
107
|
+
|
|
108
|
+
Call AskUserQuestion:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Proceed with update?
|
|
112
|
+
|
|
113
|
+
Options:
|
|
114
|
+
[1] Proceed — Apply update
|
|
115
|
+
[2] Cancel — Skip for now
|
|
116
|
+
[3] Show diff — List all changed files
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
- If user chooses [3], print full diff (all added/changed/removed file names, 1 per line)
|
|
120
|
+
- Then re-ask the confirmation question
|
|
121
|
+
- If user chooses [1], proceed to Step 7
|
|
122
|
+
- If user chooses [2], print "Update cancelled" and exit
|
|
123
|
+
|
|
124
|
+
## Step 7 — Apply update
|
|
125
|
+
|
|
126
|
+
Run the installer with `--force --yes`:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
node "$INSTALLER_PATH" . --force --yes
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
If the command exits with non-zero status, print:
|
|
133
|
+
```
|
|
134
|
+
❌ Update failed. Check the output above.
|
|
135
|
+
```
|
|
136
|
+
Exit with error code.
|
|
137
|
+
|
|
138
|
+
## Step 8 — Pull Rihal brain content (v2.0)
|
|
139
|
+
|
|
140
|
+
After installer finishes, refresh the brain content from configured sources (issue #158). This is idempotent and safe to re-run.
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
node .rihal/bin/rihal-tools.cjs brain pull
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Parse the JSON output. Report counts to the user:
|
|
147
|
+
- `pulled[]` — sources actually fetched (git or in-repo)
|
|
148
|
+
- `skipped[]` — sources with `<PLACEHOLDER>` URLs (waiting on issue #162 / M5)
|
|
149
|
+
- `errors[]` — sources that failed (network, auth, etc.)
|
|
150
|
+
|
|
151
|
+
If the user passed a version argument (`/rihal:update v1.3.0`), pass it through to `brain pull` as `--version v1.3.0`. When supported, `brain pull` will pin each source to the commit recorded in that release's `sources.yaml`. Unknown versions: treat as latest and warn.
|
|
152
|
+
|
|
153
|
+
## Step 9 — Success summary
|
|
154
|
+
|
|
155
|
+
Print:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
✅ rihal-code updated successfully
|
|
159
|
+
|
|
160
|
+
Updated files: N
|
|
161
|
+
- file-path-1
|
|
162
|
+
- file-path-2
|
|
163
|
+
...
|
|
164
|
+
|
|
165
|
+
Rihal brain: M sources pulled, K skipped (placeholder URLs)
|
|
166
|
+
|
|
167
|
+
New version available at: .rihal/
|
|
168
|
+
|
|
169
|
+
Run /rihal:status to verify installation.
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Success Criteria
|
|
173
|
+
|
|
174
|
+
- [ ] Task completed as requested
|
|
175
|
+
- [ ] Output saved or reported
|
|
176
|
+
- [ ] State updated if necessary
|
|
177
|
+
- [ ] No errors encountered
|
|
178
|
+
|
|
179
|
+
## On Error
|
|
180
|
+
|
|
181
|
+
If arguments are invalid, missing files, or subagent fails:
|
|
182
|
+
- Validate inputs match expected format
|
|
183
|
+
- Check that required files exist
|
|
184
|
+
- Retry with clearer arguments or report the specific error to the user
|
|
185
|
+
|