@friggframework/devtools 2.0.0--canary.545.e256e95.0 → 2.0.0--canary.553.dc5f898.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.
Files changed (129) hide show
  1. package/frigg-cli/README.md +1 -1
  2. package/frigg-cli/__tests__/unit/commands/build.test.js +1 -1
  3. package/frigg-cli/__tests__/unit/commands/doctor.test.js +2 -0
  4. package/frigg-cli/__tests__/unit/commands/install.test.js +19 -23
  5. package/frigg-cli/__tests__/unit/dependencies.test.js +2 -2
  6. package/frigg-cli/build-command/index.js +11 -123
  7. package/frigg-cli/deploy-command/index.js +1 -83
  8. package/frigg-cli/doctor-command/index.js +16 -37
  9. package/frigg-cli/generate-iam-command.js +1 -21
  10. package/frigg-cli/index.js +6 -21
  11. package/frigg-cli/index.test.js +2 -7
  12. package/frigg-cli/init-command/backend-first-handler.js +42 -124
  13. package/frigg-cli/init-command/index.js +1 -2
  14. package/frigg-cli/init-command/template-handler.js +3 -13
  15. package/frigg-cli/install-command/backend-js.js +3 -3
  16. package/frigg-cli/install-command/environment-variables.js +19 -16
  17. package/frigg-cli/install-command/environment-variables.test.js +13 -12
  18. package/frigg-cli/install-command/index.js +9 -14
  19. package/frigg-cli/install-command/integration-file.js +3 -3
  20. package/frigg-cli/install-command/logger.js +12 -0
  21. package/frigg-cli/install-command/validate-package.js +9 -5
  22. package/frigg-cli/jest.config.js +1 -4
  23. package/frigg-cli/repair-command/index.js +128 -121
  24. package/frigg-cli/start-command/index.js +2 -324
  25. package/frigg-cli/ui-command/index.js +36 -58
  26. package/frigg-cli/utils/repo-detection.js +37 -85
  27. package/infrastructure/create-frigg-infrastructure.js +0 -93
  28. package/infrastructure/docs/iam-policy-templates.md +1 -1
  29. package/infrastructure/domains/integration/integration-builder.js +3 -2
  30. package/infrastructure/domains/integration/integration-builder.test.js +54 -2
  31. package/infrastructure/domains/networking/vpc-builder.test.js +4 -2
  32. package/infrastructure/domains/networking/vpc-resolver.test.js +1 -1
  33. package/infrastructure/domains/shared/resource-discovery.js +5 -5
  34. package/infrastructure/domains/shared/types/app-definition.js +0 -35
  35. package/infrastructure/domains/shared/types/discovery-result.test.js +1 -1
  36. package/infrastructure/domains/shared/utilities/base-definition-factory.js +1 -10
  37. package/infrastructure/domains/shared/utilities/base-definition-factory.test.js +2 -2
  38. package/infrastructure/infrastructure-composer.js +0 -2
  39. package/infrastructure/infrastructure-composer.test.js +6 -5
  40. package/management-ui/README.md +109 -245
  41. package/package.json +7 -8
  42. package/frigg-cli/__tests__/application/use-cases/AddApiModuleToIntegrationUseCase.test.js +0 -326
  43. package/frigg-cli/__tests__/application/use-cases/CreateApiModuleUseCase.test.js +0 -337
  44. package/frigg-cli/__tests__/domain/entities/ApiModule.test.js +0 -373
  45. package/frigg-cli/__tests__/domain/entities/AppDefinition.test.js +0 -313
  46. package/frigg-cli/__tests__/domain/services/IntegrationValidator.test.js +0 -269
  47. package/frigg-cli/__tests__/domain/value-objects/IntegrationName.test.js +0 -82
  48. package/frigg-cli/__tests__/infrastructure/adapters/IntegrationJsUpdater.test.js +0 -408
  49. package/frigg-cli/__tests__/infrastructure/repositories/FileSystemApiModuleRepository.test.js +0 -583
  50. package/frigg-cli/__tests__/infrastructure/repositories/FileSystemAppDefinitionRepository.test.js +0 -314
  51. package/frigg-cli/__tests__/infrastructure/repositories/FileSystemIntegrationRepository.test.js +0 -383
  52. package/frigg-cli/__tests__/unit/commands/init.test.js +0 -406
  53. package/frigg-cli/__tests__/unit/commands/provider-dispatch.test.js +0 -383
  54. package/frigg-cli/__tests__/unit/commands/repair.test.js +0 -275
  55. package/frigg-cli/__tests__/unit/start-command/application/RunPreflightChecksUseCase.test.js +0 -411
  56. package/frigg-cli/__tests__/unit/start-command/infrastructure/DatabaseAdapter.test.js +0 -405
  57. package/frigg-cli/__tests__/unit/start-command/infrastructure/DockerAdapter.test.js +0 -496
  58. package/frigg-cli/__tests__/unit/start-command/presentation/InteractivePromptAdapter.test.js +0 -474
  59. package/frigg-cli/__tests__/unit/utils/output.test.js +0 -196
  60. package/frigg-cli/application/use-cases/AddApiModuleToIntegrationUseCase.js +0 -93
  61. package/frigg-cli/application/use-cases/CreateApiModuleUseCase.js +0 -93
  62. package/frigg-cli/application/use-cases/CreateIntegrationUseCase.js +0 -103
  63. package/frigg-cli/container.js +0 -172
  64. package/frigg-cli/docs/OUTPUT_MIGRATION_GUIDE.md +0 -286
  65. package/frigg-cli/domain/entities/ApiModule.js +0 -272
  66. package/frigg-cli/domain/entities/AppDefinition.js +0 -227
  67. package/frigg-cli/domain/entities/Integration.js +0 -198
  68. package/frigg-cli/domain/exceptions/DomainException.js +0 -24
  69. package/frigg-cli/domain/ports/IApiModuleRepository.js +0 -53
  70. package/frigg-cli/domain/ports/IAppDefinitionRepository.js +0 -43
  71. package/frigg-cli/domain/ports/IIntegrationRepository.js +0 -61
  72. package/frigg-cli/domain/services/IntegrationValidator.js +0 -185
  73. package/frigg-cli/domain/value-objects/IntegrationId.js +0 -42
  74. package/frigg-cli/domain/value-objects/IntegrationName.js +0 -60
  75. package/frigg-cli/domain/value-objects/SemanticVersion.js +0 -70
  76. package/frigg-cli/infrastructure/UnitOfWork.js +0 -46
  77. package/frigg-cli/infrastructure/adapters/BackendJsUpdater.js +0 -197
  78. package/frigg-cli/infrastructure/adapters/FileSystemAdapter.js +0 -224
  79. package/frigg-cli/infrastructure/adapters/IntegrationJsUpdater.js +0 -249
  80. package/frigg-cli/infrastructure/adapters/SchemaValidator.js +0 -92
  81. package/frigg-cli/infrastructure/repositories/FileSystemApiModuleRepository.js +0 -373
  82. package/frigg-cli/infrastructure/repositories/FileSystemAppDefinitionRepository.js +0 -116
  83. package/frigg-cli/infrastructure/repositories/FileSystemIntegrationRepository.js +0 -277
  84. package/frigg-cli/package-lock.json +0 -16226
  85. package/frigg-cli/start-command/application/RunPreflightChecksUseCase.js +0 -376
  86. package/frigg-cli/start-command/infrastructure/DatabaseAdapter.js +0 -591
  87. package/frigg-cli/start-command/infrastructure/DockerAdapter.js +0 -306
  88. package/frigg-cli/start-command/presentation/InteractivePromptAdapter.js +0 -329
  89. package/frigg-cli/templates/backend/.env.example +0 -62
  90. package/frigg-cli/templates/backend/.eslintrc.json +0 -12
  91. package/frigg-cli/templates/backend/.prettierrc +0 -6
  92. package/frigg-cli/templates/backend/docker-compose.yml +0 -22
  93. package/frigg-cli/templates/backend/index.js +0 -96
  94. package/frigg-cli/templates/backend/infrastructure.js +0 -12
  95. package/frigg-cli/templates/backend/jest.config.js +0 -17
  96. package/frigg-cli/templates/backend/package.json +0 -50
  97. package/frigg-cli/templates/backend/src/api-modules/.gitkeep +0 -10
  98. package/frigg-cli/templates/backend/src/base/.gitkeep +0 -7
  99. package/frigg-cli/templates/backend/src/integrations/.gitkeep +0 -10
  100. package/frigg-cli/templates/backend/src/integrations/ExampleIntegration.js +0 -65
  101. package/frigg-cli/templates/backend/src/utils/.gitkeep +0 -7
  102. package/frigg-cli/templates/backend/test/setup.js +0 -30
  103. package/frigg-cli/templates/backend/ui-extensions/.gitkeep +0 -0
  104. package/frigg-cli/templates/backend/ui-extensions/README.md +0 -77
  105. package/frigg-cli/utils/__tests__/provider-helper.test.js +0 -55
  106. package/frigg-cli/utils/__tests__/repo-detection.test.js +0 -436
  107. package/frigg-cli/utils/output.js +0 -382
  108. package/frigg-cli/utils/provider-helper.js +0 -75
  109. package/frigg-cli/validate-command/__tests__/adapters/validate-command.test.js +0 -205
  110. package/frigg-cli/validate-command/__tests__/application/validate-app-use-case.test.js +0 -104
  111. package/frigg-cli/validate-command/__tests__/domain/fix-suggestion.test.js +0 -153
  112. package/frigg-cli/validate-command/__tests__/domain/validation-error.test.js +0 -162
  113. package/frigg-cli/validate-command/__tests__/domain/validation-result.test.js +0 -152
  114. package/frigg-cli/validate-command/__tests__/infrastructure/api-module-validator.test.js +0 -332
  115. package/frigg-cli/validate-command/__tests__/infrastructure/app-definition-validator.test.js +0 -191
  116. package/frigg-cli/validate-command/__tests__/infrastructure/integration-class-validator.test.js +0 -146
  117. package/frigg-cli/validate-command/__tests__/infrastructure/template-validation.test.js +0 -155
  118. package/frigg-cli/validate-command/adapters/cli/validate-command.js +0 -199
  119. package/frigg-cli/validate-command/application/use-cases/validate-app-use-case.js +0 -35
  120. package/frigg-cli/validate-command/domain/entities/validation-result.js +0 -74
  121. package/frigg-cli/validate-command/domain/value-objects/fix-suggestion.js +0 -74
  122. package/frigg-cli/validate-command/domain/value-objects/validation-error.js +0 -68
  123. package/frigg-cli/validate-command/infrastructure/validators/api-module-validator.js +0 -181
  124. package/frigg-cli/validate-command/infrastructure/validators/app-definition-validator.js +0 -145
  125. package/frigg-cli/validate-command/infrastructure/validators/integration-class-validator.js +0 -113
  126. package/infrastructure/domains/admin-scripts/admin-script-builder.js +0 -200
  127. package/infrastructure/domains/admin-scripts/admin-script-builder.test.js +0 -499
  128. package/infrastructure/domains/admin-scripts/index.js +0 -5
  129. package/infrastructure/jest.config.js +0 -16
