feat: add SpecDialog component for editing spec frontmatter

- Implement SpecDialog for managing spec details including title, read mode, priority, and keywords.
- Add validation and keyword management functionality.
- Integrate SpecDialog into SpecsSettingsPage for editing specs.

feat: create index file for specs components

- Export SpecCard, SpecDialog, and related types from a new index file for better organization.

feat: implement SpecsSettingsPage for managing specs and hooks

- Create main settings page with tabs for Project Specs, Personal Specs, Hooks, Injection, and Settings.
- Integrate SpecDialog and HookDialog for editing specs and hooks.
- Add search functionality and mock data for specs and hooks.

feat: add spec management API routes

- Implement API endpoints for listing specs, getting spec details, updating frontmatter, rebuilding indices, and initializing the spec system.
- Handle errors and responses appropriately for each endpoint.
This commit is contained in:
catlog22
2026-02-26 22:03:13 +08:00
parent 430d817e43
commit 6155fcc7b8
115 changed files with 4883 additions and 21127 deletions

View File

@@ -63,7 +63,7 @@ color: yellow
align task tech choices with actual project stack
→ If missing: Fall back to context-package.project_context fields
b. Read .workflow/project-guidelines.json (if exists)
b. Read .workflow/specs/*.md (if exists)
→ coding_conventions, naming_rules, forbidden_patterns, quality_gates, custom_constraints
→ Usage: Apply as HARD CONSTRAINTS on all tasks — implementation steps,
acceptance criteria, and convergence.verification MUST respect these rules
@@ -1005,7 +1005,7 @@ Use `analysis_results.complexity` or task count to determine structure:
### 3.4 Guidelines Checklist
**ALWAYS:**
- **Load project context FIRST**: Read `.workflow/project-tech.json` and `.workflow/project-guidelines.json` before any session-specific files. Apply project-guidelines as hard constraints on all tasks
- **Load project context FIRST**: Read `.workflow/project-tech.json` and `.workflow/specs/*.md` before any session-specific files. Apply specs/*.md as hard constraints on all tasks
- **Load planning-notes.md SECOND**: Read planning-notes.md before context-package.json. Use its Consolidated Constraints as primary constraint source for all task generation
- **Record N+1 Context**: Update `## N+1 Context` section with key decisions and deferred items
- **Search Tool Priority**: ACE (`mcp__ace-tool__search_context`) → CCW (`mcp__ccw-tools__smart_search`) / Built-in (`Grep`, `Glob`, `Read`)

View File

@@ -58,7 +58,7 @@ Phase 4: Output Generation
- Read `.workflow/project-tech.json` (if exists):
- Extract: `tech_stack`, `architecture`, `key_components`, `overview`
- Usage: Align analysis scope and patterns with actual project technology choices
- Read `.workflow/project-guidelines.json` (if exists):
- Read `.workflow/specs/*.md` (if exists):
- Extract: `conventions`, `constraints`, `quality_rules`, `learnings`
- Usage: Apply as constraints during pattern analysis, integration point evaluation, and recommendations
- If either file does not exist, proceed with fresh analysis (no error).

View File

@@ -56,7 +56,7 @@ When invoked with `process_docs: true` in input context:
**Project Context** (read from init.md products at startup):
- `.workflow/project-tech.json` → tech_stack, architecture, key_components
- `.workflow/project-guidelines.json` → conventions, constraints, quality_rules
- `.workflow/specs/*.md` → conventions, constraints, quality_rules
```javascript
{
@@ -153,7 +153,7 @@ Phase 5: Plan Quality Check (MANDATORY)
│ ├─ Dependency correctness (no circular deps, proper ordering)
│ ├─ Acceptance criteria quality (quantified, testable)
│ ├─ Implementation steps sufficiency (2+ steps per task)
│ └─ Constraint compliance (follows project-guidelines.json)
│ └─ Constraint compliance (follows specs/*.md)
├─ Parse check results and categorize issues
└─ Decision:
├─ No issues → Return plan to orchestrator
@@ -850,7 +850,7 @@ After generating plan.json, **MUST** execute CLI quality check before returning
| **Dependencies** | No circular deps, correct ordering | Yes |
| **Convergence Criteria** | Quantified and testable (not vague) | No |
| **Implementation Steps** | 2+ actionable steps per task | No |
| **Constraint Compliance** | Follows project-guidelines.json | Yes |
| **Constraint Compliance** | Follows specs/*.md | Yes |
### CLI Command Format
@@ -859,7 +859,7 @@ Use `ccw cli` with analysis mode to validate plan against quality dimensions:
```bash
ccw cli -p "Validate plan quality: completeness, granularity, dependencies, convergence criteria, implementation steps, constraint compliance" \
--tool gemini --mode analysis \
--context "@{plan_json_path} @{task_dir}/*.json @.workflow/project-guidelines.json"
--context "@{plan_json_path} @{task_dir}/*.json @.workflow/specs/*.md"
```
**Expected Output Structure**:

View File

@@ -38,7 +38,7 @@ jq --arg ts "$(date -Iseconds)" '.status="in_progress" | .status_history += [{"f
- Project CLAUDE.md standards
- **context-package.json** (when available in workflow tasks)
- **project-tech.json** (if exists) → tech_stack, architecture, key_components
- **project-guidelines.json** (if exists) → conventions, constraints, quality_rules
- **specs/*.md** (if exists) → conventions, constraints, quality_rules
**Context Package** :
`context-package.json` provides artifact paths - read using Read tool or ccw session:

View File

@@ -82,8 +82,8 @@ if (file_exists(contextPackagePath)) {
const projectTech = file_exists('.workflow/project-tech.json')
? JSON.parse(Read('.workflow/project-tech.json')) // tech_stack, architecture_type, key_components, build_system, test_framework
: null;
const projectGuidelines = file_exists('.workflow/project-guidelines.json')
? JSON.parse(Read('.workflow/project-guidelines.json')) // coding_conventions, naming_rules, forbidden_patterns, quality_gates
const projectGuidelines = file_exists('.workflow/specs/*.md')
? JSON.parse(Read('.workflow/specs/*.md')) // coding_conventions, naming_rules, forbidden_patterns, quality_gates
: null;
// Usage:

View File

@@ -37,7 +37,7 @@ Phase 5: Fix & Verification
**Load Project Context** (from init.md products):
- Read `.workflow/project-tech.json` (if exists) for tech stack context
- Read `.workflow/project-guidelines.json` (if exists) for coding constraints
- Read `.workflow/specs/*.md` (if exists) for coding constraints
**Session Setup**:
```javascript

View File

@@ -28,7 +28,7 @@ color: green
**Project Context** (load at startup):
- Read `.workflow/project-tech.json` (if exists) → tech_stack, architecture
- Read `.workflow/project-guidelines.json` (if exists) → constraints, conventions
- Read `.workflow/specs/*.md` (if exists) → constraints, conventions
```javascript
{