Files
eryao/.claude/skills/trellis-meta/references/customize-local/change-spec-structure.md
T
zl-q 04b493ed09 chore: migrate from opencode to trellis 0.5.0-rc.6
- Remove legacy .opencode/ directory and configuration
- Update .trellis/ to v0.5.0-rc.6 structure
- Refactor scripts: modularize common/, remove multi_agent/
- Add new common modules: git.py, io.py, log.py, types.py, etc.
- Update workflow.md and AGENTS.md
- Archive completed migration tasks
2026-05-06 14:29:25 +08:00

84 lines
2.3 KiB
Markdown

# 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/<layer>/` or `.trellis/spec/<package>/<layer>/` |
| 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 <task> implement ".trellis/spec/webapp/security/index.md" "Security conventions"
python3 ./.trellis/scripts/task.py add-context <task> 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.