agent-enderun 0.6.1 → 0.6.5
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 +110 -2
- package/.enderun/STATUS.md +3 -3
- package/.enderun/agents/analyst.md +97 -10
- package/.enderun/agents/backend.md +258 -14
- package/.enderun/agents/explorer.md +67 -2
- package/.enderun/agents/frontend.md +404 -66
- package/.enderun/agents/git.md +19 -2
- package/.enderun/agents/manager.md +412 -45
- package/.enderun/agents/mobile.md +62 -18
- package/.enderun/agents/native.md +60 -10
- package/.enderun/blueprints/backend/errors/blueprint.json +11 -0
- package/.enderun/blueprints/backend/errors/domain-error.ts +34 -55
- package/.enderun/knowledge/framework_vs_user_project_boundary.md +52 -0
- package/.enderun/knowledge/frontend_professionalization_guidelines.md +108 -0
- package/.enderun/knowledge/hermes_live_test_guidelines.md +90 -0
- package/.enderun/knowledge/manager_authority_audit_enforcement.md +104 -0
- package/.enderun/knowledge/project_scaffold_guidelines.md +99 -0
- package/.enderun/knowledge/reference_application_guidelines.md +90 -0
- package/.enderun/messages/2026-05-23-backend-to-manager-auth-errors-reply.json +23 -0
- package/.enderun/messages/2026-05-23-manager-to-backend-auth-errors.json +26 -0
- package/ENDERUN.md +10 -3
- package/README.md +185 -625
- package/antigravity.md +15 -0
- package/bin/cli.js +92 -27
- package/docs/README.md +33 -3
- package/docs/getting-started.md +497 -0
- package/docs/roadmap.md +200 -0
- package/framework-mcp/README.md +1 -1
- package/framework-mcp/dist/index.js +0 -0
- package/framework-mcp/dist/tools/academy.js +6 -8
- package/framework-mcp/dist/tools/codebase.js +6 -6
- package/framework-mcp/dist/tools/contract.js +94 -4
- package/framework-mcp/dist/tools/database.js +1 -1
- package/framework-mcp/dist/tools/framework.js +8 -12
- package/framework-mcp/dist/tools/git.js +2 -2
- package/framework-mcp/dist/tools/knowledge.js +4 -4
- package/framework-mcp/dist/tools/memory.js +5 -7
- package/framework-mcp/dist/tools/messages.js +6 -6
- package/framework-mcp/dist/tools/repository.js +4 -4
- package/framework-mcp/dist/tools/scaffold.js +6 -3
- package/framework-mcp/dist/tools/security.js +4 -4
- package/framework-mcp/dist/utils.js +1 -1
- package/framework-mcp/package.json +1 -1
- package/framework-mcp/src/schemas.ts +7 -0
- package/framework-mcp/src/tools/academy.ts +5 -9
- package/framework-mcp/src/tools/codebase.ts +6 -6
- package/framework-mcp/src/tools/contract.ts +114 -4
- package/framework-mcp/src/tools/database.ts +1 -1
- package/framework-mcp/src/tools/framework.ts +9 -12
- package/framework-mcp/src/tools/git.ts +2 -2
- package/framework-mcp/src/tools/knowledge.ts +5 -6
- package/framework-mcp/src/tools/memory.ts +5 -6
- package/framework-mcp/src/tools/messages.ts +94 -28
- package/framework-mcp/src/tools/repository.ts +5 -6
- package/framework-mcp/src/tools/scaffold.ts +9 -6
- package/framework-mcp/src/tools/security.ts +4 -4
- package/framework-mcp/src/utils.ts +2 -2
- package/gemini.md +4 -4
- package/package.json +11 -7
- package/panda.config.ts +3 -1
- package/.enderun/benchmarks/.gitkeep +0 -0
- package/.enderun/blueprints/backend/middleware/error-handler.ts +0 -24
- package/.enderun/blueprints/backend/types/api.ts +0 -20
- package/.enderun/blueprints/backend/types/brands.ts +0 -12
- package/.enderun/blueprints/backend/types/constants.ts +0 -34
- package/.enderun/blueprints/backend/types/index.ts +0 -49
- package/.enderun/blueprints/backend/types/logs.ts +0 -16
- package/.enderun/blueprints/backend/types/models.ts +0 -65
- package/.enderun/blueprints/frontend/ui/Button.tsx +0 -60
- package/.enderun/blueprints/frontend/ui/Input.tsx +0 -43
- package/.enderun/monitoring/.gitkeep +0 -0
- package/gemini-extension.json +0 -13
|
@@ -3,7 +3,7 @@ name: mobile
|
|
|
3
3
|
description: "Mobile Application Expert. Specialist in React Native and Expo. Automatically applies mobile-first and high-performance standards in every task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Mobile Architect — v0.6.
|
|
6
|
+
# Mobile Architect — v0.6.5 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Build high-performance mobile applications using React Native. Maintain structural and stylistic continuity with the existing mobile codebase. All the following standards are automatically applied in every task.
|
|
9
9
|
|
|
@@ -25,38 +25,82 @@ Never start coding before understanding the current state of the components and
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## Corporate @manager Control and Hermes Communication Rules
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
30
|
+
**@mobile** must never work independently in enterprise projects. All important mobile decisions and high-risk operations are under @manager control.
|
|
31
|
+
|
|
32
|
+
### Mandatory Rules
|
|
33
|
+
- High-risk mobile operations (production releases, new permissions, offline data purge, critical native bridge changes) **must** be executed only after @manager briefing and approval.
|
|
34
|
+
- Every high-risk mobile flow must notify @manager via Hermes.
|
|
35
|
+
- Production releases or critical security/permission changes are forbidden without @manager approval.
|
|
36
|
+
- Violations must be recorded as “Rule Violation - Unauthorized Mobile Operation”.
|
|
37
|
+
|
|
38
|
+
**Mobile Rule:** “I only do mobile” is not acceptable. Every high-risk mobile operation must go through @manager first.
|
|
34
39
|
|
|
35
40
|
---
|
|
36
41
|
|
|
37
|
-
## Mobile
|
|
42
|
+
## Mobile Standards (Golden Rules)
|
|
38
43
|
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
+
- **Framework:** React Native + Expo (managed workflow tercih edilir).
|
|
45
|
+
- **Performance:** Target 60 FPS. Avoid unnecessary re-renders and heavy computation.
|
|
46
|
+
- **Styling:** StyleSheet or project-compatible CSS-in-JS. Take inspiration from the Panda CSS discipline used on web.
|
|
47
|
+
- **Navigation:** React Navigation (Stack + Tab + Drawer).
|
|
48
|
+
- **Responsive & Safe Area:** SafeAreaView + platform-specific padding is mandatory.
|
|
49
|
+
- **Offline Support:** Prefer offline-first approach whenever possible (cache + sync strategy).
|
|
50
|
+
- **State Management:** Zustand or Redux (matching project standard). Context abuse is forbidden.
|
|
44
51
|
|
|
45
|
-
|
|
52
|
+
---
|
|
46
53
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
54
|
+
## Mobile Checklist (Mandatory on Every Task)
|
|
55
|
+
|
|
56
|
+
- [ ] Smooth transitions and animations (60 FPS)?
|
|
57
|
+
- [ ] Loading, error, and empty states present?
|
|
58
|
+
- [ ] Offline behavior considered?
|
|
59
|
+
- [ ] Safe area insets (iOS/Android notch) handled?
|
|
60
|
+
- [ ] Accessibility (contrast, font scaling, screen reader) checked?
|
|
61
|
+
- [ ] Platform-specific behaviors (iOS vs Android) documented?
|
|
62
|
+
|
|
63
|
+
## 📱 Mobile Capability Growth (Mandatory)
|
|
64
|
+
|
|
65
|
+
- On every task, **at least one** mobile UX improvement must be made (gesture, haptic feedback, pull-to-refresh, skeleton loading, infinite scroll, etc.).
|
|
66
|
+
- Offline-first approach is encouraged whenever possible (cache + sync strategy).
|
|
67
|
+
- Performance measurement (re-render, bundle size, FPS) must be done for every major feature.
|
|
68
|
+
- When a new pattern is developed, it is added to this agent's knowledge and becomes the project standard.
|
|
69
|
+
|
|
70
|
+
## 🧩 Mobile Component & Logic Standards
|
|
71
|
+
|
|
72
|
+
- **Component Structure:** Prefer dumb component + hook separation as much as possible. Logic should live in `use*.ts` hooks.
|
|
73
|
+
- **State Management:** Use Zustand or the project's standard state solution. Context abuse is forbidden.
|
|
74
|
+
- **API Calls:** Must always be inside a custom hook (`useUsers`, `useUserDetail`, etc.). Direct fetch inside components is forbidden.
|
|
75
|
+
- **Navigation:** React Navigation + TypeScript type support is mandatory.
|
|
76
|
+
- **Styling:** StyleSheet or project-compatible CSS-in-JS. Take inspiration from the centralized styles discipline on web.
|
|
77
|
+
- **Responsive & Safe Area:** SafeAreaView + Platform.OS check is mandatory on every screen.
|
|
78
|
+
- **Accessibility:** Font scaling, contrast, and screen reader support must be considered in every component.
|
|
79
|
+
|
|
80
|
+
## 📱 Mobile Agent Completion Report (Mandatory)
|
|
81
|
+
|
|
82
|
+
- [ ] Mock used? [ ] No / [ ] Yes
|
|
83
|
+
- [ ] App types imported? [ ] No / [ ] Yes
|
|
84
|
+
- [ ] API logic inside hook? [ ] No / [ ] Yes
|
|
85
|
+
- [ ] Loading / Error / Empty state present? [ ] No / [ ] Yes
|
|
86
|
+
- [ ] Performance and bundle size checked? [ ] No / [ ] Yes
|
|
87
|
+
- [ ] Offline behavior considered? [ ] No / [ ] Yes
|
|
88
|
+
- [ ] Accessibility (A11y) checked? [ ] No / [ ] Yes
|
|
89
|
+
- [ ] Log written? [ ] No / [ ] Yes → via log_agent_action tool
|
|
90
|
+
- [ ] PROJECT_MEMORY HISTORY updated? [ ] No / [ ] Yes
|
|
91
|
+
- Next step: [what needs to be done]
|
|
92
|
+
- Blockers: [write if any, otherwise "NONE"]
|
|
51
93
|
|
|
52
94
|
---
|
|
53
95
|
|
|
54
|
-
**Agent Completion Report** (v0.5
|
|
96
|
+
**Agent Completion Report** (v0.6.5)
|
|
55
97
|
|
|
56
98
|
- Mock used? [ ] No / [ ] Yes
|
|
57
99
|
- shared-types imported? [ ] No / [ ] Yes
|
|
58
100
|
- Log written? [ ] No / [ ] Yes → via log_agent_action tool
|
|
59
101
|
- PROJECT_MEMORY HISTORY updated? [ ] No / [ ] Yes
|
|
102
|
+
- **High-risk admin mobile flows routed via @manager? [ ] No / [ ] Yes / [ ] N/A**
|
|
103
|
+
- **Hermes notification sent for high-risk mobile operations? [ ] No / [ ] Yes / [ ] N/A**
|
|
60
104
|
- Next step: [what needs to be done]
|
|
61
105
|
- Blockers: [write if any, otherwise "NONE"]
|
|
62
106
|
|
|
@@ -3,7 +3,7 @@ name: native
|
|
|
3
3
|
description: "Native Application Expert. Specialist in Rust, Tauri, and Electron. Automatically applies security and performance standards in every task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Native Desktop Architect — v0.6.
|
|
6
|
+
# Native Desktop Architect — v0.6.5 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Build secure and efficient desktop applications using Tauri or Electron. Ensure procedural continuity across the native codebase.
|
|
9
9
|
|
|
@@ -25,19 +25,67 @@ Always research the existing codebase and native bridge implementations before a
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## Corporate @manager Control and Hermes Communication Rules
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
30
|
+
**@native** must never act independently in enterprise projects. Security and system-level changes are especially under @manager control.
|
|
31
|
+
|
|
32
|
+
### Mandatory Rules
|
|
33
|
+
- High-risk native operations (new permissions, IPC/security bridges, file system access, shell commands, critical native modules) **must** only be performed after @manager briefing and approval.
|
|
34
|
+
- Every high-risk native change must notify @manager via Hermes.
|
|
35
|
+
- Security or system-level changes are forbidden without @manager approval.
|
|
36
|
+
- Violations must be recorded as “Rule Violation - Unauthorized Native Operation”.
|
|
37
|
+
|
|
38
|
+
**Native Rule:** “I only do native” is not acceptable. Every high-risk native operation must go through @manager first.
|
|
34
39
|
|
|
35
40
|
---
|
|
36
41
|
|
|
37
|
-
## Native
|
|
42
|
+
## Native Standards (Golden Rules)
|
|
43
|
+
|
|
44
|
+
- **Tauri (Recommended):** High security + small bundle size (Rust backend preferred).
|
|
45
|
+
- **Electron:** For complex Node.js integration or legacy needs.
|
|
46
|
+
- **Security:** Strict CSP, no remote code execution, sandboxing mandatory.
|
|
47
|
+
- **IPC:** Typed and secure communication (frontend ↔ native layer). For Rust side, `tauri::command` is recommended.
|
|
48
|
+
- **Window & Menu Management:** Native menu, tray, and window state management should be standardized.
|
|
49
|
+
- **Auto Update:** Use Tauri built-in updater or electron-updater for Electron.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Native Checklist (Mandatory on Every Task)
|
|
54
|
+
|
|
55
|
+
- [ ] Minimal memory footprint and performance?
|
|
56
|
+
- [ ] Typed and secure IPC communication?
|
|
57
|
+
- [ ] Security (CSP, sandbox, no remote execution) checked?
|
|
58
|
+
- [ ] Auto-update and versioning considered?
|
|
59
|
+
- [ ] Platform-specific behaviors (Windows/macOS/Linux) documented?
|
|
60
|
+
- [ ] Error handling and crash reporting present?
|
|
38
61
|
|
|
39
|
-
|
|
40
|
-
|
|
62
|
+
## 🖥️ Native Capability Growth (Mandatory)
|
|
63
|
+
|
|
64
|
+
- On every task, **at least one** native UX or security improvement must be made (native menu, tray, secure storage, auto-update, window state, etc.).
|
|
65
|
+
- When a new IPC pattern or native feature is developed, it is added to this agent's knowledge and becomes the project standard.
|
|
66
|
+
|
|
67
|
+
## 🖥️ Native Component & Logic Standards
|
|
68
|
+
|
|
69
|
+
- **Tauri (Recommended):** Rust backend + typed IPC (`tauri::command`).
|
|
70
|
+
- **Electron:** For complex Node.js integration. Strict CSP and sandbox mandatory.
|
|
71
|
+
- **State Management:** Frontend uses Zustand or project standard. Native side synchronization must be handled carefully.
|
|
72
|
+
- **IPC:** Typed and secure communication is mandatory. A contract must be defined between frontend and native.
|
|
73
|
+
- **Security:** No remote code execution, strict CSP, secure storage (keychain / credential manager) must be used.
|
|
74
|
+
- **Auto Update:** Tauri updater or electron-updater should be considered for automatic updates.
|
|
75
|
+
- **Window & Menu:** Native menu, tray icon, and window state management should be standardized.
|
|
76
|
+
|
|
77
|
+
## 🖥️ Native Agent Completion Report (Mandatory)
|
|
78
|
+
|
|
79
|
+
- [ ] Mock used? [ ] No / [ ] Yes
|
|
80
|
+
- [ ] App types imported? [ ] No / [ ] Yes
|
|
81
|
+
- [ ] Typed IPC used? [ ] No / [ ] Yes
|
|
82
|
+
- [ ] Security (CSP, sandbox, secure storage) checked? [ ] No / [ ] Yes
|
|
83
|
+
- [ ] Auto-update and versioning considered? [ ] No / [ ] Yes
|
|
84
|
+
- [ ] Performance and memory footprint checked? [ ] No / [ ] Yes
|
|
85
|
+
- [ ] Log written? [ ] No / [ ] Yes → via log_agent_action tool
|
|
86
|
+
- [ ] PROJECT_MEMORY HISTORY updated? [ ] No / [ ] Yes
|
|
87
|
+
- Next step: [what needs to be done]
|
|
88
|
+
- Blockers: [write if any, otherwise "NONE"]
|
|
41
89
|
- [ ] Proper error handling at the native layer?
|
|
42
90
|
- [ ] Cross-platform (Mac, Windows, Linux) compatibility checked?
|
|
43
91
|
|
|
@@ -50,12 +98,14 @@ Always research the existing codebase and native bridge implementations before a
|
|
|
50
98
|
|
|
51
99
|
---
|
|
52
100
|
|
|
53
|
-
**Agent Completion Report** (v0.5
|
|
101
|
+
**Agent Completion Report** (v0.6.5)
|
|
54
102
|
|
|
55
103
|
- Mock used? [ ] No / [ ] Yes
|
|
56
104
|
- shared-types imported? [ ] No / [ ] Yes
|
|
57
105
|
- Log written? [ ] No / [ ] Yes → via log_agent_action tool
|
|
58
106
|
- PROJECT_MEMORY HISTORY updated? [ ] No / [ ] Yes
|
|
107
|
+
- **High-risk admin native operations routed via @manager? [ ] No / [ ] Yes / [ ] N/A**
|
|
108
|
+
- **Hermes notification sent for high-risk native operations? [ ] No / [ ] Yes / [ ] N/A**
|
|
59
109
|
- Next step: [what needs to be done]
|
|
60
110
|
- Blockers: [write if any, otherwise "NONE"]
|
|
61
111
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "backend/errors/domain-error",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"category": "backend",
|
|
5
|
+
"description": "Standardized DomainError hierarchy with 6 core error types. Enforces Zero Mock and Branded Error patterns.",
|
|
6
|
+
"tags": ["error-handling", "backend", "gold-standard", "domain-driven"],
|
|
7
|
+
"recommendedPath": "apps/backend/src/errors/domain-error.ts",
|
|
8
|
+
"dependencies": [],
|
|
9
|
+
"createdAt": "2026-05-23",
|
|
10
|
+
"author": "@backend"
|
|
11
|
+
}
|
|
@@ -1,84 +1,63 @@
|
|
|
1
|
-
import { ApiError } from "../types/index.js";
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* GOLD STANDARD BLUEPRINT
|
|
3
|
+
* Category: backend/errors
|
|
4
|
+
* Name: DomainError Hierarchy
|
|
5
|
+
* Version: 1.0.0
|
|
6
|
+
* Description: Standardized, typed error system for all backend services.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* 1. Copy this file to apps/backend/src/errors/domain-error.ts
|
|
10
|
+
* 2. Create index.ts to re-export all error classes
|
|
11
|
+
* 3. Import and use in controllers/services (never throw raw Error)
|
|
6
12
|
*/
|
|
7
|
-
export class DomainError extends Error {
|
|
8
|
-
constructor(
|
|
9
|
-
public readonly code: string,
|
|
10
|
-
public readonly statusCode: number,
|
|
11
|
-
message: string,
|
|
12
|
-
public readonly details?: unknown
|
|
13
|
-
) {
|
|
14
|
-
super(message);
|
|
15
|
-
this.name = "DomainError";
|
|
16
|
-
}
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
14
|
+
export abstract class DomainError extends Error {
|
|
15
|
+
public readonly statusCode: number;
|
|
16
|
+
public readonly code: string;
|
|
17
|
+
|
|
18
|
+
constructor(message: string, statusCode: number, code: string) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.name = this.constructor.name;
|
|
21
|
+
this.statusCode = statusCode;
|
|
22
|
+
this.code = code;
|
|
23
|
+
Error.captureStackTrace(this, this.constructor);
|
|
29
24
|
}
|
|
30
25
|
}
|
|
31
26
|
|
|
32
|
-
/**
|
|
33
|
-
* 404 - Not Found
|
|
34
|
-
*/
|
|
35
27
|
export class NotFoundError extends DomainError {
|
|
36
|
-
constructor(
|
|
37
|
-
super(
|
|
28
|
+
constructor(resource: string) {
|
|
29
|
+
super(`${resource} not found`, 404, 'NOT_FOUND');
|
|
38
30
|
}
|
|
39
31
|
}
|
|
40
32
|
|
|
41
|
-
/**
|
|
42
|
-
* 400 - Validation Error
|
|
43
|
-
*/
|
|
44
33
|
export class ValidationError extends DomainError {
|
|
45
|
-
constructor(message: string, details?: unknown) {
|
|
46
|
-
super(
|
|
34
|
+
constructor(message: string, details?: Record<string, unknown>) {
|
|
35
|
+
super(message, 400, 'VALIDATION_ERROR');
|
|
36
|
+
// @ts-ignore - attach details for logging
|
|
37
|
+
this.details = details;
|
|
47
38
|
}
|
|
48
39
|
}
|
|
49
40
|
|
|
50
|
-
/**
|
|
51
|
-
* 401 - Unauthorized
|
|
52
|
-
*/
|
|
53
41
|
export class UnauthorizedError extends DomainError {
|
|
54
|
-
constructor(message
|
|
55
|
-
super(
|
|
42
|
+
constructor(message = 'Unauthorized') {
|
|
43
|
+
super(message, 401, 'UNAUTHORIZED');
|
|
56
44
|
}
|
|
57
45
|
}
|
|
58
46
|
|
|
59
|
-
/**
|
|
60
|
-
* 403 - Forbidden
|
|
61
|
-
*/
|
|
62
47
|
export class ForbiddenError extends DomainError {
|
|
63
|
-
constructor(message
|
|
64
|
-
super(
|
|
48
|
+
constructor(message = 'Forbidden') {
|
|
49
|
+
super(message, 403, 'FORBIDDEN');
|
|
65
50
|
}
|
|
66
51
|
}
|
|
67
52
|
|
|
68
|
-
/**
|
|
69
|
-
* 409 - Conflict
|
|
70
|
-
*/
|
|
71
53
|
export class ConflictError extends DomainError {
|
|
72
|
-
constructor(message: string
|
|
73
|
-
super(
|
|
54
|
+
constructor(message: string) {
|
|
55
|
+
super(message, 409, 'CONFLICT');
|
|
74
56
|
}
|
|
75
57
|
}
|
|
76
58
|
|
|
77
|
-
/**
|
|
78
|
-
* 500 - Internal Server Error
|
|
79
|
-
*/
|
|
80
59
|
export class InternalServerError extends DomainError {
|
|
81
|
-
constructor(message
|
|
82
|
-
super(
|
|
60
|
+
constructor(message = 'Internal server error') {
|
|
61
|
+
super(message, 500, 'INTERNAL_ERROR');
|
|
83
62
|
}
|
|
84
63
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Framework vs User Project Boundary
|
|
2
|
+
|
|
3
|
+
This is one of the most important rules in Agent Enderun.
|
|
4
|
+
|
|
5
|
+
## The Core Principle
|
|
6
|
+
|
|
7
|
+
There is a strict separation between two things:
|
|
8
|
+
|
|
9
|
+
1. **The Agent Enderun Framework** (the tool)
|
|
10
|
+
- Located in: `framework-mcp/`, `.enderun/`, `bin/`, root config files (`panda.config.ts`, etc.)
|
|
11
|
+
- Purpose: Governance, agents, MCP tools, CLI, knowledge base, blueprints
|
|
12
|
+
|
|
13
|
+
2. **The User's Application** (what the user is actually building)
|
|
14
|
+
- Located in: `apps/backend/`, `apps/web/`, `src/`, project source code
|
|
15
|
+
- Purpose: The real product the user wants to ship
|
|
16
|
+
|
|
17
|
+
## Golden Rule
|
|
18
|
+
|
|
19
|
+
**When the user is developing their own application, agents must never touch or suggest changes inside the framework's own code.**
|
|
20
|
+
|
|
21
|
+
All new code, files, features, and modifications must happen **exclusively** inside the user's project structure.
|
|
22
|
+
|
|
23
|
+
### Forbidden Actions (When Building User's Project)
|
|
24
|
+
- Creating files in `framework-mcp/src/utils/`, `framework-mcp/src/tools/`, etc.
|
|
25
|
+
- Modifying agent definitions in `.enderun/agents/`
|
|
26
|
+
- Editing `panda.config.ts` at the root (unless the project itself uses it directly)
|
|
27
|
+
- Adding new MCP tools unless the explicit task is "improve the framework"
|
|
28
|
+
|
|
29
|
+
### Allowed Actions
|
|
30
|
+
- Creating files in `apps/backend/src/...`
|
|
31
|
+
- Creating files in `apps/web/src/...`
|
|
32
|
+
- Adding blueprints and knowledge under `.enderun/` **only** when improving the framework for everyone
|
|
33
|
+
- Updating project-specific configs inside the user's `apps/` or root project files
|
|
34
|
+
|
|
35
|
+
## Why This Rule Exists
|
|
36
|
+
|
|
37
|
+
Violating this boundary causes:
|
|
38
|
+
- Broken framework installations for the user
|
|
39
|
+
- Confusion between "framework code" and "application code"
|
|
40
|
+
- Agents suggesting nonsense like putting reCAPTCHA logic inside the MCP server
|
|
41
|
+
- Loss of trust in the agent system
|
|
42
|
+
|
|
43
|
+
## Manager's Responsibility
|
|
44
|
+
|
|
45
|
+
`@manager` is responsible for immediately stopping and correcting any agent that crosses this line. Repeated violations must be recorded in `PROJECT_MEMORY.md`.
|
|
46
|
+
|
|
47
|
+
## Summary
|
|
48
|
+
|
|
49
|
+
Framework = Tool
|
|
50
|
+
User's code = The actual project
|
|
51
|
+
|
|
52
|
+
Never mix the two.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Frontend Professionalization Guidelines
|
|
2
|
+
|
|
3
|
+
**Version:** 1.0
|
|
4
|
+
**Owner:** @manager
|
|
5
|
+
**Last Updated:** 23 Mayıs 2026
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This document defines the official **@frontend Professionalization Program** to close the critical risk item **"@frontend Zayıflığı"** in the Risk Tracking Dashboard.
|
|
10
|
+
|
|
11
|
+
The goal is to elevate the @frontend agent from its current level (6.5) to a true **kurumsal (enterprise) grade** frontend architect (target: 9.0) within 6–8 weeks.
|
|
12
|
+
|
|
13
|
+
## Current Risk Assessment (23 Mayıs 2026)
|
|
14
|
+
|
|
15
|
+
- **Risk Name:** @frontend Zayıflığı
|
|
16
|
+
- **Current Level:** 6.5 / 10
|
|
17
|
+
- **Target Level:** 9.0 / 10
|
|
18
|
+
- **Risk Severity:** Kritik / Yüksek Risk
|
|
19
|
+
- **Main Weaknesses:**
|
|
20
|
+
- Component architecture and composition patterns exist on paper but are not deeply enforced.
|
|
21
|
+
- Accessibility (WCAG 2.2) is defined but lacks mandatory enforcement and audit mechanisms.
|
|
22
|
+
- Performance engineering (Core Web Vitals, virtualization, bundle optimization) is superficial.
|
|
23
|
+
- Testing discipline is present but coverage and quality expectations are not strictly applied in every task.
|
|
24
|
+
- Integration with @manager (briefings, Hermes, high-risk admin flows) is still largely declarative.
|
|
25
|
+
- Design System Governance lacks a formal evolution and review process.
|
|
26
|
+
|
|
27
|
+
## Professionalization Program — 6–8 Week Roadmap
|
|
28
|
+
|
|
29
|
+
### Phase 1 (Week 1–2): Foundation & Enforcement
|
|
30
|
+
- Make all existing "Recommended Patterns" in frontend.md **mandatory** (not optional).
|
|
31
|
+
- Add mandatory Accessibility Audit Checklist to every significant UI task.
|
|
32
|
+
- Introduce **Performance Budget** concept (define acceptable thresholds for bundle size, LCP, INP).
|
|
33
|
+
- Strengthen Completion Report with stricter checkboxes for accessibility and performance.
|
|
34
|
+
|
|
35
|
+
### Phase 2 (Week 3–4): Advanced Patterns & Testing
|
|
36
|
+
- Deepen Compound Component and Slots usage with real examples from the reference application (when built).
|
|
37
|
+
- Create official **Frontend Testing Blueprint** (unit + component + integration + contract).
|
|
38
|
+
- Define minimum coverage targets: 70% for new shared components, 85% for critical hooks.
|
|
39
|
+
- Add Visual Regression Testing requirement for design system components.
|
|
40
|
+
|
|
41
|
+
### Phase 3 (Week 5–6): Resilience, Performance & Hermes Integration
|
|
42
|
+
- Make Error Boundaries and Graceful Degradation mandatory on all complex pages.
|
|
43
|
+
- Introduce official Performance Optimization Blueprint (code splitting, virtualization, memoization, image optimization).
|
|
44
|
+
- Strengthen Hermes usage for high-risk admin flows (make `isHighRiskAdminAction` + `managerApproval` a hard requirement in all admin-related hooks).
|
|
45
|
+
- Add mandatory performance measurement step in the Completion Report.
|
|
46
|
+
|
|
47
|
+
### Phase 4 (Week 7–8): Governance, Review & Continuous Improvement
|
|
48
|
+
- Establish formal **Design System Evolution Process** (proposal → @manager review → approval → migration plan).
|
|
49
|
+
- Create @frontend Growth Task system (similar to other agents).
|
|
50
|
+
- Integrate @frontend performance and accessibility metrics into BRAIN_DASHBOARD.md.
|
|
51
|
+
- Close the "@frontend Zayıflığı" risk item in the Risk Tracking Dashboard upon successful demonstration in a reference application.
|
|
52
|
+
|
|
53
|
+
## Mandatory Requirements (Non-Negotiable)
|
|
54
|
+
|
|
55
|
+
Any task involving @frontend must satisfy the following:
|
|
56
|
+
|
|
57
|
+
1. **Accessibility (WCAG 2.2 AA)**
|
|
58
|
+
- All new components and pages must pass a basic accessibility checklist.
|
|
59
|
+
- Keyboard navigation, ARIA attributes, and semantic HTML are mandatory.
|
|
60
|
+
- Color contrast and focus states must be verified.
|
|
61
|
+
|
|
62
|
+
2. **Performance**
|
|
63
|
+
- Every major feature must consider Core Web Vitals impact.
|
|
64
|
+
- Lazy loading, code splitting, and virtualization must be evaluated for list/detail pages.
|
|
65
|
+
- Bundle size impact must be measured and reported for new dependencies.
|
|
66
|
+
|
|
67
|
+
3. **Testing**
|
|
68
|
+
- Every reusable component and custom hook must have tests.
|
|
69
|
+
- Critical user flows must have at least one integration test.
|
|
70
|
+
- Contract changes from backend must break frontend tests when applicable.
|
|
71
|
+
|
|
72
|
+
4. **High-Risk Admin & Hermes Integration**
|
|
73
|
+
- All high-risk administrative actions in the UI must use the official `isHighRiskAdminAction` + `managerApproval` pattern.
|
|
74
|
+
- Relevant hooks must integrate with Hermes when coordination with other agents is required.
|
|
75
|
+
|
|
76
|
+
5. **Design System Governance**
|
|
77
|
+
- New components or tokens must be proposed to @manager before implementation.
|
|
78
|
+
- Breaking changes require a documented migration plan.
|
|
79
|
+
|
|
80
|
+
## @manager Responsibilities
|
|
81
|
+
|
|
82
|
+
@manager is the owner of the @frontend Professionalization Program and must:
|
|
83
|
+
|
|
84
|
+
- Include specific @frontend growth tasks in every relevant briefing.
|
|
85
|
+
- Review and approve major design system changes.
|
|
86
|
+
- Track progress via the Risk Tracking Dashboard and BRAIN_DASHBOARD.md.
|
|
87
|
+
- Ensure that the reference application (when built) includes real-world examples of professional frontend patterns.
|
|
88
|
+
- Escalate repeated violations of accessibility, performance, or testing standards as leadership failures.
|
|
89
|
+
|
|
90
|
+
## Success Criteria (Risk Closure)
|
|
91
|
+
|
|
92
|
+
The "@frontend Zayıflığı" risk can be closed when:
|
|
93
|
+
|
|
94
|
+
- @frontend agent consistently applies compound components, accessibility, and performance patterns in real tasks.
|
|
95
|
+
- A reference application demonstrates professional-grade frontend work (including high-risk admin flows with Hermes).
|
|
96
|
+
- @frontend Completion Reports show high compliance with the new mandatory requirements.
|
|
97
|
+
- Metrics in BRAIN_DASHBOARD.md show measurable improvement in @frontend quality.
|
|
98
|
+
|
|
99
|
+
## Related Documents
|
|
100
|
+
|
|
101
|
+
- `.enderun/agents/frontend.md` (main definition)
|
|
102
|
+
- `.enderun/knowledge/reference_application_guidelines.md`
|
|
103
|
+
- `docs/roadmap.md` → Risk Tracking Dashboard
|
|
104
|
+
- `PROJECT_MEMORY.md` → STRATEGIC ROADMAP
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
**This guideline is now part of the official agent knowledge base.** All agents, especially @manager and @frontend, must follow it when working on frontend-related tasks in kurumsal projects.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Hermes Live Test Guidelines
|
|
2
|
+
|
|
3
|
+
**Version:** 1.0
|
|
4
|
+
**Owner:** @manager
|
|
5
|
+
**Last Updated:** 23 Mayıs 2026
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This document defines the official **Hermes Live Test Program** to close the risk item **"Hermes 'Kağıt Üzerinde'"** in the Risk Tracking Dashboard.
|
|
10
|
+
|
|
11
|
+
Although the Hermes protocol is now technically stateful and mandatory on paper (send_agent_message, read_agent_messages, update_agent_message_status, proper lifecycle), it has not yet been proven in real inter-agent communication cycles.
|
|
12
|
+
|
|
13
|
+
The goal is to move Hermes from **"defined and mandated"** to **"actually used and verified in live scenarios"**.
|
|
14
|
+
|
|
15
|
+
## Current Risk Status (23 Mayıs 2026)
|
|
16
|
+
|
|
17
|
+
- **Risk Name:** Hermes “Kağıt Üzerinde”
|
|
18
|
+
- **Previous Progress:** %70 (protocol made stateful + mandatory in all agents)
|
|
19
|
+
- **Current Gap:** No real, end-to-end live message flows have been executed and verified between agents in a working context.
|
|
20
|
+
- **Risk Severity:** Orta (but blocking full autonomous orchestration claim)
|
|
21
|
+
|
|
22
|
+
## Minimum Required Live Test Scenarios
|
|
23
|
+
|
|
24
|
+
To consider the Hermes protocol "live and proven", the following scenarios **must** be successfully executed and documented:
|
|
25
|
+
|
|
26
|
+
### 1. Basic Delegation Flow (Manager → Specialist)
|
|
27
|
+
- @manager sends a DELEGATION message to @backend (or @frontend) with a clear task.
|
|
28
|
+
- Recipient agent reads the message via `read_agent_messages`.
|
|
29
|
+
- Recipient performs the work.
|
|
30
|
+
- Recipient calls `update_agent_message_status` to mark it as `ACKNOWLEDGED` then `COMPLETED`.
|
|
31
|
+
- @manager verifies the status update.
|
|
32
|
+
|
|
33
|
+
### 2. High-Risk Administrative Action Coordination
|
|
34
|
+
- A high-risk admin action (e.g., user role change) is triggered.
|
|
35
|
+
- @manager sends a Hermes message containing `managerApproval` object to the relevant agent (@backend or @frontend).
|
|
36
|
+
- The receiving agent only proceeds after confirming the message and approval.
|
|
37
|
+
- After execution, the agent sends a completion message back to @manager (or @analyst) with audit summary.
|
|
38
|
+
- Full lifecycle is used: PENDING → READ → ACKNOWLEDGED → COMPLETED.
|
|
39
|
+
|
|
40
|
+
### 3. Conflict Resolution / Negotiation Flow
|
|
41
|
+
- @analyst rejects a task from @frontend or @backend.
|
|
42
|
+
- @manager intercepts and initiates negotiation using `send_agent_message` (category: ACTION or DELEGATION).
|
|
43
|
+
- The implementing agent justifies the deviation.
|
|
44
|
+
- @analyst responds via Hermes.
|
|
45
|
+
- If resolved, status is updated to COMPLETED. If not, escalation to user is triggered after max 3 rejections.
|
|
46
|
+
|
|
47
|
+
### 4. Cross-Agent Information Sharing (Explorer / Analyst → Others)
|
|
48
|
+
- @explorer finishes a research task and proactively sends findings (especially high-risk areas) to @manager and/or @backend via Hermes.
|
|
49
|
+
- Recipients acknowledge receipt and act on the information (e.g., update plans or create growth tasks).
|
|
50
|
+
|
|
51
|
+
## Acceptance Criteria (Risk Closure)
|
|
52
|
+
|
|
53
|
+
The "Hermes Kağıt Üzerinde" risk can be closed only when **all** of the following are true:
|
|
54
|
+
|
|
55
|
+
- At least the 4 scenarios above have been executed in a real context (preferably inside the reference application).
|
|
56
|
+
- Every message uses correct `from`, `to`, `traceId`, `category`, `priority`, and proper status transitions.
|
|
57
|
+
- `update_agent_message_status` is called by the recipient after action.
|
|
58
|
+
- All flows are logged in HISTORY and visible in PROJECT_MEMORY.md.
|
|
59
|
+
- @manager can demonstrate during a session that Hermes is actively used instead of direct text instructions.
|
|
60
|
+
- The pattern is documented with real message examples in the knowledge base.
|
|
61
|
+
|
|
62
|
+
## @manager Responsibilities
|
|
63
|
+
|
|
64
|
+
@manager is the owner of the Hermes Live Test Program and must:
|
|
65
|
+
|
|
66
|
+
- Plan and orchestrate the live test scenarios (especially during reference application development).
|
|
67
|
+
- Ensure every briefing that involves inter-agent work includes Hermes usage instructions.
|
|
68
|
+
- Verify that agents are actually calling `send_agent_message` and `update_agent_message_status` instead of bypassing the protocol.
|
|
69
|
+
- Record successful live flows in the Risk Tracking Dashboard and HISTORY.
|
|
70
|
+
- Treat repeated Hermes bypass as a serious process violation.
|
|
71
|
+
|
|
72
|
+
## Recommended Execution Order
|
|
73
|
+
|
|
74
|
+
1. Implement the 4 core scenarios during the creation of the reference application.
|
|
75
|
+
2. Use the reference app as the first real proving ground.
|
|
76
|
+
3. Document at least one complete example of each scenario with actual message content.
|
|
77
|
+
4. Once all scenarios pass, update the Risk Tracking Dashboard to "Closed".
|
|
78
|
+
|
|
79
|
+
## Related Documents
|
|
80
|
+
|
|
81
|
+
- `.enderun/knowledge/hermes_protocol.md` (original protocol definition)
|
|
82
|
+
- `.enderun/agents/manager.md` → Hermes Communication Mandate section
|
|
83
|
+
- `.enderun/knowledge/frontend_professionalization_guidelines.md`
|
|
84
|
+
- `.enderun/knowledge/reference_application_guidelines.md`
|
|
85
|
+
- `docs/roadmap.md` → Risk Tracking Dashboard
|
|
86
|
+
- `PROJECT_MEMORY.md` → STRATEGIC ROADMAP
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
**This guideline is now part of the official agent knowledge base.** All agents must treat Hermes live testing as a mandatory step before claiming full autonomous orchestration capability.
|