@@ -1,24 +1,17 @@
1
1
  # Frigg Management UI
2
2
 
3
- A modern React-based **developer tool** for managing local Frigg projects. Built with Vite, React, and Tailwind CSS following DDD/Hexagonal architecture principles.
4
-
5
- ## Purpose
6
-
7
- The Management UI is a **local development tool** for Frigg framework developers to:
8
- - Manage Frigg project lifecycle (start/stop/inspect)
9
- - Perform git operations (branch management, sync)
10
- - Test integrations using `@friggframework/ui` in a sandboxed environment
11
-
12
- **NOT for runtime integration management** - that's handled by `@friggframework/ui` in deployed applications.
3
+ A modern React-based management interface for Frigg development environment. Built with Vite, React, and Tailwind CSS, this application provides developers with a comprehensive dashboard to manage integrations, users, connections, and environment variables.
13
4
 
14
5
  ## Features
15
6
 
16
- - **Project Management**: Discover, initialize, start/stop local Frigg projects
17
- - **Git Operations**: Branch management, repository status, sync operations
18
- - **Test Area**: Sandboxed environment using `@friggframework/ui` for integration testing
19
- - **Real-time Updates**: WebSocket-based live updates for process status
7
+ - **Dashboard**: Server control, metrics, and activity monitoring
8
+ - **Integration Discovery**: Browse, install, and manage Frigg integrations
9
+ - **Environment Management**: Configure environment variables and settings
10
+ - **User Management**: Create and manage test users
11
+ - **Connection Management**: Monitor and manage integration connections
12
+ - **Real-time Updates**: WebSocket-based live updates
20
13
  - **Responsive Design**: Mobile-friendly interface
