jetic-cli 0.1.9 → 0.2.1

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/README.md CHANGED
@@ -1,483 +1,156 @@
1
1
  <p align="center">
2
- <img src="public/jetic_white_bg.png" alt="Jetic Banner" width="160">
2
+ <img src="public/jetic_white_bg.png" alt="Jetic Banner" width="140">
3
3
  </p>
4
4
 
5
- <h1 align="center">Jetic </h1>
5
+ <h1 align="center">Jetic CLI</h1>
6
6
 
7
7
  <p align="center">
8
- <strong>AI-Native API Behavior Testing, Discovery & Observability Platform — Command-Line Interface</strong>
8
+ <strong>AI-Native API Behavior Testing, Discovery & Simulation Platform</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- <em>Scan backend source code → Extract behavioral models → Synthesize & run stateful AI workflows → Inspect visual traces</em>
12
+ <em>Zero-config static source scanning → Behavioral model graph → Automated API simulations & Visual Traces</em>
13
13
  </p>
14
14
 
15
15
  <p align="center">
16
- <a href="#-key-features">Features</a> •
17
- <a href="#-how-jetic-works">How It Works</a> •
18
- <a href="#-getting-started">Getting Started</a> •
19
- <a href="#-cli-command-reference">CLI Reference</a> •
20
- <a href="#-jetic-studio-dashboard">Jetic Studio</a> •
21
- <a href="#-artifact--file-schemas">File Schemas</a>
16
+ <a href="#-quickstart">Quickstart</a> •
17
+ <a href="#-the-4-phase-workflow">4-Phase Workflow</a> •
18
+ <a href="#-ai-ide-integration-mcp">AI IDE Setup</a> •
19
+ <a href="#-cli-commands">CLI Reference</a> •
20
+ <a href="#-jetic-studio">Jetic Studio</a>
22
21
  </p>
23
22
 
24
23
  <p align="center">
25
24
  <a href="https://www.npmjs.com/package/jetic-cli"><img src="https://img.shields.io/npm/v/jetic-cli.svg" alt="NPM Version"></a>
26
25
  <img src="https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen" alt="Node Version">
27
- <img src="https://img.shields.io/badge/pnpm-%3E%3D9.0.0-orange" alt="PNPM Workspace">
28
26
  <img src="https://img.shields.io/badge/AST-ts--morph-blueviolet" alt="ts-morph">
29
27
  <img src="https://img.shields.io/badge/license-ISC-green.svg" alt="License">
30
28
  </p>
31
29
 
32
30
  ---
33
31
 
34
- ## ⚡ The Problem
32
+ ## ⚡ Quickstart
35
33
 
