agent-enderun 0.5.8 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.enderun/PROJECT_MEMORY.md +16 -151
- package/.enderun/STATUS.md +19 -10
- package/.enderun/agents/analyst.md +19 -6
- package/.enderun/agents/backend.md +66 -48
- package/.enderun/agents/explorer.md +14 -2
- package/.enderun/agents/frontend.md +59 -14
- package/.enderun/agents/git.md +1 -1
- package/.enderun/agents/manager.md +10 -2
- package/.enderun/agents/mobile.md +1 -1
- package/.enderun/agents/native.md +1 -1
- package/.enderun/blueprints/backend/errors/domain-error.ts +84 -0
- package/.enderun/blueprints/backend/middleware/error-handler.ts +24 -0
- package/.enderun/blueprints/backend/types/api.ts +20 -0
- package/.enderun/blueprints/backend/types/brands.ts +12 -0
- package/.enderun/blueprints/backend/types/constants.ts +34 -0
- package/.enderun/blueprints/backend/types/index.ts +49 -0
- package/.enderun/blueprints/backend/types/logs.ts +16 -0
- package/.enderun/blueprints/backend/types/models.ts +65 -0
- package/.enderun/blueprints/frontend/ui/Button.tsx +60 -0
- package/.enderun/blueprints/frontend/ui/Input.tsx +43 -0
- package/.enderun/docs/api/README.md +7 -12
- package/.enderun/docs/project-docs.md +17 -7
- package/.enderun/knowledge/blueprint_driven_construction.md +22 -0
- package/.enderun/knowledge/code_review_checklist.md +1 -1
- package/.enderun/knowledge/contract_versioning.md +5 -5
- package/ENDERUN.md +29 -6
- package/README.md +45 -23
- package/bin/cli.js +205 -27
- package/bin/update-contract.js +3 -0
- package/{packages/framework-mcp → framework-mcp}/dist/index.js +0 -0
- package/{packages/framework-mcp → framework-mcp}/dist/schemas.js +12 -0
- package/{packages/framework-mcp → framework-mcp}/dist/tools/contract.js +16 -10
- package/{packages/framework-mcp → framework-mcp}/dist/tools/framework.js +5 -3
- package/{packages/framework-mcp → framework-mcp}/dist/tools/git.js +2 -4
- package/{packages/framework-mcp → framework-mcp}/dist/tools/index.js +3 -0
- package/{packages/framework-mcp → framework-mcp}/dist/tools/knowledge.js +1 -1
- package/{packages/framework-mcp → framework-mcp}/dist/tools/repository.js +1 -1
- package/framework-mcp/dist/tools/scaffold.js +129 -0
- package/{packages/framework-mcp → framework-mcp}/dist/utils.js +1 -1
- package/{packages/framework-mcp → framework-mcp}/package.json +4 -1
- package/{packages/framework-mcp → framework-mcp}/src/schemas.ts +15 -0
- package/{packages/framework-mcp → framework-mcp}/src/tools/contract.ts +22 -9
- package/{packages/framework-mcp → framework-mcp}/src/tools/framework.ts +6 -4
- package/{packages/framework-mcp → framework-mcp}/src/tools/git.ts +2 -3
- package/{packages/framework-mcp → framework-mcp}/src/tools/index.ts +3 -0
- package/{packages/framework-mcp → framework-mcp}/src/tools/knowledge.ts +6 -6
- package/{packages/framework-mcp → framework-mcp}/src/tools/repository.ts +1 -1
- package/framework-mcp/src/tools/scaffold.ts +147 -0
- package/{packages/framework-mcp → framework-mcp}/src/utils.ts +1 -1
- package/package.json +8 -12
- package/panda.config.ts +79 -5
- package/.enderun/logs/manager.json +0 -18
- package/packages/shared-types/README.md +0 -61
- package/packages/shared-types/contract.version.json +0 -12
- package/packages/shared-types/dist/index.d.ts +0 -92
- package/packages/shared-types/dist/index.js +0 -8
- package/packages/shared-types/dist/index.js.map +0 -1
- package/packages/shared-types/package.json +0 -33
- package/packages/shared-types/src/index.ts +0 -102
- package/packages/shared-types/tsconfig.json +0 -9
- /package/{packages/framework-mcp → framework-mcp}/README.md +0 -0
- /package/{packages/framework-mcp → framework-mcp}/dist/tools/academy.js +0 -0
- /package/{packages/framework-mcp → framework-mcp}/dist/tools/codebase.js +0 -0
- /package/{packages/framework-mcp → framework-mcp}/dist/tools/database.js +0 -0
- /package/{packages/framework-mcp → framework-mcp}/dist/tools/memory.js +0 -0
- /package/{packages/framework-mcp → framework-mcp}/dist/tools/messages.js +0 -0
- /package/{packages/framework-mcp → framework-mcp}/dist/tools/security.js +0 -0
- /package/{packages/framework-mcp → framework-mcp}/src/index.ts +0 -0
- /package/{packages/framework-mcp → framework-mcp}/src/tools/academy.ts +0 -0
- /package/{packages/framework-mcp → framework-mcp}/src/tools/codebase.ts +0 -0
- /package/{packages/framework-mcp → framework-mcp}/src/tools/database.ts +0 -0
- /package/{packages/framework-mcp → framework-mcp}/src/tools/memory.ts +0 -0
- /package/{packages/framework-mcp → framework-mcp}/src/tools/messages.ts +0 -0
- /package/{packages/framework-mcp → framework-mcp}/src/tools/security.ts +0 -0
- /package/{packages/framework-mcp → framework-mcp}/tsconfig.json +0 -0
|
@@ -1,176 +1,41 @@
|
|
|
1
1
|
# PROJECT MEMORY — Agent Enderun
|
|
2
2
|
|
|
3
|
-
This file is the Single Source of Truth (SSOT) and the persistent memory of the project.
|
|
4
|
-
|
|
5
3
|
## CURRENT STATUS
|
|
6
4
|
|
|
7
5
|
| Active Phase | Profile | Last Update | Active Trace ID | Blockers |
|
|
8
6
|
| :----------- | :------ | :---------- | :-------------- | :------- |
|
|
9
|
-
| PHASE_0
|
|
10
|
-
|
|
11
|
-
## PROJECT DEFINITION
|
|
12
|
-
|
|
13
|
-
- **Name:** Agent Enderun
|
|
14
|
-
- **Version:** v0.5.8
|
|
15
|
-
| Field | Value |
|
|
16
|
-
| :--- | :--- |
|
|
17
|
-
| Project Name | agent-enderun |
|
|
18
|
-
| Platform | Not defined |
|
|
19
|
-
| Frontend | React 19 + Vite + Panda CSS |
|
|
20
|
-
| Backend | Node.js 20+ + Fastify |
|
|
21
|
-
| DB | PostgreSQL |
|
|
22
|
-
|
|
23
|
-
## DOD STATUS
|
|
7
|
+
| PHASE_0 | Lightweight | 2026-05-20 | — | NONE |
|
|
24
8
|
|
|
25
|
-
|
|
26
|
-
| :--- | :--- | :--- |
|
|
27
|
-
| PHASE_0 | IN_PROGRESS | Initializing project structure |
|
|
28
|
-
| PHASE_1 | PENDING | |
|
|
29
|
-
| PHASE_2 | PENDING | |
|
|
30
|
-
| PHASE_3 | PENDING | |
|
|
31
|
-
| PHASE_4 | PENDING | |
|
|
9
|
+
---
|
|
32
10
|
|
|
33
11
|
## CRITICAL DECISIONS
|
|
34
12
|
|
|
35
|
-
|
|
|
36
|
-
| :--- | :--- | :--- | :--- |
|
|
37
|
-
|
|
|
38
|
-
|
|
|
13
|
+
| ID | Decision | Rationale | Impact | Date |
|
|
14
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
15
|
+
| D001 | Decentralized Architecture | Simplified dependency management and local type control | Stability | 2026-05-20 |
|
|
16
|
+
| D002 | Dynamic Blueprints | Empower agents to evolve project-specific capabilities | Intelligence | 2026-05-20 |
|
|
17
|
+
|
|
18
|
+
---
|
|
39
19
|
|
|
40
20
|
## DELIVERABLES
|
|
41
21
|
|
|
42
22
|
| Module | Status | Agent | Date |
|
|
43
23
|
| :--- | :--- | :--- | :--- |
|
|
24
|
+
| framework-mcp | COMPLETED | @manager | 2026-05-20 |
|
|
25
|
+
|
|
26
|
+
---
|
|
44
27
|
|
|
45
28
|
## ACTIVE TASKS
|
|
46
29
|
|
|
47
30
|
| Trace ID | Task | Agent | Priority | Status |
|
|
48
31
|
| :--- | :--- | :--- | :--- | :--- |
|
|
49
|
-
| 01KRRZRSDGFG38RRDPQCSBXE3D | Phase 1: shared-types kontratlarını ve branded types yapısını genişlet | @backend | P1 | IN_PROGRESS |
|
|
50
|
-
| 01KRC3WPMGXW2G3A4B0FVABKX0 | Modular Refactoring and Documentation Overhaul | @analyst | P0 | COMPLETE |
|
|
51
|
-
| 01KR6EJA6GG3RPS849097KS37Q | Framework setup and architecture alignment | @manager | P1 | IN_PROGRESS |
|
|
52
|
-
|
|
53
|
-
## HISTORY (Persistent Memory)
|
|
54
|
-
|
|
55
|
-
### 2026-05-19 — Framework Restoration & Publication Readiness (v0.5.8)
|
|
56
|
-
|
|
57
|
-
- **Agent:** @manager
|
|
58
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
59
|
-
- **Action:** Prepared the project for npm publication by resolving critical package issues.
|
|
60
|
-
1. Restored the missing `packages/framework-mcp` package from git status (it was deleted in the working tree).
|
|
61
|
-
2. Synchronized versions to `v0.5.8` in `packages/framework-mcp/package.json` and `src/utils.ts`.
|
|
62
|
-
3. Fixed root `package.json` by removing `agent-enderun` from its own `devDependencies` to prevent install collisions.
|
|
63
|
-
4. Verified the entire `init` and `build` flow in a separate directory (`/tmp/enderun-test`) using `npm link`.
|
|
64
|
-
5. Confirmed all systems are green via `agent-enderun check`.
|
|
65
|
-
|
|
66
|
-
### 2026-05-19 — Framework Version Upgrade (v0.5.8)
|
|
67
|
-
|
|
68
|
-
- **Agent:** @manager
|
|
69
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
70
|
-
- **Action:** Bumped framework version from v0.5.7 to v0.5.8 across the entire project.
|
|
71
|
-
1. Updated `CHANGELOG.md` with detailed fix notes.
|
|
72
|
-
2. Synchronized version in `PROJECT_MEMORY.md`, `ENDERUN.md`, and `README.md`.
|
|
73
|
-
3. Updated version in all 8 specialist agent SOPs (`.enderun/agents/*.md`).
|
|
74
|
-
4. Updated `package.json` in `framework-mcp` and `shared-types` packages.
|
|
75
|
-
5. Updated `FRAMEWORK_VERSION` constant in `framework-mcp/src/utils.ts`.
|
|
76
|
-
|
|
77
|
-
### 2026-05-19 — Framework Configuration & Persistence Fix (v0.5.8)
|
|
78
|
-
|
|
79
|
-
- **Agent:** @manager
|
|
80
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
81
|
-
- **Action:** Fixed critical issues preventing session memory persistence and automated startup.
|
|
82
|
-
1. Updated `gemini-extension.json` instructions path from `.gemini/ENDERUN.md` to root `ENDERUN.md`.
|
|
83
|
-
2. Fixed `gemini.md` entry point to correctly point to root `ENDERUN.md` and use `.enderun/` instead of `.gemini/`.
|
|
84
|
-
3. Resolved template placeholders (`{{FRAMEWORK_DIR}}`, `{{ADAPTER}}`) in root `ENDERUN.md` for immediate actionable use.
|
|
85
|
-
4. Verified MCP logging (`log_agent_action`) and memory (`update_project_memory`) tools are fully functional.
|
|
86
|
-
AI agents will now correctly load project context and history at the start of every session.
|
|
87
|
-
|
|
88
|
-
### 2026-05-16 — Framework Path Placeholder Fix (v0.5.2)
|
|
89
|
-
|
|
90
|
-
- **Agent:** @manager
|
|
91
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
92
|
-
- **Action:** Fixed critical bug where all agent files (`manager.md`, `analyst.md`, `backend.md`, `frontend.md`, `native.md`, `mobile.md`) contained hardcoded `.enderun/` paths. Replaced with `{{FRAMEWORK_DIR}}/` placeholder. Updated `bin/cli.js` `copyDir` and `initCommand` with fallback `.enderun/` → `frameworkDir` replace at all three content-processing points. Now `init gemini` correctly produces `.gemini/docs/api/`, `init claude` produces `.claude/docs/api/`, etc. Verified: 0 hardcoded references remain, 18/18 health checks pass, 12/12 tests pass.
|
|
93
|
-
|
|
94
|
-
### 2026-05-16 — Zero-Config & Auto-Wiring Milestone (v0.5.2)
|
|
95
|
-
|
|
96
|
-
- **Agent:** @manager
|
|
97
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
98
|
-
- **Action:** Bumped version to v0.5.2. Achieved full automation for framework onboarding. Implemented Auto-Wiring for Gemini (auto-patching `gemini-extension.json`), automated MCP build during `init`, and refined directory logic for user-facing documentation. This release marks the transition to a truly "plug-and-play" enterprise framework.
|
|
99
|
-
|
|
100
|
-
### 2026-05-16 — Dizin Yapısı Düzenlemesi (Düzeltildi)
|
|
101
|
-
|
|
102
|
-
- **Agent:** @manager
|
|
103
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
104
|
-
- **Action:** Root `docs/` was incorrectly deleted (confused with `.enderun/docs/`). Restored with `docs/README.md` explaining its purpose: agent-written project documentation during PHASE_2. Added `docs/` to `package.json` files array and `cli.js` DIRS_TO_CREATE. Distinction clarified: `/docs` = user project docs (agent-generated), `/.enderun/docs/` = framework config (tech-stack, security, privacy). Updated `STATUS.md` to mark `@mobile`/`@native` as INACTIVE (Full Profile only).
|
|
105
32
|
|
|
106
|
-
|
|
33
|
+
---
|
|
107
34
|
|
|
108
|
-
|
|
109
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
110
|
-
- **Action:** Full project review conducted. PHASE_0 in progress. Confirmed design intent: (1) `apps/` is intentionally empty — this is a framework package, not an app project; (2) `{{ADAPTER}}`/`{{FRAMEWORK_DIR}}` in ENDERUN.md are template variables resolved by `init` command at install time (gemini→.gemini, claude→.claude, cursor→.cursor, codex→.enderun). Fixed `codex.md` source file inconsistency where `{{FRAMEWORK_DIR}}` was not hardcoded like other adapters.
|
|
111
|
-
|
|
112
|
-
### 2026-05-15 — The Academy Upgrade & v0.5.1 Release
|
|
113
|
-
|
|
114
|
-
- **Agent:** @manager
|
|
115
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
116
|
-
- **Action:** Major framework upgrade (v0.5.1). Implemented Hermes Messaging Protocol and Obsidian-style LLM Wiki with YAML metadata. Consolidated constitution into root `ENDERUN.md` and removed legacy `jest.config.js`. Enhanced MCP server with new intelligence tools for knowledge graphs and system health.
|
|
117
|
-
|
|
118
|
-
### 2026-05-15 — Hermes + Obsidian + LLM Wiki & Discovery
|
|
119
|
-
|
|
120
|
-
- **Agent:** @manager
|
|
121
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
122
|
-
- **Action:** Major upgrade to framework intelligence. Implemented Hermes Messaging Protocol for inter-agent orchestration and Obsidian-style structured Wiki for knowledge management. Unified versioning across all packages to v0.5.0.
|
|
123
|
-
|
|
124
|
-
### 2026-05-12 — The Installation Fix & v0.4.5 Release
|
|
125
|
-
+
|
|
126
|
-
+- **Agent:** @manager
|
|
127
|
-
+- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
128
|
-
+- **Action:** Bumped version to v0.4.5. Fixed a critical issue where adapter files (gemini.md, cursor.md, claude.md, codex.md) were excluded from the npm package. Verified the fix via local and npx-simulated tests. Cleaned up logs and temporary test files.
|
|
129
|
-
+
|
|
130
|
-
+### 2026-05-12 — The Unified Milestone & v0.4.4 Release
|
|
131
|
-
|
|
132
|
-
- **Agent:** @manager
|
|
133
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
134
|
-
- **Action:** Full framework synchronization to v0.4.4. Unified versioning across all core packages, specialist agents, and the supreme law. Consolidated history for a clean production debut.
|
|
135
|
-
|
|
136
|
-
### 2026-05-12 — Pure Start & v0.4.1 Release
|
|
137
|
-
|
|
138
|
-
- **Agent:** @manager
|
|
139
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
140
|
-
- **Action:** Reset git history for a clean production start. Bumped version to v0.4.1. This release represents the stable, production-ready "Autonomous Agent Academy" architecture.
|
|
141
|
-
|
|
142
|
-
### 2026-05-12 — The Evolution Milestone & v0.4.0 Release
|
|
143
|
-
|
|
144
|
-
- **Agent:** @manager
|
|
145
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
146
|
-
- **Action:** Major version bump to v0.4.0. Completed the transition from basic governance to an "Autonomous Agent Academy" architecture. Key features: AST-based compliance auditing, Autonomous Conflict Resolution Protocol, and Senior-level Resilience patterns. Unified the adapter entry points for all AI assistants. Verified zero-drift between code and constitution.
|
|
147
|
-
|
|
148
|
-
### 2026-05-12 — Capability Leap & v0.3.5 Release
|
|
149
|
-
|
|
150
|
-
- **Agent:** @manager
|
|
151
|
-
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
152
|
-
- **Action:** Upgraded framework to v0.3.5. Implemented AST-based compliance auditing, Autonomous Conflict Resolution, and Senior Resilience patterns. Unified inter-agent communication and mandated shared UI component protocols. Verified monorepo version synchronization.
|
|
153
|
-
|
|
154
|
-
### 2026-05-12 — Critical Fix & v0.3.4 Release
|
|
155
|
-
|
|
156
|
-
- **Agent:** @manager
|
|
157
|
-
- **Trace ID:** 01KRES6JRXE82FZPWVR1SSMB4W
|
|
158
|
-
- **Action:** Fixed a critical bug in the `init` command that caused the deletion of `packages/shared-types` and `.enderun` user data during updates. Enhanced metadata across all monorepo packages by explicitly defining README paths and synchronizing repository/homepage links to fix NPM registry display issues. Bumped version to v0.3.4 across all packages and verified build integrity.
|
|
159
|
-
|
|
160
|
-
### 2026-05-11 — Modular Architecture & Documentation Overhaul
|
|
161
|
-
|
|
162
|
-
- **Agent:** @analyst
|
|
163
|
-
- **Trace ID:** 01KRC3WPMGXW2G3A4B0FVABKX0
|
|
164
|
-
- **Action:** Refactored the monolithic MCP server (2100+ lines) into a modular structure with dedicated tool categories (codebase, framework, security, memory, contract, academy, messages, git, database, knowledge, repository). Updated root and package READMEs to provide enterprise-grade documentation. Verified build integrity and contract synchronization. Prepared codebase for npm publication.
|
|
165
|
-
|
|
166
|
-
### 2026-05-11 — Adapter-Specific Onboarding Enabled
|
|
167
|
-
|
|
168
|
-
- **Agent:** @manager
|
|
169
|
-
- **Trace ID:** 01KRC3WPMGXW2G3A4B0FVABKX0
|
|
170
|
-
- **Action:** Refined 'init' command to support specialized setups for Gemini, Claude, Cursor, and Codex. Added automatic .cursorrules sync for Cursor and MCP instructions for Claude Code. Ensured cross-host compatibility via universal symlinks.
|
|
35
|
+
## HISTORY (Persistent Memory)
|
|
171
36
|
|
|
172
|
-
### 2026-05-
|
|
37
|
+
### 2026-05-20 — Framework Reborn v0.6.0
|
|
173
38
|
|
|
174
39
|
- **Agent:** @manager
|
|
175
|
-
- **
|
|
176
|
-
- **
|
|
40
|
+
- **Action:** Completed global refactoring and launched Agent Enderun v0.6.0.
|
|
41
|
+
- **Outcome:** System is pristine and ready for new project initialization.
|
package/.enderun/STATUS.md
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
# AGENT STATUS
|
|
1
|
+
# 🤖 AGENT STATUS DASHBOARD
|
|
2
2
|
|
|
3
|
-
| Agent |
|
|
3
|
+
| Agent | State | Active Trace ID | Last Action |
|
|
4
4
|
| :--- | :--- | :--- | :--- |
|
|
5
|
-
| @manager | IDLE |
|
|
6
|
-
| @analyst | IDLE |
|
|
7
|
-
| @backend | IDLE |
|
|
8
|
-
| @frontend | IDLE |
|
|
9
|
-
| @explorer | IDLE |
|
|
10
|
-
| @git | IDLE |
|
|
11
|
-
| @mobile |
|
|
12
|
-
| @native |
|
|
5
|
+
| @manager | IDLE | — | Framework Reset |
|
|
6
|
+
| @analyst | IDLE | — | — |
|
|
7
|
+
| @backend | IDLE | — | — |
|
|
8
|
+
| @frontend | IDLE | — | — |
|
|
9
|
+
| @explorer | IDLE | — | — |
|
|
10
|
+
| @git | IDLE | — | — |
|
|
11
|
+
| @mobile | IDLE | — | — |
|
|
12
|
+
| @native | IDLE | — | — |
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 📈 Intelligence Metrics
|
|
17
|
+
|
|
18
|
+
- **Current Version:** v0.6.0
|
|
19
|
+
- **System Health:** 🟢 GREEN
|
|
20
|
+
- **Total Traces:** 0
|
|
21
|
+
- **Active Tasks:** 0
|
|
@@ -3,7 +3,7 @@ name: analyst
|
|
|
3
3
|
description: "Project memory, QA gate, and documentation specialist. Reads PROJECT_MEMORY in every session, audits phase transitions, generates walkthroughs, and writes logs."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Project Analyst & QA Gate — v0.
|
|
6
|
+
# Project Analyst & QA Gate — v0.6.0 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Maintain project memory, serve as a quality gate, and manage documentation. The following protocols are automatically applied in every task.
|
|
9
9
|
|
|
@@ -21,7 +21,7 @@ When analyzing or preparing documentation, never read the content of a file just
|
|
|
21
21
|
|
|
22
22
|
- What is the active phase?
|
|
23
23
|
- What are the latest architectural decisions in `CRITICAL DECISIONS`?
|
|
24
|
-
- **Continuity Audit:** Have recent changes followed the established patterns
|
|
24
|
+
- **Continuity Audit:** Have recent changes followed the established patterns and **blueprints**?
|
|
25
25
|
- Are there pending roadmap items?
|
|
26
26
|
- Is there any BLOCKED status?
|
|
27
27
|
|
|
@@ -90,14 +90,20 @@ In every phase transition and upon request:
|
|
|
90
90
|
Before approving any task completion, @analyst must verify that the agent followed existing code patterns.
|
|
91
91
|
1. Identify a "Gold Standard" reference file for the current task's domain.
|
|
92
92
|
2. Use the `analyze_procedural_continuity` tool to compare the agent's changes with the reference.
|
|
93
|
-
3. **
|
|
93
|
+
3. **Architecture & Contract Audit:**
|
|
94
|
+
- **Modular Types:** Verify that `@backend` and `@frontend` use modular imports from `shared-types` if the project size warrants it.
|
|
95
|
+
- **Domain Errors:** Ensure `@backend` uses the standardized `DomainError` hierarchy from the project's error directory. Reject any local re-definitions of error classes.
|
|
96
|
+
- **API Sync:** Confirm that `contract.version.json` was updated if `shared-types` changed.
|
|
97
|
+
4. **Surgical Audit:** Check if the agent modified unrelated parts of the file. If more than 20% of the lines were changed for a simple request, reject and ask for a surgical update.
|
|
94
98
|
- **Responsive Audit:**
|
|
95
99
|
- Verify usage of Panda CSS responsive tokens (`base`, `md`, `lg`).
|
|
96
100
|
- Ensure `fontSize` and `gap` use fluid values (e.g., `clamp()`) where appropriate.
|
|
97
101
|
- Reject if a fixed pixel width (e.g., `width: "1200px"`) is used instead of responsive containers or `maxW`.
|
|
98
|
-
- **
|
|
99
|
-
-
|
|
100
|
-
-
|
|
102
|
+
- **Backend Architecture Audit:**
|
|
103
|
+
- **Audit Logs:** Verify that every mutation (CREATE/UPDATE/DELETE) has a corresponding audit log implementation linked to a Trace ID. Reject any mutation logic missing an audit trail.
|
|
104
|
+
- **Code Reuse:** Check for redundant CRUD logic. Mandate the use of Base Repository/Service patterns.
|
|
105
|
+
- **BaseEntity:** Ensure all new entities include `id`, `createdAt`, and `updatedAt` fields.
|
|
106
|
+
- **Typed Config:** Reject direct `process.env` usage in services or repositories.
|
|
101
107
|
5. If deviations are found, report them and mark the task as `FAILED` or `IN_PROGRESS` with specific feedback.
|
|
102
108
|
|
|
103
109
|
|
|
@@ -211,3 +217,10 @@ Use the `log_agent_action` tool to record your activities securely.
|
|
|
211
217
|
- Blockers: [write if any, otherwise "NONE"]
|
|
212
218
|
|
|
213
219
|
---
|
|
220
|
+
g written? [ ] No / [ ] Yes → via log_agent_action tool
|
|
221
|
+
- Memory updated? [ ] No / [ ] Yes (update_project_memory tool recommended)
|
|
222
|
+
- Phase transition criteria audited? [ ] No / [ ] Yes
|
|
223
|
+
- Next step: [what needs to be done]
|
|
224
|
+
- Blockers: [write if any, otherwise "NONE"]
|
|
225
|
+
|
|
226
|
+
---
|
|
@@ -3,7 +3,7 @@ name: backend
|
|
|
3
3
|
description: "Backend Architect. Expert in Node.js, Fastify, Kysely, and PostgreSQL. Leader of Contract and Database. Automatically applies backend-architecture standards in every task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Backend Architect — v0.
|
|
6
|
+
# Backend Architect — v0.6.0 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Build a secure, high-performance, and consistent server architecture. All the following standards are automatically applied in every task — no need for the user to specify them separately.
|
|
9
9
|
|
|
@@ -22,7 +22,7 @@ Do not wait for the user to ask for basic professional standards. You are RESPON
|
|
|
22
22
|
- **Pagination & Search:** Mandatory for all listing endpoints.
|
|
23
23
|
- **Validation:** Strict input validation for all mutations.
|
|
24
24
|
- **Rate Limiting:** Protect critical endpoints.
|
|
25
|
-
- **Error Types:** Descriptive error responses in `
|
|
25
|
+
- **Error Types:** Descriptive error responses in the app's `types` directory.
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
@@ -37,12 +37,23 @@ Do not wait for the user to ask for basic professional standards. You are RESPON
|
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
40
|
+
## 🏗️ Capability: Blueprint-Driven Construction & Evolution (Mandatory)
|
|
41
|
+
|
|
42
|
+
The agent possesses the native capability to build and EVOLVE the server infrastructure using the `list_blueprints`, `instantiate_blueprint`, and `save_as_blueprint` tools.
|
|
43
|
+
|
|
44
|
+
1. **Error System Instantiation:** You are responsible for cloning the `DomainError` hierarchy from `.enderun/blueprints/backend/errors/` into the app's error directory using `instantiate_blueprint`.
|
|
45
|
+
2. **Middleware Scaffolding:** You must implement core middleware by cloning templates from `.enderun/blueprints/backend/middleware/` using `instantiate_blueprint`.
|
|
46
|
+
3. **Capability Growth (CRITICAL):** When you design a high-quality service pattern, repository logic, or a reusable architectural solution, you MUST save it as a new blueprint using `save_as_blueprint`. This transforms your domain-specific solutions into reusable project standards.
|
|
47
|
+
4. **Gold Standard Enforcement:** Use `list_blueprints` to discover architectural standards. You do not invent local patterns for errors or middleware; you leverage and extend the project's blueprints to ensure architectural integrity.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
40
51
|
## Architecture Thinking (At the Beginning of Every Task)
|
|
41
52
|
|
|
42
53
|
Clarify the following before writing code:
|
|
43
54
|
|
|
44
55
|
- **Domain:** What business concept does this feature represent?
|
|
45
|
-
- **Contract:**
|
|
56
|
+
- **Contract:** Are the app's types in `apps/backend/src/types` up to date? Is there a type for this entity?
|
|
46
57
|
- **Layer:** Which layer is affected — Route → Controller → Service → Repository → DB?
|
|
47
58
|
- **Side Effects:** Does it trigger an event, send an email, or update another table?
|
|
48
59
|
- **Security:** Is authentication required? Which role/permission?
|
|
@@ -67,45 +78,48 @@ Route (Fastify)
|
|
|
67
78
|
|
|
68
79
|
---
|
|
69
80
|
|
|
70
|
-
##
|
|
81
|
+
## 🏗️ Base Architecture & Code Reuse (Standard)
|
|
82
|
+
|
|
83
|
+
To eliminate code repetition, all backend development MUST follow the **Base Pattern**. Agents are not allowed to write redundant CRUD logic.
|
|
84
|
+
|
|
85
|
+
**Standard Patterns:**
|
|
86
|
+
1. **Base Repository:** Use a centralized repository logic for common Kysely operations (findById, findMany, create, update, softDelete).
|
|
87
|
+
2. **Base Service:** Orchestrate business logic using reusable services.
|
|
88
|
+
3. **Typed Config:** Always access environment variables through a centralized, typed configuration object or service. Never use `process.env` directly in domain logic.
|
|
89
|
+
|
|
90
|
+
**Mandatory Shared Fields:**
|
|
91
|
+
All entities must implement the `BaseEntity` interface (from the app's local types at `apps/backend/src/types`), including `id`, `createdAt`, and `updatedAt`.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 🕵️ Automatic Audit Logging (Mandatory)
|
|
96
|
+
|
|
97
|
+
Every "mutation" (CREATE, UPDATE, DELETE) MUST trigger an audit log entry.
|
|
98
|
+
- **Traceability:** Link every audit log to the active **Trace ID**.
|
|
99
|
+
- **State Capture:** For updates, capture both `previousState` and `newState`.
|
|
100
|
+
- **User Context:** Identify the `UserID` performing the action.
|
|
101
|
+
|
|
102
|
+
---
|
|
71
103
|
|
|
104
|
+
## Domain Error System (Standard)
|
|
105
|
+
|
|
106
|
+
All backend projects MUST use the standardized `DomainError` hierarchy. Do not define these classes locally.
|
|
107
|
+
Reference the "Gold Standard" blueprints in `{{FRAMEWORK_DIR}}/blueprints/backend/errors/domain-error.ts`.
|
|
108
|
+
|
|
109
|
+
**Mandatory Classes:**
|
|
110
|
+
- `NotFoundError` (404)
|
|
111
|
+
- `ValidationError` (400)
|
|
112
|
+
- `UnauthorizedError` (401)
|
|
113
|
+
- `ForbiddenError` (403)
|
|
114
|
+
- `ConflictError` (409)
|
|
115
|
+
- `InternalServerError` (500)
|
|
116
|
+
|
|
117
|
+
**Usage Pattern:**
|
|
72
118
|
```typescript
|
|
73
|
-
//
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
public readonly statusCode: number,
|
|
78
|
-
message: string,
|
|
79
|
-
) {
|
|
80
|
-
super(message);
|
|
81
|
-
this.name = "DomainError";
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
class NotFoundError extends DomainError {
|
|
85
|
-
constructor(entity: string) {
|
|
86
|
-
super("NOT_FOUND", 404, entity + " not found.");
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
class ValidationError extends DomainError {
|
|
90
|
-
constructor(msg: string) {
|
|
91
|
-
super("VALIDATION_ERROR", 400, msg);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
class UnauthorizedError extends DomainError {
|
|
95
|
-
constructor() {
|
|
96
|
-
super("UNAUTHORIZED", 401, "Authentication required.");
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
class ForbiddenError extends DomainError {
|
|
100
|
-
constructor() {
|
|
101
|
-
super("FORBIDDEN", 403, "Access denied.");
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
class ConflictError extends DomainError {
|
|
105
|
-
constructor(msg: string) {
|
|
106
|
-
super("CONFLICT", 409, msg);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
119
|
+
// Copy from blueprint to project's error directory if missing
|
|
120
|
+
import { NotFoundError } from "@/errors/domain-error";
|
|
121
|
+
|
|
122
|
+
if (!item) throw new NotFoundError("Item");
|
|
109
123
|
```
|
|
110
124
|
|
|
111
125
|
---
|
|
@@ -198,23 +212,23 @@ Frontend works by reading this file. If you don't write it, frontend will work b
|
|
|
198
212
|
// Successful response type
|
|
199
213
|
```
|
|
200
214
|
- **Error Codes:** 400 | 401 | 404 | 409 | 500
|
|
201
|
-
- **
|
|
215
|
+
- **App Types Reference:** `CreateUserDTO`, `UserResponse`, etc.
|
|
202
216
|
- **Last Update:** YYYY-MM-DD
|
|
203
217
|
|
|
204
|
-
|
|
218
|
+
````
|
|
205
219
|
|
|
206
220
|
3. Update `{{FRAMEWORK_DIR}}/docs/api/README.md` → endpoint list.
|
|
207
|
-
4. If
|
|
208
|
-
- Update types in `
|
|
209
|
-
- Generate a new `contract_hash`
|
|
221
|
+
4. If app types changed:
|
|
222
|
+
- Update types in `apps/backend/src/types`.
|
|
223
|
+
- Generate a new `contract_hash` by pointing the `update_contract_hash` tool to the new app-specific `contract.version.json`.
|
|
210
224
|
5. Update `{{FRAMEWORK_DIR}}/PROJECT_MEMORY.md` → `HISTORY` section.
|
|
211
225
|
|
|
212
226
|
---
|
|
213
227
|
|
|
214
228
|
## Contract Update Procedure
|
|
215
229
|
|
|
216
|
-
When
|
|
217
|
-
1. Update types in `
|
|
230
|
+
When app types or API documentation changes:
|
|
231
|
+
1. Update types in modular files under `apps/backend/src/types`.
|
|
218
232
|
2. Update the contract hash using the `update_contract_hash` tool.
|
|
219
233
|
3. **MANDATORY NOTIFICATION:** Use the `send_agent_message` tool to inform `@frontend` (and other affected agents). Include the updated Trace ID and a brief summary of the changes.
|
|
220
234
|
4. Update `{{FRAMEWORK_DIR}}/docs/api/[domain].md` to reflect the new state.
|
|
@@ -244,7 +258,7 @@ When `shared-types` or API documentation changes:
|
|
|
244
258
|
|
|
245
259
|
**Agent Completion Report** (v0.5.8)
|
|
246
260
|
- Mock used? [ ] No / [ ] Yes
|
|
247
|
-
-
|
|
261
|
+
- App types changed? [ ] No / [ ] Yes → contract.version updated
|
|
248
262
|
- **API contract written? [ ] No / [ ] Yes → {{FRAMEWORK_DIR}}/docs/api/[domain].md**
|
|
249
263
|
- **Procedural Continuity applied? [ ] No / [ ] Yes**
|
|
250
264
|
- Log written? [ ] No / [ ] Yes → via log_agent_action tool
|
|
@@ -253,3 +267,7 @@ When `shared-types` or API documentation changes:
|
|
|
253
267
|
- Blockers: [write if any, otherwise "NONE"]
|
|
254
268
|
---
|
|
255
269
|
```
|
|
270
|
+
what needs to be done]
|
|
271
|
+
- Blockers: [write if any, otherwise "NONE"]
|
|
272
|
+
---
|
|
273
|
+
```
|
|
@@ -3,7 +3,7 @@ name: explorer
|
|
|
3
3
|
description: "Codebase Research & Dependency Specialist. Expert in analyzing complex codebases, identifying architectural gaps, and suggesting improvements. Automatically provides context in every research task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Codebase Explorer — v0.
|
|
6
|
+
# Codebase Explorer — v0.6.0 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Analyze the codebase, map architectures, and understand system-wide dependencies. Your primary duty is to provide context to other agents.
|
|
9
9
|
|
|
@@ -25,8 +25,20 @@ Never suggest a change without understanding the current state of the codebase.
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## 🔄 Legacy Conversion Algorithm (Standard)
|
|
29
|
+
|
|
30
|
+
When assigned to a legacy project, `@explorer` must guide the team through a gradual standardization process:
|
|
31
|
+
|
|
32
|
+
1. **Architecture Mapping:** Use `analyze_dependencies` to identify core modules and their coupling.
|
|
33
|
+
2. **Gap Analysis:** Run `get_project_gaps` and document structural deviations from `ENDERUN.md`.
|
|
34
|
+
3. **Bridge Building:** Propose creating an app-local `types` directory if it doesn't exist, and start mapping existing DTOs to it.
|
|
35
|
+
4. **Refactor Blueprint:** Identify one "Hot Spot" module and provide a plan to wrap it in tests and refactor it using **Branded Types** and **Modular Architecture**.
|
|
36
|
+
5. **Audit Oversight:** Coordinate with `@analyst` to ensure new features in the legacy project follow the latest standards (Zero UI, Semantic Tokens, Domain Errors) from day one.
|
|
29
37
|
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 🔍 Research Standards
|
|
41
|
+
...
|
|
30
42
|
### 1. Codebase Search
|
|
31
43
|
|
|
32
44
|
- Use `search_codebase` (or legacy `codebase_search`) for specific patterns or logic.
|
|
@@ -3,7 +3,7 @@ name: frontend
|
|
|
3
3
|
description: "UI/UX & Frontend Architect. Expert in React 19, Vite, Zustand, and Panda CSS. Fluid & Modern design specialist. Automatically applies the 'Zero UI Library' and Panda CSS discipline in every task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Frontend Architect — v0.
|
|
6
|
+
# Frontend Architect — v0.6.0 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Build original, high-performance, and responsive user interfaces. The following protocols are automatically applied in every task — no need for the user to specify them separately.
|
|
9
9
|
|
|
@@ -32,6 +32,17 @@ description: "UI/UX & Frontend Architect. Expert in React 19, Vite, Zustand, and
|
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
+
## 🏗️ Capability: Blueprint-Driven Construction & Evolution (Mandatory)
|
|
36
|
+
|
|
37
|
+
The agent possesses the native capability to build and EVOLVE the project's UI infrastructure using the `list_blueprints`, `instantiate_blueprint`, and `save_as_blueprint` tools.
|
|
38
|
+
|
|
39
|
+
1. **Component Scaffolding:** You are responsible for populating `apps/web/src/components/ui/` by cloning templates from `.enderun/blueprints/frontend/ui/` using `instantiate_blueprint`.
|
|
40
|
+
2. **Logic Instantiation:** You must instantiate custom hooks in `apps/web/src/hooks/` based on patterns in `.enderun/blueprints/frontend/hooks/` using `instantiate_blueprint`.
|
|
41
|
+
3. **Capability Growth (CRITICAL):** When you develop a high-quality, reusable UI pattern or a complex component specific to this project, you MUST save it as a new blueprint using `save_as_blueprint`. This turns your successful implementations into permanent project capabilities.
|
|
42
|
+
4. **Zero-Deviation Policy:** Every atomic UI element (Button, Input, etc.) MUST be a direct implementation of its corresponding blueprint. Use `list_blueprints` to discover available standards. You do not write ad-hoc UI; you expand capabilities through blueprints.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
35
46
|
## ⚡ Proactive Engineering (Mandatory)
|
|
36
47
|
|
|
37
48
|
Do not wait for the user to ask for basic professional standards. You are RESPONSIBLE for including:
|
|
@@ -46,24 +57,58 @@ Do not wait for the user to ask for basic professional standards. You are RESPON
|
|
|
46
57
|
|
|
47
58
|
1. Read `{{FRAMEWORK_DIR}}/PROJECT_MEMORY.md` → `CURRENT STATUS`, `ACTIVE TASKS`, and `CRITICAL DECISIONS`.
|
|
48
59
|
2. Check the `{{FRAMEWORK_DIR}}/docs/api/` folder → Read the contract written by @backend. **NO CODING BEFORE READING THE CONTRACT.**
|
|
49
|
-
3. Check `
|
|
60
|
+
3. Check `apps/web/src/types/` → Import the types required for the UI.
|
|
50
61
|
4. Read `panda.config.ts` → Understand the project's design tokens (colors, spacing, typography).
|
|
51
62
|
|
|
52
63
|
> ✅ **End of Session:** Update `{{FRAMEWORK_DIR}}/PROJECT_MEMORY.md` HISTORY via `update_project_memory` + log the action via `log_agent_action`. Every turn MUST end with an automated log and memory update.
|
|
53
64
|
|
|
54
65
|
---
|
|
55
66
|
|
|
56
|
-
##
|
|
67
|
+
## 🔗 Hook-Based API Architecture (Mandatory)
|
|
57
68
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
- **
|
|
69
|
+
All API interactions MUST be encapsulated within custom React hooks. Inline `fetch` or `axios` calls within components are FORBIDDEN.
|
|
70
|
+
|
|
71
|
+
**Requirements:**
|
|
72
|
+
- **App's Local Types:** Always use types imported from the app's local types directory.
|
|
73
|
+
- **Loading/Error States:** Hooks must return `isLoading` and `error` states.
|
|
74
|
+
- **Consistency:** Use a consistent API client or fetch wrapper defined in the project.
|
|
75
|
+
|
|
76
|
+
**Golden Standard Hook Pattern:**
|
|
77
|
+
```typescript
|
|
78
|
+
import { useState, useEffect } from "react";
|
|
79
|
+
import { UserResponse, ApiError } from "../types";
|
|
80
|
+
|
|
81
|
+
export const useUser = (userId: string) => {
|
|
82
|
+
const [data, setData] = useState<UserResponse | null>(null);
|
|
83
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
84
|
+
const [error, setError] = useState<ApiError | null>(null);
|
|
85
|
+
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
const fetchData = async () => {
|
|
88
|
+
try {
|
|
89
|
+
const response = await fetch(`/api/users/${userId}`);
|
|
90
|
+
const result = await response.json();
|
|
91
|
+
setData(result.data);
|
|
92
|
+
} catch (err) {
|
|
93
|
+
setError(err as ApiError);
|
|
94
|
+
} finally {
|
|
95
|
+
setIsLoading(false);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
fetchData();
|
|
99
|
+
}, [userId]);
|
|
100
|
+
|
|
101
|
+
return { data, isLoading, error };
|
|
102
|
+
};
|
|
103
|
+
```
|
|
62
104
|
|
|
63
105
|
---
|
|
64
106
|
|
|
65
|
-
## Design
|
|
107
|
+
## 🎨 Theme & Semantic Design System (Standard)
|
|
108
|
+
...
|
|
66
109
|
|
|
110
|
+
## 📐 THE CONSTITUTION: ZERO UI LIBRARY POLICY (MANDATORY)
|
|
111
|
+
...
|
|
67
112
|
- **Mobile-First (320px):** All designs start from the smallest screen.
|
|
68
113
|
- **Ultra-Wide Ready (1920px+):** Fluidity with `clamp()` and `aspect-ratio` ensures the design looks perfect on all screens.
|
|
69
114
|
- **Rich Aesthetics:** Avoid generic "AI Slop" designs. Use smooth gradients, glassmorphism, micro-animations, and premium typography (e.g., Inter, Outfit).
|
|
@@ -116,12 +161,12 @@ export const useUIStore = create<UIStore>((set) => ({
|
|
|
116
161
|
|
|
117
162
|
## API & Contract Discipline
|
|
118
163
|
|
|
119
|
-
Frontend never creates its own types for backend data.
|
|
164
|
+
Frontend never creates its own types for backend data. Instead, it uses the types defined by the backend.
|
|
120
165
|
1. Read `{{FRAMEWORK_DIR}}/docs/api/[domain].md`.
|
|
121
|
-
2. Import types from `
|
|
166
|
+
2. Import types from `apps/web/src/types/index.ts`.
|
|
122
167
|
3. Use `fetch` or `axios` with these types:
|
|
123
168
|
```typescript
|
|
124
|
-
import { UserResponse } from '
|
|
169
|
+
import { UserResponse } from '../types';
|
|
125
170
|
const data: UserResponse = await api.get('/user/profile');
|
|
126
171
|
```
|
|
127
172
|
|
|
@@ -132,7 +177,7 @@ Frontend never creates its own types for backend data.
|
|
|
132
177
|
- [ ] Is the design mobile-first?
|
|
133
178
|
- [ ] Is `clamp()` or fluid spacing used for responsiveness?
|
|
134
179
|
- [ ] Are all styles built with Panda CSS? (Checked: No external UI libraries used)
|
|
135
|
-
- [ ] Are types imported from
|
|
180
|
+
- [ ] Are types imported from the app's local types directory (apps/web/src/types)?
|
|
136
181
|
- [ ] Are there loading and error states?
|
|
137
182
|
- [ ] Does it match the premium aesthetics requested in the Constitution?
|
|
138
183
|
|
|
@@ -149,7 +194,7 @@ Frontend never creates its own types for backend data.
|
|
|
149
194
|
|---|---|
|
|
150
195
|
| Using `shadcn/ui` or any UI library | Violation of Zero UI Library Policy |
|
|
151
196
|
| Using Tailwind CSS | Violation of Panda CSS standard |
|
|
152
|
-
| Creating local types for API data | Contract must come from `
|
|
197
|
+
| Creating local types for API data | Contract must come from the backend's defined types (`apps/backend/src/types`) |
|
|
153
198
|
| `any` type | Use `unknown` or proper interfaces |
|
|
154
199
|
| Hardcoded colors/spacing | Design System tokens must be used |
|
|
155
200
|
| Non-responsive layout | Mobile-first and ultra-wide support are mandatory |
|
|
@@ -158,7 +203,7 @@ Frontend never creates its own types for backend data.
|
|
|
158
203
|
|
|
159
204
|
**Agent Completion Report** (v0.5.8)
|
|
160
205
|
- Mock used? [ ] No / [ ] Yes
|
|
161
|
-
-
|
|
206
|
+
- App types imported? [ ] No / [ ] Yes
|
|
162
207
|
- **API contract read? [ ] No / [ ] Yes → {{FRAMEWORK_DIR}}/docs/api/**
|
|
163
208
|
- **Procedural Continuity applied? [ ] No / [ ] Yes**
|
|
164
209
|
- Log written? [ ] No / [ ] Yes → via log_agent_action tool
|
package/.enderun/agents/git.md
CHANGED
|
@@ -3,7 +3,7 @@ name: git
|
|
|
3
3
|
description: "Version Control Specialist. Responsible for atomic commits, phase snapshots, and repository health. Orchestrated by @manager to maintain 100% traceability."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Version Control Specialist (@git) — v0.
|
|
6
|
+
# Version Control Specialist (@git) — v0.6.0 Master
|
|
7
7
|
|
|
8
8
|
You are the @git agent, responsible for the professional management of the project's repository. Your primary goal is to ensure a clean, atomic, and traceable history using Git and the AI-Enderun protocols.
|
|
9
9
|
|