21
- - **DDD Architecture**: Clean separation of concerns with hexagonal architecture
14
+ - **Error Boundaries**: Robust error handling
22
15
 
23
16
  ## Tech Stack
24
17
 
@@ -35,153 +28,111 @@ The Management UI is a **local development tool** for Frigg framework developers
35
28
 
36
29
  ### Prerequisites
37
30
 
38
- - Node.js 18+ and npm
39
- - A Frigg project directory to manage
40
-
41
- ### Quick Start
42
-
43
- ```bash
44
- # From any Frigg project directory
45
- frigg ui
46
-
47
- # Or install and run globally
48
- npm install -g @friggframework/devtools
49
- frigg ui
50
- ```
31
+ - Node.js 16+ and npm
32
+ - Running Frigg backend server
51
33
 
52
- ### Development
34
+ ### Installation
53
35
 
54
36
  ```bash
55
37
  # Install dependencies
56
38
  npm install
57
39
 
58
- # Start development server (frontend + backend)
59
- npm run dev:server
60
-
61
- # Frontend only
40
+ # Start development server (frontend only)
62
41
  npm run dev
63
42
 
64
- # Backend only
65
- npm run server:dev
43
+ # Start both frontend and backend
44
+ npm run dev:server
45
+
46
+ # Build for production
47
+ npm run build
66
48
  ```