36
- Traditional API testing tools (Postman, Insomnia, generic test runners) force developers to manually write hundreds of repetitive test scripts, hardcode authorization tokens, guess parameter validation limits, and painstakingly string together sequential operations (*Register User → Login → Save Token → Create Resource → Update Resource → Delete Resource*).
37
-
38
- Furthermore, conventional HTTP runners only check if an endpoint returns a `200 OK`. They do **not** understand what your API is actually *supposed* to do, what business constraints govern your handlers, or how state flows across endpoint boundaries.
39
-
40
- ---
41
-
42
- ## 💡 The Jetic Solution
43
-
44
- **`jetic-cli`** is an agentic, code-native developer platform that **automatically understands, models, simulates, and traces an application's API behavior directly from its backend source code.**
45
-
46
- 1. 🔍 **Zero-Execution Source Code Scanning**: Jetic parses your TypeScript/Express Abstract Syntax Tree (AST via `ts-morph`) without running your server. It follows imports across controllers, services, middleware, and type declarations to discover routes, parameters, validation constraints, and auth schemes.
47
- 2. 🧠 **Declarative Behavioral Graph (`model.json`)**: Generates a versioned, strongly-typed behavioral graph mapping paths, HTTP methods, request schemas, response shapes, and exact source code provenance (file + line numbers).
48
- 3. 🤖 **AI-Driven Stateful Workflow Generation**: Uses AI to synthesize multi-step, end-to-end user journeys (`.jetic/workflows/*.json`).
49
- 4. 💾 **Pre/Post State Capture & Dynamic Injection**: Captures input parameters (like faker-generated email/password) before HTTP calls and response fields (like JWT tokens and resource IDs via JSONPath) after HTTP calls into `.jetic/memory.json`, automatically injecting them into subsequent headers (e.g. `Authorization: Bearer {{workflow:accessToken}}`) or body fields.
50
- 5. 📈 **Embedded Jetic Studio Dashboard**: Serves the local developer web IDE via `jetic dev` for visual API exploration, AST source code viewing, real-time SSE workflow execution, runtime memory editing, and ReactFlow trace graph visualizer.
51
-
52
- > [!NOTE]
53
- > **Framework & Language Support**: Automated AST source code scanning currently supports **Node.js & Express (TypeScript)** projects.
54
- > For backends built with other languages or frameworks (e.g., Python/FastAPI, Go, Rust, Java, NestJS), you can manually add and manage endpoints directly inside **Jetic Studio** on the **Behavioral Model** page (`/model`) using the **"Add Endpoint"** button.
55
-
56
- ---
57
-
58
- ## ✨ Key Features
59
-
60
- - 🔍 **AST Source Discovery**: Deeply inspects Express/TypeScript source code using `ts-morph`. Recursively resolves imported controllers, services, helpers, and types up to configurable depths.
61
- - 🧩 **Nested Router & Middleware Resolution**: Seamlessly flattens complex nested Express router chains (e.g. `app.use('/api/orders', ordersRouter)` $\rightarrow$ `router.post('/checkout')`).
62
- - 🧠 **Constraint & Business Logic Extraction**: Extracts validation logic directly from `if` statements (e.g. `if (password.length < 8)` $\rightarrow$ `minLength: 8`) and schema definitions, enabling intelligent data generation rather than blind fuzzing.
63
- - 🔗 **Stateful Workflow Engine**: Synthesizes and executes multi-step workflows with full variable interpolation, auto-generating dynamic test data via `@faker-js/faker`.
64
- - 📥 **Input & Output Memory Capture**:
65
- - `captureInput`: Saves generated request body values (e.g. `admin_email`) to `.jetic/memory.json` *before* firing requests so subsequent steps can reuse them.
66
- - `capture`: Saves response JSONPath fields (e.g. `data.accessToken`, `data.workspace.id`) to `.jetic/memory.json` *after* success.
67
- - `inject`: Automatically injects memory values into headers (e.g. `header:Authorization = Bearer {{workflow:accessToken}}`) or body fields.
68
- - 🖥️ **Jetic Studio Dashboard**: Modern React 19 + Vite + TailwindCSS + ReactFlow local developer web IDE (`jetic dev`) for visual API exploration, AST source code viewing, real-time SSE workflow execution, runtime memory editing, and node-graph trace debugging.
69
- - 💻 **Feature-Rich CLI Command Suite**: Lightweight command-line interface bringing API intelligence, scanning, simulation, memory control, and config management straight to your terminal.
70
-
71
- ---
72
-
73
- ## ⚙️ How Jetic Works
74
-
75
- ```
76
- ┌────────────────────────┐
77
- │ Backend Source Code │ (TypeScript / Express)
78
- └───────────┬────────────┘
79
- │
80
- ▼
81
- ┌────────────────────────┐
82
- │ packages/scanner │ (AST parsing via ts-morph & ImportResolver)
83
- └───────────┬────────────┘
84
- │
85
- ▼
86
- ┌────────────────────────┐
87
- │ .jetic/model.json │ (Behavioral Model: Endpoints, Schemas, Constraints, Auth, Source Provenance)
88
- └───────────┬────────────┘
89
- │
90
- ┌──────┴───────────────────────────┐
91
- ▼ ▼
92
- ┌──────────────┐ ┌────────────────────────┐
93
- │ jetic scan │ │ jetic simulate │ (Single-endpoint or AI Workflows)
94
- └──────────────┘ └───────────┬────────────┘
95
- │
96
- ┌────────────────────┴───────────────────┐
97
- ▼ ▼
98
- ┌─────────────────────────┐ ┌────────────────────────┐
99
- │ .jetic/memory.json │ │ Jetic Studio │
100
- │ (Capture & Inject State)│ │ (/traces Observability)│
101
- └─────────────────────────┘ └────────────────────────┘
102
- ```
103
-
104
- 1. **Scan (`jetic scan`)**: `ExpressScanner` and `ImportResolver` inspect your project root and `tsconfig.json`. They extract route paths, parameters, middleware chains, controller logic, and TypeScript types.
105
- 2. **Model (`.jetic/model.json`)**: Normalizes scanner output into a strongly typed `BehavioralModel` containing endpoint metadata, discovered constraints, expected request/response schemas, security schemes, and source references (`routes/auth.ts:42`).
106
- 3. **Synthesize Workflows (`jetic simulate workflow`)**: AI analyzes `model.json` to create end-to-end integration workflows. Step dependencies, input/output captures, and header injections are configured automatically.
107
- 4. **Run & Capture / Inject**: The simulator engine executes requests step-by-step. `captureInput` saves faker credentials pre-flight, `capture` reads response JSONPath fields post-flight, and `inject` dynamically constructs request headers/bodies for downstream steps.
108
- 5. **Trace & Observe**: Results are persisted as execution trace records and rendered in **Jetic Studio** (`/traces`) as an interactive ReactFlow node graph.
109
-
110
- ---
111
-
112
- ## 🚀 Getting Started
113
-
114
- ### Prerequisites
115
-
116
- - **Node.js**: `v20.0.0` or higher
117
- - **pnpm** / **npm** / **yarn**
118
-
119
- ### Installation
120
-
121
- Install `jetic-cli` globally via npm:
34
+ Get started in under **60 seconds** — **no AI keys or third-party provider setup required**.
122
35
 
