-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Problem
When using the Claude Skills installation method, the setup process copies the entire .architecture/ directory from the cloned repo into the target project. This includes the framework's own work product:
- 11 ADRs (framework-internal architectural decisions)
- 10 reviews (framework's own architecture reviews)
- 8 comparisons (version comparison documents)
- Research docs, methodology documents, a 50KB
deferrals.md - The framework's own
config.yml(withpragmatic_mode.enabled: true)
A new project should only receive:
templates/(ADR template, review template, config template, etc.)agent_docs/(reference documentation)- Empty directories for project-specific content (
decisions/adrs/,reviews/,recalibration/,comparisons/) - A clean
config.ymlinitialised from the template
The MCP server (mcp/index.js) already handles this correctly — setupArchitecture() generates content programmatically and never copies framework files. But the skills-based path uses installation-procedures.md which instructs the LLM to do a broad copy, resulting in cruft.
Additionally
The triple-nesting clone path (.architecture/.architecture/.architecture/) is confusing and error-prone. The MCP server avoids this entirely.
Suggested Fix
A manifest-based approach: add an .install-manifest file to the repo that declares exactly what should be copied to target projects. The installation process reads the manifest and copies only listed items, rather than doing a blind cp -r *.
members.yml and principles.md don't need to be copied at all — they should be generated from scratch based on the target project's tech stack (which is what the MCP server already does).
This also moves ADR-009 (Script-Based Deterministic Operations) forward — the installation is the highest-stakes deterministic operation in the framework, and the trigger condition identified in ADR-009 ("bash command construction causes bugs") was exactly what we hit. The fix extracts all file operations into a deterministic shell script driven by the manifest, keeping interpretive work (project analysis, team customisation, principle generation) in the skill instructions.
I've implemented this in my fork if it's useful as a reference: bettison-org#2