67
49
 
68
50
  ### Available Scripts
69
51
 
70
- - `npm run dev` - Start Vite development server (port 5173)
52
+ - `npm run dev` - Start Vite development server
71
53
  - `npm run dev:server` - Start both frontend and backend concurrently
72
54
  - `npm run build` - Build for production
73
55
  - `npm run preview` - Preview production build
74
- - `npm run server` - Start backend server (port 3210)
56
+ - `npm run server` - Start backend server only
75
57
  - `npm run server:dev` - Start backend server with nodemon
76
58
  - `npm run lint` - Run ESLint
77
59
  - `npm run lint:fix` - Fix ESLint issues
78
- - `npm run test` - Run Jest tests
60
+ - `npm run typecheck` - Run TypeScript type checking
79
61
 
80
- ## Architecture
81
-
82
- ### DDD/Hexagonal Architecture (Clean Architecture)
83
-
84
- The Management UI follows Domain-Driven Design principles with clear separation of concerns:
62
+ ## Project Structure
85
63
 
86
64
  ```
87
- server/src/
88
- ├── presentation/ # Routes & Controllers (HTTP adapters)
89
- │ ├── routes/
90
- ├── projectRoutes.js # Project management endpoints
91
- ├── gitRoutes.js # Git operation endpoints
92
- │ └── testAreaRoutes.js # Test area endpoints
93
- └── controllers/
94
- ├── ProjectController.js
95
- └── GitController.js
96
- ├── application/ # Use Cases & Services (Business logic)
97
- ├── use-cases/
98
- ├── StartProjectUseCase.js
99
- ├── StopProjectUseCase.js
100
- │ │ ├── InspectProjectUseCase.js
101
- └── git/
102
- ├── CreateBranchUseCase.js
103
- ├── SwitchBranchUseCase.js
104
- │ └── SyncBranchUseCase.js
105
- │ └── services/
106
- ├── ProjectService.js
107
- └── GitService.js
108
- ├── domain/ # Domain Entities & Services
109
- ├── entities/
110
- │ │ ├── Project.js
111
- │ │ └── AppDefinition.js
112
- └── services/
113
- │ ├── ProcessManager.js
114
- │ └── GitService.js
115
- └── infrastructure/ # Repositories & Adapters
116
- ├── repositories/
117
- │ └── FileSystemProjectRepository.js
118
- ├── adapters/
119
- │ ├── FriggCliAdapter.js
120
- │ └── GitAdapter.js
121
- └── persistence/
122
- └── SimpleGitAdapter.js
123
-
124
- src/ # Frontend (React)
125
- ├── presentation/ # UI Layer
126
- │ ├── components/
127
- │ │ ├── common/ # Shared UI components
128
- │ │ ├── admin/ # Admin view components
129
- │ │ └── zones/ # Zone-based organization
130
- │ ├── pages/
131
- │ └── hooks/
132
- ├── application/ # Frontend use cases
133
- ├── domain/ # Frontend domain models
134
- └── infrastructure/ # API clients
65
+ src/
66
+ ├── components/ # Reusable UI components
67
+ │ ├── Button.jsx # Custom button component
68
+ │ ├── Card.jsx # Card container components
69
+ │ ├── ErrorBoundary.jsx
70
+ ├── IntegrationCard.jsx
71
+ ├── Layout.jsx # Main layout component
72
+ ├── LoadingSpinner.jsx
73
+ ├── StatusBadge.jsx
74
+ │ └── index.js # Component exports
75
+ ├── hooks/ # React hooks
76
+ │ ├── useFrigg.jsx # Main Frigg state management
77
+ └── useSocket.jsx # WebSocket connection
78
+ ├── pages/ # Page components
79
+ ├── Dashboard.jsx # Main dashboard
80
+ │ ├── Integrations.jsx
81
+ │ ├── Environment.jsx
82
+ ├── Users.jsx
83
+ │ └── Connections.jsx
84
+ ├── services/ # API services
85
+ └── api.js # Axios configuration
86
+ ├── utils/ # Utility functions
87
+ └── cn.js # Class name utility
88
+ ├── App.jsx # Root component
89
+ ├── main.jsx # Application entry point
90
+ └── index.css # Global styles
91
+
92
+ server/
93
+ ├── api/ # Backend API routes
94
+ ├── middleware/ # Express middleware
95
+ ├── utils/ # Server utilities
96
+ ├── websocket/ # WebSocket handlers
97
+ └── index.js # Server entry point
135
98
  ```