36
+ ### 1. Install globally
123
37
  ```bash
124
38
  npm install -g jetic-cli
125
39
  ```
126
40
 
127
- Or run directly using `npx`:
128
-
41
+ ### 2. Initialize & Scan your backend
42
+ Navigate to your backend project directory (e.g., Express + TypeScript):
129
43
  ```bash
130
- npx jetic-cli --help
131
- ```
132
-
133
- > [!NOTE]
134
- > **Package Name vs Executable Command**: The CLI package is published on NPM as **`jetic-cli`** (`npm install -g jetic-cli`). Once installed, npm registers the **`jetic`** binary executable command in your system `PATH` so you can directly run `jetic init`, `jetic scan`, `jetic dev`, etc.
135
-
136
- ### Quickstart
137
-
138
- Navigate to your TypeScript/Express backend directory:
139
-
140
- ```bash
141
- # 1. Initialize Jetic workspace directory (.jetic/)
44
+ # Scaffold .jetic/ directory
142
45
  jetic init
143
46
 
144
- # 2. Configure AI credentials for workflow generation (OpenRouter or OpenAI)
145
- # Windows PowerShell: $env:OPENROUTER_API_KEY="your-key"
146
- # Linux/macOS: export OPENROUTER_API_KEY="your-key"
147
- jetic config ai --provider openrouter --model anthropic/claude-3.5-sonnet --key-env OPENROUTER_API_KEY
148
-
149
- # 3. Scan source code and generate .jetic/model.json
47
+ # Static AST scan of backend source code to build .jetic/model.json
150
48
  jetic scan
151
-
152
- # 4. Inspect discovered API model and AST source code provenance
153
- jetic inspect
154
-
155
- # 5. Run AI workflow simulation against live local backend
156
- jetic simulate workflow --goal "Admin registers workspace, logs in, creates class and logs out"
157
-
158
- # 6. Launch Jetic Studio local web dashboard
159
- jetic dev
160
49
  ```
