-
Notifications
You must be signed in to change notification settings - Fork 5
Closed
Labels
architectureSystem architecture and design patternsSystem architecture and design patternsenhancementNew feature or requestNew feature or requestphase-5Phase 5: Advanced Features & PolishPhase 5: Advanced Features & Polishphase-5.2Phase 5.2: Quality & Intelligence (PROOF9, PRD stress test, unified config)Phase 5.2: Quality & Intelligence (PROOF9, PRD stress test, unified config)symphony-inspiredInspired by OpenAI Symphony spec analysisInspired by OpenAI Symphony spec analysis
Description
Summary
Consolidate CodeFrame's scattered configuration (AGENTS.md, CLAUDE.md, workspace config, CLI flags) into a single CODEFRAME.md file that combines runtime config, agent prompts, and execution settings — inspired by Symphony's WORKFLOW.md pattern.
Motivation
Currently CodeFrame configuration is spread across:
AGENTS.md/CLAUDE.md— project preferences for the agent- Workspace config in
.codeframe/— tech stack, workspace path - CLI flags — engine selection, verbose mode, parallel limits
- Environment variables — API keys, rate limits
Symphony's WORKFLOW.md approach is elegant: one version-controlled Markdown file with YAML front matter for typed config and a Markdown body for the agent prompt template. This makes configuration discoverable, version-controlled, and team-shareable.
Design
A CODEFRAME.md file at the project root:
---
engine: react
tech_stack: "Python with uv, pytest, ruff"
batch:
max_parallel: 4
default_strategy: auto
gates:
- ruff
- pytest
hooks:
before_task: "git checkout -b cf/{{task_id}}"
after_task_success: "git add -A"
agent:
max_iterations: 30
verbose: false
---
# Project Agent Instructions
You are working on a Python REST API project using FastAPI...
## Coding Standards
- Use type hints everywhere
- Follow PEP 8
...Backward Compatibility
CODEFRAME.mdtakes precedence if present- Falls back to
AGENTS.md/CLAUDE.mdif noCODEFRAME.mdfound cf initcan generate a starterCODEFRAME.mdfrom detected settings
Scope
This is a single-session task since it's primarily a config loading refactor:
- Define
CODEFRAME.mdschema (YAML front matter + Markdown body) - Add parser in
core/agents_config.pywith precedence:CODEFRAME.md>AGENTS.md>CLAUDE.md - Extract typed config from front matter (engine, tech_stack, batch settings, gates, hooks)
- Use Markdown body as agent system prompt supplement
- Add
cf init --generate-configto create starterCODEFRAME.md - Update documentation
Acceptance Criteria
-
CODEFRAME.mdparsed with YAML front matter + Markdown body - Typed config extracted: engine, tech_stack, batch, gates, hooks, agent settings
- Markdown body used as agent prompt supplement
- Backward compatible: falls back to AGENTS.md/CLAUDE.md
-
cf init --generate-configcreates starter file from detected settings - Existing tests still pass (no regression)
- Unit tests for new parser
Dependencies
- Benefits from [Phase 4] Workspace Lifecycle Hooks System #392 (workspace hooks) — hooks config would live here
- No hard dependencies on other issues
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
architectureSystem architecture and design patternsSystem architecture and design patternsenhancementNew feature or requestNew feature or requestphase-5Phase 5: Advanced Features & PolishPhase 5: Advanced Features & Polishphase-5.2Phase 5.2: Quality & Intelligence (PROOF9, PRD stress test, unified config)Phase 5.2: Quality & Intelligence (PROOF9, PRD stress test, unified config)symphony-inspiredInspired by OpenAI Symphony spec analysisInspired by OpenAI Symphony spec analysis