136
99
 
137
- ## Core Functionality
138
-
139
- ### 1. Project Management
140
- - **Discover Projects**: Automatically find Frigg projects in your workspace
141
- - **Initialize**: Set up new Frigg projects
142
- - **Start/Stop**: Manage local Frigg process lifecycle
143
- - **Inspect**: Deep project analysis (structure, config, dependencies)
144
-
145
- ### 2. Git Operations
146
- - **Branch Management**: Create, switch, delete branches
147
- - **Repository Status**: Real-time git status and branch info
148
- - **Sync Operations**: Pull, push, and synchronize branches
149
- - **Working Directory**: Track uncommitted changes
150
-
151
- ### 3. Test Area
152
- - **Integration Testing**: Uses `@friggframework/ui` for testing integrations
153
- - **User Simulation**: Switch between test users
154
- - **Live Testing**: Test integrations in real-time with hot reload
155
- - **Same UI**: Test with the exact UI end-users will see
156
-
157
- ## API Endpoints
158
-
159
- The management UI backend exposes clean REST APIs following DDD principles:
160
-
161
- ### Project Management (`/api/projects`)
162
- - `GET /api/projects/discover` - Discover Frigg projects in workspace
163
- - `POST /api/projects/initialize` - Initialize new Frigg project
164
- - `GET /api/projects/inspect` - Deep inspection of project structure
165
- - `GET /api/projects/status` - Get project and process status
166
- - `POST /api/projects/start` - Start Frigg project
167
- - `POST /api/projects/stop` - Stop Frigg project
168
-
169
- ### Git Operations (`/api/git`)
170
- - `GET /api/git/status` - Repository and branch status
171
- - `GET /api/git/branches` - List all branches
172
- - `POST /api/git/branches` - Create new branch
173
- - `PUT /api/git/branches/:name` - Switch to branch
174
- - `DELETE /api/git/branches/:name` - Delete branch
175
- - `POST /api/git/sync` - Sync branch with remote
176
-
177
- ### Test Area (`/api/test-area`)
178
- - `GET /api/test-area/status` - Check if Frigg is running for testing
179
- - `POST /api/test-area/start` - Start Frigg for test area
180
- - `POST /api/test-area/stop` - Stop test area Frigg instance
181
- - `GET /api/test-area/health` - Health check for test Frigg
182
-
183
- ### System
184
- - `GET /api/health` - Management UI health check
100
+ ## Component Architecture
101
+
102
+ ### Layout Components
103
+ - **Layout**: Main application layout with responsive sidebar
104
+ - **ErrorBoundary**: Catches and displays errors gracefully
105
+
106
+ ### UI Components
107
+ - **Button**: Customizable button with variants and sizes
108
+ - **Card**: Container components for content sections
109
+ - **StatusBadge**: Displays server status with color coding
110
+ - **LoadingSpinner**: Loading indicators
111
+ - **IntegrationCard**: Rich integration display component
112
+
113
+ ### State Management
114
+ - **useFrigg**: Central state management for Frigg data
115
+ - **useSocket**: WebSocket connection and real-time updates
116
+
117
+ ## API Integration
118
+
119
+ The management UI communicates with the Frigg backend through:
120
+
121
+ 1. **REST API**: Standard CRUD operations
122
+ 2. **WebSocket**: Real-time updates and notifications
123
+
124
+ ### API Endpoints
125
+
126
+ - `GET /api/frigg/status` - Server status
127
+ - `POST /api/frigg/start` - Start Frigg server
128
+ - `POST /api/frigg/stop` - Stop Frigg server
129
+ - `GET /api/integrations` - List integrations
130
+ - `POST /api/integrations/install` - Install integration
131
+ - `GET /api/environment` - Environment variables
132
+ - `PUT /api/environment` - Update environment variables
133
+ - `GET /api/users` - List test users
134
+ - `POST /api/users` - Create test user
135
+ - `GET /api/connections` - List connections
185
136
 