161
50
 
162
- ---
163
-
164
- ## 💻 CLI Command Reference
165
-
166
- ### `jetic init`
167
- Initializes a `.jetic/` directory in the current working directory with a default `config.json`.
168
-
51
+ ### 3. Launch Jetic Studio or connect your AI IDE
169
52
  ```bash
170
- jetic init
171
- ```
172
-
173
- ---
174
-
175
- ### `jetic scan`
176
- Parses backend source code (via `tsconfig.json` and AST resolution), extracts endpoints, schemas, constraints, and source provenance, and writes `.jetic/model.json`.
177
-
178
- ```bash
179
- jetic scan
180
- ```
181
-
182
- ---
183
-
184
- ### `jetic inspect`
185
- Displays summary metrics or deep inspection details for discovered API endpoints.
186
-
187
- ```bash
188
- # Display project summary (endpoint count, methods breakdown, security rules)
189
- jetic inspect
190
-
191
- # Inspect a specific endpoint (shows AST source provenance, parameters, response schema)
192
- jetic inspect endpoint GET /api/orders/:id
193
- ```
194
-
195
- ---
196
-
197
- ### `jetic simulate endpoint`
198
- Simulates single endpoints or the entire API model against a target environment server using generated data.
199
-
200
- ```bash
201
- # Simulate all endpoints in model.json
202
- jetic simulate endpoint --all
203
-
204
- # Simulate a specific endpoint with detailed response logs
205
- jetic simulate endpoint POST /api/auth/login --verbose
206
-
207
- # Run simulations against a specific environment defined in model.json
208
- jetic simulate endpoint --all --env staging
209
- ```
210
-
211
- ---
212
-
213
- ### `jetic simulate workflow`
214
- Generates and executes multi-step AI-driven workflow integration tests with automatic state capture and header injection.
215
-
216
- ```bash
217
- # Generate and run an AI workflow for a custom natural-language goal
218
- jetic simulate workflow --goal "User signs up, verifies email, creates project, and invites member"
219
-
220
- # List all saved workflows in .jetic/workflows/
221
- jetic simulate workflow --list
222
-
223
- # Execute an existing workflow JSON file
224
- jetic simulate workflow --workflow .jetic/workflows/user-onboarding.json
225
-
226
- # Generate workflow JSON without running HTTP requests
227
- jetic simulate workflow --goal "Create order and pay" --generate-only
228
-
229
- # Clear runtime memory before executing
230
- jetic simulate workflow --workflow .jetic/workflows/user-onboarding.json --clear-memory
231
- ```
232
-
233
- ---
234
-
235
- ### `jetic dev`
236
- Starts the **Jetic Studio** backend API server and serves the local web dashboard interface.
237
-
238
- ```bash
239
- # Launch Jetic Studio on default port 8787
53
+ # Option A: Launch the visual developer dashboard (http://localhost:8787)
240
54
  jetic dev
241
55
 
242
- # Launch Jetic Studio on a custom port
243
- jetic dev --port 9000
56
+ # Option B: Run MCP server for AI IDE assistant (Cursor, Antigravity, VS Code, opencode)
57
+ jetic mcp
244
58
  ```
245
59
 
246
60
  ---
247
61
 
248
- ### `jetic memory`
249
- Views and manages key-value entries stored in `.jetic/memory.json`.
250
-
251
- ```bash
252
- # List all stored memory keys and values across scopes
253
- jetic memory list
254
-
255
- # Get value for a key (defaults to global scope or specify scope:key)
256
- jetic memory get workflow:accessToken
257
-
258
- # Set a key-value entry
259
- jetic memory set workflow:accessToken "eyJhbGciOi..."
62
+ ## 🔄 The 4-Phase Workflow
260
63
 
261
- # Delete a key
262
- jetic memory delete workflow:accessToken
64
+ Jetic operates on a strict, predictable 4-phase lifecycle for total model fidelity:
263
65
 
264
- # Clear all stored memory
265
- jetic memory clear
266
66
  ```
