diff --git a/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/check.jsonl b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/check.jsonl new file mode 100644 index 0000000..ff43131 --- /dev/null +++ b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/check.jsonl @@ -0,0 +1,12 @@ +{"file": ".opencode/commands/trellis/finish-work.md", "reason": "Finish work checklist"} +{"file": ".opencode/commands/trellis/check-backend.md", "reason": "Backend check spec"} +{"file": ".opencode/commands/trellis/check-frontend.md", "reason": "Frontend check spec"} +{"file": "AGENTS.md", "reason": "Project-level constraints and protocol source of truth"} +{"file": "apps/AGENTS.md", "reason": "Frontend domain rules and AG-UI alignment"} +{"file": "backend/AGENTS.md", "reason": "Backend layering and error contract rules"} +{"file": "docs/protocols/common/http-error-codes.md", "reason": "Cross-layer stable error code registry"} +{"file": "docs/protocols/agent/api-endpoints.md", "reason": "Agent API and stream contract"} +{"file": "docs/protocols/agent/sse-events.md", "reason": "SSE event contract between backend and frontend"} +{"file": "apps/lib/app/di/injection.dart", "reason": "Frontend DI and auth refresh chain patterns"} +{"file": "apps/lib/data/network/error_code_mapper.dart", "reason": "Frontend error mapping conventions"} +{"file": "apps/lib/shared/widgets/ui_schema/ui_schema_renderer.dart", "reason": "Frontend UI schema rendering conventions"} diff --git a/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/debug.jsonl b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/debug.jsonl new file mode 100644 index 0000000..181cbcf --- /dev/null +++ b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/debug.jsonl @@ -0,0 +1,2 @@ +{"file": ".opencode/commands/trellis/check-backend.md", "reason": "Backend check spec"} +{"file": ".opencode/commands/trellis/check-frontend.md", "reason": "Frontend check spec"} diff --git a/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/implement.jsonl b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/implement.jsonl new file mode 100644 index 0000000..ae8a33d --- /dev/null +++ b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/implement.jsonl @@ -0,0 +1,12 @@ +{"file": ".trellis/workflow.md", "reason": "Project workflow and conventions"} +{"file": ".trellis/spec/backend/index.md", "reason": "Backend development guide"} +{"file": ".trellis/spec/frontend/index.md", "reason": "Frontend development guide"} +{"file": "AGENTS.md", "reason": "Project-level constraints and protocol source of truth"} +{"file": "apps/AGENTS.md", "reason": "Frontend domain rules and AG-UI alignment"} +{"file": "backend/AGENTS.md", "reason": "Backend layering and error contract rules"} +{"file": "docs/protocols/common/http-error-codes.md", "reason": "Cross-layer stable error code registry"} +{"file": "docs/protocols/agent/api-endpoints.md", "reason": "Agent API and stream contract"} +{"file": "docs/protocols/agent/sse-events.md", "reason": "SSE event contract between backend and frontend"} +{"file": "apps/lib/app/di/injection.dart", "reason": "Frontend DI and auth refresh chain patterns"} +{"file": "apps/lib/data/network/error_code_mapper.dart", "reason": "Frontend error mapping conventions"} +{"file": "apps/lib/shared/widgets/ui_schema/ui_schema_renderer.dart", "reason": "Frontend UI schema rendering conventions"} diff --git a/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/prd.md b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/prd.md new file mode 100644 index 0000000..f1d639a --- /dev/null +++ b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/prd.md @@ -0,0 +1,21 @@ +# Bootstrap: Fullstack Guidelines (Frontend + Backend + Cross-Layer) + +## Goal +Fill and align Trellis spec docs for frontend, backend, and cross-layer workflows so future AI sessions can follow project-actual conventions across all layers. + +## Requirements +- Create and fill frontend guideline docs under `.trellis/spec/frontend/` based on repository evidence. +- Keep backend guidelines aligned with current repository conventions and avoid contradiction with previous bootstrap output. +- Update cross-layer thinking/spec docs to include project-specific contracts and integration checks. +- Each filled guideline must include practical rules, 2-3 real file path examples, anti-patterns, and explicitly marked unknowns when evidence is weak. + +## Acceptance Criteria +- [ ] Frontend index and core frontend guideline files exist and are populated with project-grounded conventions. +- [ ] Backend guideline index and docs remain consistent after fullstack pass. +- [ ] Cross-layer guide(s) include concrete frontend-backend-data contract checkpoints with repository examples. +- [ ] No placeholder text (`To fill`, `To be filled`) remains in updated spec files. + +## Technical Notes +- Keep scope limited to docs under `.trellis/spec/**` and task metadata/context files. +- Do not invent framework conventions without code/config/doc evidence. +- Prefer minimal, reversible edits and keep uncertainties explicit. diff --git a/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/task.json b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/task.json new file mode 100644 index 0000000..c85fba3 --- /dev/null +++ b/.trellis/tasks/archive/2026-04/04-20-bootstrap-fullstack-guidelines/task.json @@ -0,0 +1,44 @@ +{ + "id": "bootstrap-fullstack-guidelines", + "name": "bootstrap-fullstack-guidelines", + "title": "Bootstrap fullstack guidelines", + "description": "", + "status": "completed", + "dev_type": null, + "scope": null, + "priority": "P2", + "creator": "qzl", + "assignee": "qzl", + "createdAt": "2026-04-20", + "completedAt": "2026-04-20", + "branch": null, + "base_branch": "dev", + "worktree_path": null, + "current_phase": 2, + "next_action": [ + { + "phase": 1, + "action": "implement" + }, + { + "phase": 2, + "action": "check" + }, + { + "phase": 3, + "action": "finish" + }, + { + "phase": 4, + "action": "create-pr" + } + ], + "commit": null, + "pr_url": null, + "subtasks": [], + "children": [], + "parent": null, + "relatedFiles": [], + "notes": "", + "meta": {} +} \ No newline at end of file