186
137
  ## Styling
187
138
 
@@ -205,46 +156,20 @@ This project uses Tailwind CSS for styling with:
205
156
 
206
157
  ## Development
207
158
 
208
- ### DDD/Hexagonal Architecture Guidelines
209
-
210
- **Golden Rule**: Handlers/Controllers ONLY call Use Cases, NEVER Repositories directly.
211
-
212
- ```
213
- Controller → Use Case → Repository → External System
214
- ```
215
-
216
- #### Layer Responsibilities
217
-
218
- 1. **Presentation Layer** (Routes & Controllers)
219
- - HTTP-specific logic only (status codes, headers, response formatting)
220
- - Calls use cases, never repositories
221
- - Thin adapters with minimal logic
222
- - Error mapping (domain errors → HTTP errors)
223
-
224
- 2. **Application Layer** (Use Cases & Services)
225
- - Business logic and orchestration
226
- - Coordinates multiple repository calls
227
- - Enforces business rules
228
- - Receives dependencies via constructor (dependency injection)
229
-
230
- 3. **Domain Layer** (Entities & Domain Services)
231
- - Core business objects
232
- - Domain logic and invariants
233
- - Technology-agnostic
234
-
235
- 4. **Infrastructure Layer** (Repositories & Adapters)
236
- - Pure database/file operations (CRUD)
237
- - External API calls
238
- - No business logic
239
- - Returns raw data
240
-
241
159
  ### Code Style
242
160
 
243
- - **DDD Principles**: Follow hexagonal architecture patterns
244
161
  - **ESLint**: Linting with React and React Hooks rules
245
- - **Functional Components**: React hooks and composition
246
- - **Dependency Injection**: Constructor-based injection
247
- - **Single Responsibility**: Each use case does one thing
162
+ - **Prettier**: Code formatting (recommended)
163
+ - **TypeScript Ready**: Prepared for TypeScript migration
164
+
165
+ ### Best Practices
166
+
167
+ - Functional components with hooks
168
+ - Component composition over inheritance
169
+ - Separation of concerns (UI, state, logic)
170
+ - Error boundaries for robustness
171
+ - Loading states for better UX
172
+ - Responsive design principles
248
173
 
249
174
  ## Building and Deployment
250
175
 
@@ -258,81 +183,20 @@ npm run preview
258
183
 
259
184
  The build output will be in the `dist/` directory and can be served by any static file server.
260
185
 
261
- ## Key Architectural Decisions
262
-
263
- ### Why No Integration Management in Management UI?
264
-
265
- The Management UI is a **developer tool** for managing local Frigg projects. Integration and connection management belongs in `@friggframework/ui`, which is:
266
- - Used by deployed Frigg applications (runtime)
267
- - End-user facing
268
- - Embedded in Test Area for testing
269
-
270
- This separation ensures:
271
- - ✅ Zero duplication between dev tools and runtime UI
272
- - ✅ Clear boundaries of responsibility
273
- - ✅ Developers test with the exact UI end-users see
274
- - ✅ Simpler maintenance (single source of truth)
275
-
276
- ### Test Area Pattern
277
-
278
- The Test Area embeds `@friggframework/ui` to provide:
279
- 1. **Integration testing** with the production UI
280
- 2. **User simulation** for multi-tenant scenarios
281
- 3. **Real-time testing** with hot reload
282
- 4. **Authentication context** for testing flows
283
-
284
186
  ## Environment Variables
285
187
 
286
- ### Backend
287
- - `PORT` - Server port (default: 3210)
288
- - `PROJECT_PATH` - Default project path to manage
188
+ The application automatically detects the environment:
289
189
 