267
-
268
- ---
269
-
270
- ### `jetic config`
271
- Configures AI providers, API key environment variables, and project settings.
272
-
273
- ```bash
274
- # Interactively or explicitly configure AI provider settings
275
- jetic config ai --provider openrouter --model anthropic/claude-3.5-sonnet --key-env OPENROUTER_API_KEY
276
-
277
- # View current configuration
278
- jetic config list
67
+ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
68
+ │ 1. INITIALIZE │ ──► │ 2. SCAN & MODEL │ ──► │ 3. VERIFY │ ──► │ 4. SIMULATE │
69
+ │ (jetic init) │ │ (jetic scan) │ │ (jetic verify) │ │ (jetic simulate)│
70
+ └─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘
279
71
  ```
280
72
 
281
- ---
282
-
283
- ### `jetic upgrade`
284
- Checks for updates and upgrades Jetic dependencies across the workspace.
285
-
286
- ```bash
287
- jetic upgrade
288
- ```
289
-
290
- ---
291
-
292
- ## 🖥️ Jetic Studio Dashboard
293
-
294
- **Jetic Studio** (`jetic dev`) is a sleek, dark-mode local web application designed specifically for visual API discovery, source provenance checking, AI workflow debugging, runtime memory control, and visual trace observability.
295
-
296
- ---
297
-
298
- ### 1. 📊 Workspace Overview (`/overview`)
299
- The command center for your API model. Provides high-level metrics, endpoint distribution charts, security posture summaries, and quick links to recently discovered routes and workflow runs.
300
-
301
- - **Key Highlights**: Endpoint totals, method breakdown bar, secured route percentages, recent endpoint shortcuts, active workflow list, and top memory keys preview.
302
-
303
- ![Jetic Studio - Workspace Overview](../../screenshots/jetic_overview.JPG)
73
+ 1. **Phase 1 — Initialize (`jetic init`)**: Scaffolds the `.jetic/` directory and empty `model.json` in your project root.
74
+ 2. **Phase 2 — Scan & Model (`jetic scan`)**: Keyless AST scan parses routes, controllers, middleware, and TypeScript interfaces. For non-Express backends (FastAPI, Go, NestJS), endpoints can be added manually or via MCP.
75
+ 3. **Phase 3 — Verify (`jetic_verify_model`)**: Validates model structure and ensures all fields (descriptions, tags, parameter/response details) are complete and error-free.
76
+ 4. **Phase 4 — Simulate (`jetic simulate`)**: Executes multi-step workflows with dynamic state capture (`captureInput` / `capture`) and header injection (`Authorization: Bearer {{workflow:token}}`).
304
77
 
305
78
  ---
306
79
 
307
- ### 2. 🧩 Behavioral Model (`/model`)
308
- Interactive visual explorer for `.jetic/model.json`.
309
-
310
- - **Key Highlights**: HTTP method filtering (GET, POST, PUT, DELETE, PATCH), full-text search, request/response schema inspection cards, security badges (JWT, Bearer, API Keys), middleware lists, environment switcher, and instant **Inspect** trigger buttons.
311
- - **Manual Endpoint Creation ("Add Endpoint")**: For non-Express/TypeScript projects or custom routes, click the **"Add Endpoint"** button to manually define HTTP methods, paths, parameters, schemas, and authentication requirements directly from the interface.
312
-
313
- ![Jetic Studio - Behavioral Model](../../screenshots/jetic_model_list.JPG)
314
-
315
- ![Jetic Studio - Add Endpoint Modal Placeholder](../../screenshots/jetic_add_endpoint.JPG)
316
-
317
- ---
80
+ ## 🤖 AI IDE Integration (MCP)
318
81
 
319
- ### 3. 🔬 Endpoint Inspect (`/inspect`)
320
- Deep-dive inspection page for any single API endpoint.
82
+ Jetic comes with a built-in **Model Context Protocol (MCP)** server so your editor's AI assistant (opencode, Antigravity, Cursor, Claude Code, VS Code) can manage your API model directly — **using your editor's own model with no API keys**.
321
83
 
