# Change Local Spec Structure When the user wants to change the engineering conventions AI follows, add new spec layers, or adjust monorepo package mapping, edit `.trellis/spec/` and `.trellis/config.yaml`. ## Read These Files First 1. `.trellis/config.yaml` 2. `.trellis/spec/` 3. `.trellis/workflow.md` Phase 1.3 and Phase 3.3 4. Current task `implement.jsonl` / `check.jsonl` ## Common Needs | Need | Edit location | | --- | --- | | Add backend/frontend/docs/test spec layer | `.trellis/spec//` or `.trellis/spec///` | | Add shared thinking guides | `.trellis/spec/guides/` | | Adjust monorepo packages | `packages` in `.trellis/config.yaml` | | Change default package | `default_package` in `.trellis/config.yaml` | | Control spec scanning scope | `spec_scope` in `.trellis/config.yaml` | | Make a task read a new spec | Task `implement.jsonl` / `check.jsonl` | ## Add A Spec Layer Single-repository example: ```text .trellis/spec/security/ ├── index.md └── auth.md ``` Monorepo example: ```text .trellis/spec/webapp/security/ ├── index.md └── auth.md ``` `index.md` should include: - What code this layer applies to. - Pre-Development Checklist. - Quality Check. - Links to specific guideline files. ## Update Context Adding a spec does not mean every task automatically reads it. The current task must reference it in JSONL: ```bash python3 ./.trellis/scripts/task.py add-context implement ".trellis/spec/webapp/security/index.md" "Security conventions" python3 ./.trellis/scripts/task.py add-context check ".trellis/spec/webapp/security/index.md" "Security review rules" ``` ## Change Monorepo Packages Example `.trellis/config.yaml`: ```yaml packages: webapp: path: apps/web api: path: apps/api default_package: webapp ``` After editing, run: ```bash python3 ./.trellis/scripts/get_context.py --mode packages ``` Use this output to confirm AI can see the correct packages and spec layers. ## Notes - Specs are user project conventions and can be changed according to project needs. - Do not put temporary task information into specs; put temporary information in the task. - Do not put long-term conventions only in agents or commands; preserve them in specs. - After changing spec structure, check whether existing task JSONL files still point to files that exist.