290
- ### Frontend
291
- - Auto-detects environment:
292
- - **Development**: API at `http://localhost:3210`
293
- - **Production**: Same origin
190
+ - **Development**: API calls to `http://localhost:3001`
191
+ - **Production**: API calls to the same origin
294
192
 
295
193
  ## Contributing
296
194
 
297
- 1. **Follow DDD Architecture**:
298
- - Controllers call use cases, not repositories
299
- - Business logic in use cases, not controllers
300
- - Repositories only for data access
301
- 2. **Add error handling** for new features
302
- 3. **Include loading states** for async operations
303
- 4. **Write tests** using the established patterns
304
- 5. **Update documentation** for significant changes
305
- 6. **Use dependency injection** for all dependencies
306
-
307
- ## Testing
308
-
309
- ```bash
310
- # Run server tests
311
- npm run test
312
-
313
- # Run specific test file
314
- npm run test -- path/to/test.js
315
-
316
- # Watch mode
317
- npm run test -- --watch
318
- ```
319
-
320
- ### Test Structure
321
- - **Unit Tests**: Domain entities, value objects
322
- - **Integration Tests**: Use case workflows
323
- - **Controller Tests**: HTTP endpoint behavior
324
-
325
- ## Related Packages
326
-
327
- - **@friggframework/core**: Frigg framework core functionality
328
- - **@friggframework/ui**: Runtime integration UI (used in Test Area)
329
- - **@friggframework/devtools**: CLI tools for Frigg development
330
-
331
- ## Documentation
332
-
333
- - [DDD Architecture](./docs/ARCHITECTURE.md)
334
- - [Cleanup Summary](./CLEANUP_SUMMARY.md)
335
- - [Frigg Framework Docs](https://docs.friggframework.org)
195
+ 1. Follow the existing code style and patterns
196
+ 2. Add error handling for new features
197
+ 3. Include loading states for async operations
198
+ 4. Write tests for new components (when testing is set up)
199
+ 5. Update documentation for significant changes
336
200
 
337
201
  ## License
338
202
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@friggframework/devtools",
3
3
  "prettier": "@friggframework/prettier-config",
4
- "version": "2.0.0--canary.545.e256e95.0",
4
+ "version": "2.0.0--canary.553.dc5f898.0",
5
5
  "bin": {
6
6
  "frigg": "./frigg-cli/index.js"
7
7
  },
@@ -25,9 +25,9 @@
25
25
  "@babel/eslint-parser": "^7.18.9",
26
26
  "@babel/parser": "^7.25.3",
27
27
  "@babel/traverse": "^7.25.3",
28
- "@friggframework/core": "2.0.0--canary.545.e256e95.0",
29
- "@friggframework/schemas": "2.0.0--canary.545.e256e95.0",
30
- "@friggframework/test": "2.0.0--canary.545.e256e95.0",
28
+ "@friggframework/core": "2.0.0--canary.553.dc5f898.0",
29
+ "@friggframework/schemas": "2.0.0--canary.553.dc5f898.0",
30
+ "@friggframework/test": "2.0.0--canary.553.dc5f898.0",
31
31
  "@hapi/boom": "^10.0.1",
32
32
  "@inquirer/prompts": "^5.3.8",
33
33
  "axios": "^1.7.2",
@@ -55,11 +55,10 @@
55
55
  "validate-npm-package-name": "^5.0.0"
56
56
  },
57
57
  "devDependencies": {
58
- "@friggframework/eslint-config": "2.0.0--canary.545.e256e95.0",
59
- "@friggframework/prettier-config": "2.0.0--canary.545.e256e95.0",
58
+ "@friggframework/eslint-config": "2.0.0--canary.553.dc5f898.0",
59
+ "@friggframework/prettier-config": "2.0.0--canary.553.dc5f898.0",
60
60
  "aws-sdk-client-mock": "^4.1.0",
61
61
  "aws-sdk-client-mock-jest": "^4.1.0",
62
- "exit-x": "^0.2.2",
63
62
  "jest": "^30.1.3",
64
63
  "osls": "^3.40.1",
65
64
  "prettier": "^2.7.1",
@@ -89,5 +88,5 @@
89
88
  "publishConfig": {
90
89
  "access": "public"
91
90
  },
92
- "gitHead": "e256e95b4ae4ef4f813ddd5ff50ab59776d5078b"
91
+ "gitHead": "dc5f898637016fc19993f998f919e35225b3d04b"
93
92
  }