322
- - **Key Highlights**:
323
- - **AST Source Code Viewer**: Live preview of the backend handler source code centered on the exact line number (e.g. `routes/orders.ts:42`).
324
- - **Related Files Navigator**: Automatically parses imports to show connected controllers, services, and type declaration files.
325
- - **Schema Explorer**: Field-by-field breakdown of request body, query parameters, path params, response definitions, and discovered constraints.
326
- - **Interactive REST Client**: Test live endpoints directly from the browser using real or auto-generated fake data with authorization header injection.
84
+ ### Setup (e.g. `opencode.json` or Cursor `mcp.json`):
85
+ ```json
86
+ {
87
+ "mcp": {
88
+ "jetic": {
89
+ "type": "local",
90
+ "command": ["jetic", "mcp"],
91
+ "enabled": true
92
+ }
93
+ }
94
+ }
95
+ ```
96
+ *(On Windows, use `"command": ["cmd", "/c", "jetic", "mcp"]`)*
327
97
 
328
- ![Jetic Studio - Endpoint Inspect](../../screenshots/jetic_endpoint_inspect.JPG)
98
+ ### Recommended Agent Prompts:
99
+ > 1. *"Run `jetic_get_session_phase` and guide me through building the API model for this project."*
100
+ > 2. *"Scan the backend, check endpoint completeness, fill missing descriptions/tags, and run `jetic_verify_model`."*
101
+ > 3. *"What workflow or integration test would you like to simulate against local environment?"*
329
102
 
330
103
  ---
331
104
 
332
- ### 4. 💎 AI Workflow Simulations (`/simulations`)
333
- Visual AI workflow builder and step-by-step runner.
105
+ ## 💻 CLI Commands
334
106
 
335
- - **Key Highlights**:
336
- - **Goal-Based Generation**: Type any prompt (e.g. *"Admin creates workspace, invites teacher, creates class, logs out"*) to synthesize full workflow graphs.
337
- - **SSE Live Streaming**: Watch steps execute in real time via Server-Sent Events (SSE).
338
- - **Payload & Injection Inspection**: Expand steps to inspect resolved body values, injected headers (`Authorization`), expected vs actual status codes, and captured variables.
339
-
340
- ![Jetic Studio - AI Workflow Simulations](../../screenshots/jetic_smulations_expandable.JPG)
107
+ | Command | Description |
108
+ |---|---|
109
+ | `jetic init` | Scaffold `.jetic/` folder and initial configuration |
110
+ | `jetic scan` | Static AST source code scan for Express/TypeScript backends |
111
+ | `jetic inspect` | Inspect summary metrics or specific endpoint schemas in terminal |
112
+ | `jetic simulate endpoint` | Test live HTTP endpoints against local/staging server |
113
+ | `jetic simulate workflow` | Execute multi-step stateful workflows from `.jetic/workflows/` |
114
+ | `jetic dev` | Launch local **Jetic Studio** dashboard UI on port `8787` |
115
+ | `jetic memory` | View, set, or clear runtime variable memory (`.jetic/memory.json`) |
116
+ | `jetic mcp` | Start stdio MCP server for AI IDE integration |
341
117
 
342
118
  ---
343
119
 
344
- ### 5. 🗄️ Memory Inspector (`/memory`)
345
- Real-time state and key-value store inspector for `.jetic/memory.json`.
120
+ ## 🖥️ Jetic Studio
346
121
 
347
- - **Key Highlights**:
348
- - View authorization tokens (JWTs, session cookies), user credentials, resource IDs, and custom variables.
349
- - Add, edit, or delete entries across `workflow` and `global` memory scopes.
350
- - Clear state between simulation runs.
122
+ Run `jetic dev` to open the local web developer studio:
351
123
 
