2.5 KiB
2.5 KiB
description
| description |
|---|
| Show CI project status — current phase, milestone, pipeline stage, decisions, escalations, and requirements coverage |
CI Status
Display the current CI project status derived entirely from the git log and .ci/ files.
Usage: ci-status
Step 0: Confirm Active Project
Check ci listProjects() or read .ci/config.json to determine if multi-project mode is active.
If .ci/config.json has projects[] with length > 0:
- Show project list with active project indicator
- Confirm
active_projectis the project to show status for - If not, set it with
ci setActiveProject(<slug>) - All commit messages must include
project: <slug>in---ci---block
If single-project mode: proceed with existing conventions.
Step 1: Load Git Context
git log --max-count=30
git branch -a
Use GitContext.reconstructState() to get:
- Current phase
- Current milestone
- Current pipeline stage
- Completed phases
Step 2: Gather Details
Collect from git log:
- GitContext.getDecisions() — all decisions
- GitContext.getEscalations() — pending escalations
- GitContext.getRequirementsCoverage() — covered/partial requirements
- GitContext.getLessons() — learned lessons
- GitContext.getCompounds() — compound learnings
Step 3: Read .ci/ Files
Read:
.ci/PROJECT.md— project name and vision.ci/ROADMAP.md— phase list with status.ci/config.json— autonomy level
Step 4: Display Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CI ► STATUS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Project: [name] [If multi-project: (active)]
[If multi-project: Other projects: [name1], [name2]]
Milestone: [current] [NFR|Feature]
Phase: [N] — [name]
Stage: [current_stage]
Autonomy: [level]
Phases:
✓ [N] [name] (complete)
→ [N] [name] (in progress)
○ [N] [name] (not started)
Decisions: [N] total
Escalations: [N] pending
Requirements: [N] covered, [N] partial
Recent commits:
[hash] [subject]
[hash] [subject]
[hash] [subject]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
If no .ci/ directory exists: report "Project not initialized. Run ci-init first."