352
- ![Jetic Studio - Memory Inspector](../../screenshots/jetic_memory.JPG)
124
+ - **Behavioral Model (`/model`)**: Explore endpoints, request/response schemas, and AST source code lines.
125
+ - **AI Simulations (`/simulations`)**: Visual step-by-step workflow runner with real-time SSE execution logs.
126
+ - **Memory Inspector (`/memory`)**: Edit captured tokens, fake test data, and session variables.
127
+ - **Visual Traces (`/traces`)**: Interactive node-graph execution visualizer powered by ReactFlow.
353
128
 
354
129
  ---
355
130
 
356
- ### 6. 📈 Observability & Execution Traces (`/traces`)
357
- Interactive ReactFlow node-graph visualizer for workflow execution traces.
358
-
359
- - **Key Highlights**:
360
- - **Node Graph Flow**: Visualizes steps as HTTP nodes connected by variable capture memory nodes.
361
- - **Timeline Bar**: Proportional duration breakdown (ms) showing step latencies and pass/fail statuses.
362
- - **Step Detail Drawer**: Click any node to open a side drawer detailing HTTP headers (injected vs standard), raw request body, JSON response body, expected status checks, and JSONPath capture rules.
363
-
364
- ![Jetic Studio - Execution Traces](../../screenshots/jetic_traces.JPG)
365
-
366
- ---
367
-
368
- ## 📄 Artifact & File Schemas
369
-
370
- ### `.jetic/model.json` (Behavioral Model)
131
+ ## 📄 Behavioral Model Preview (`.jetic/model.json`)
371
132
 
372
133
  ```json
373
134
  {
374
135
  "version": "0.3",
375
- "generatedAt": "2026-08-30T10:00:00.000Z",
376
- "project": {
377
- "name": "express-shop",
378
- "language": "typescript",
379
- "framework": "express"
380
- },
381
- "environments": [
382
- { "name": "local", "baseUrl": "http://localhost:3000" }
383
- ],
384
- "securitySchemes": {
385
- "bearerAuth": {
386
- "type": "http",
387
- "scheme": "bearer",
388
- "obtainedFrom": {
389
- "endpoint": "POST /api/auth/login",
390
- "field": "data.accessToken"
391
- }
392
- }
393
- },
136
+ "project": { "name": "my-api", "language": "typescript", "framework": "express" },
137
+ "environments": [{ "name": "local", "baseUrl": "http://localhost:3000" }],
394
138
  "endpoints": [
395
139
  {
396
140
  "id": "post-api-auth-login",
397
141
  "method": "POST",
398
142
  "path": "/api/auth/login",
399
- "handlerName": "AuthController.login",
400
- "source": {
401
- "file": "src/routes/auth.routes.ts",
402
- "line": 14
403
- },
143
+ "description": "User authentication endpoint",
144
+ "tags": ["auth"],
404
145
  "requestBody": {
405
- "contentType": "application/json",
406
146
  "fields": {
407
- "user_email": { "type": "string", "format": "email", "required": true },
408
- "user_password": { "type": "string", "minLength": 8, "required": true }
147
+ "email": { "type": "string", "format": "email", "required": true },
148
+ "password": { "type": "string", "minLength": 8, "required": true }
409
149
  }
410
150
  },
411
151
  "responses": {
412
- "200": {
413
- "description": "Login successful",
414
- "schema": {
415
- "data.accessToken": "string",
416
- "data.user.id": "string"
417
- }
418
- }
419
- },
420
- "middleware": []
421
- }
422
- ]
423
- }
424
- ```
425
-
426
- ---
427
-
428
- ### `.jetic/workflows/admin-onboarding.json` (Workflow Definition)
429
-
430
- ```json
431
- {
432
- "name": "Admin creates workspace, creates class and logs out",
433
- "generatedAt": "2026-08-30T10:15:00.000Z",
434
- "steps": [
435
- {
436
- "name": "Admin setup workspace",
437
- "method": "POST",
438
- "path": "/api/workspaces/setup",
439
- "description": "Register workspace and initial admin credentials",
440
- "body": {
441
- "workspace_name": "{{faker.company.name}}",
442
- "admin_email": "{{faker.internet.email}}",
443
- "admin_password": "{{faker.internet.password}}"
444
- },
445
- "captureInput": {
446
- "workflow:adminEmail": "admin_email",
447
- "workflow:adminPassword": "admin_password"
448
- },
449
- "capture": {
450
- "workflow:workspaceID": "data.workspace.id"
451
- },
452
- "expectStatus": 201
453
- },
454
- {
455
- "name": "Admin login",
456
- "method": "POST",
457
- "path": "/api/auth/login",
458
- "description": "Authenticate using captured admin credentials",
459
- "body": {
460
- "user_email": "{{workflow:adminEmail}}",
461
- "user_password": "{{workflow:adminPassword}}"
462
- },
463
- "capture": {
464
- "workflow:accessToken": "data.accessToken"
465
- },
466
- "expectStatus": 200
467
- },
468
- {
469
- "name": "Create class",
470
- "method": "POST",
471
- "path": "/api/classes",
472
- "description": "Create class in workspace using Bearer token",
473
- "inject": {
474
- "header:Authorization": "Bearer {{workflow:accessToken}}"
475
- },
476
- "body": {
477
- "name": "{{faker.word.noun}} Class",
478
- "workspaceId": "{{workflow:workspaceID}}"
479
- },
480
- "expectStatus": 201
152
+ "200": { "description": "Returns JWT token", "schema": { "token": "string" } }
153
+ }
481
154
  }
482
155
  ]
483
156
  }
@@ -485,49 +158,7 @@ Interactive ReactFlow node-graph visualizer for workflow execution traces.
485
158
 
486
159
  ---
487
160
 
488
- ### `.jetic/memory.json` (Runtime State)
489
-
490
- ```json
491
- {
492
- "workflow": {
493
- "adminEmail": "admin_test_8421@example.com",
494
- "adminPassword": "Password123!",
495
- "workspaceID": "ws_98124712",
496
- "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
497
- },
498
- "global": {
499
- "baseUrl": "http://localhost:3000"
500
- }
501
- }
502
- ```
503
-
504
- ---
505
-
506
- ## 🗺️ Roadmap & Vision
507
-
508
- - [x] **Zero-Execution AST Scanner**: Deep TypeScript/Express source parser via `ts-morph` with import resolver.
509
- - [x] **Declarative Behavioral Modeling**: Versioned `.jetic/model.json` schema with source code line references.
510
- - [x] **Stateful AI Workflow Engine**: Multi-step simulation generation with `captureInput`, `capture`, and `inject`.
511
- - [x] **Jetic Studio Local Dashboard**: React 19 IDE with REST simulator, AI builder, memory editor, and ReactFlow trace visualizer (`jetic dev`).
512
- - [ ] **State-Machine Transition Testing**: Automatic state transition verification (e.g. `payment.capture()` valid when `authorized`, invalid when `refunded`).
513
- - [ ] **Security & Authorization Vulnerability Auditor**: Automatic IDOR (Insecure Direct Object Reference) and privilege escalation scenario synthesizer.
514
- - [ ] **Plugin Ecosystem SDK**: Custom extensions for GraphQL, Webhooks, gRPC, and custom LLM tool-calling agent test suites.
515
-
516
- ---
517
-
518
- ## 🤝 Contributing
519
-
520
- We welcome contributions! Please see our [CONTRIBUTING.md](../../CONTRIBUTING.md) guide for instructions on setting up your local development environment, running tests across monorepo packages, and submitting Pull Requests.
521
-
522
- ---
523
-
524
- ## 📝 License
525
-
526
- This project is licensed under the [ISC License](../../LICENSE).
527
-
528
- ---
529
-
530
161
  <p align="center">
531
- <i>Built with ❤️ by the Jetic Team. If you find Jetic useful, please consider giving us a ⭐ on GitHub!</i>
162
+ <i>Built with ❤️ by the Jetic Team.</i>
532
163
  </p>
533
164