ai-spector 0.8.71 → 0.8.72

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.
@@ -1 +1 @@
1
- {"version":3,"file":"prototype.d.ts","sourceRoot":"","sources":["../../../src/core/operations/prototype.ts"],"names":[],"mappings":"AA4FA,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBzF;AAYD,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlF;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BrF;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FvF;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CAyFf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEnF;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAsB,oBAAoB,CACxC,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BxF;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFrF;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,GAAE,+BAAoC,GACzC,OAAO,CAAC,IAAI,CAAC,CAuBf"}
1
+ {"version":3,"file":"prototype.d.ts","sourceRoot":"","sources":["../../../src/core/operations/prototype.ts"],"names":[],"mappings":"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"}
@@ -136,11 +136,6 @@ export async function runPrototypeSetup(opts = {}) {
136
136
  await copyTree(src, dest);
137
137
  }
138
138
  }
139
- const deployScaffold = join(scaffoldProto, "deploy");
140
- const deployDest = join(prototypeRoot, "deploy");
141
- if (await pathExists(deployScaffold) && !(await pathExists(deployDest))) {
142
- await copyTree(deployScaffold, deployDest);
143
- }
144
139
  }
145
140
  const designPath = join(prototypeRoot, "DESIGN.md");
146
141
  if (opts.forceDesign || !(await pathExists(designPath))) {
@@ -1 +1 @@
1
- {"version":3,"file":"prototype.js","sourceRoot":"","sources":["../../../src/core/operations/prototype.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prototype.js","sourceRoot":"","sources":["../../../src/core/operations/prototype.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-spector",
3
- "version": "0.8.71",
3
+ "version": "0.8.72",
4
4
  "description": "Cursor-first documentation workflow: traceability graph, SRS/basic/detail design templates, and ai-spector CLI",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -338,7 +338,7 @@ npx ai-spector prototype map --strict
338
338
 
339
339
  7. User can edit `path-map.json` and re-run `prototype map` to refresh `screen-map.json`.
340
340
 
341
- Full runbook: [prototype/deploy/external-prototype-map.md](../../../../prototype/deploy/external-prototype-map.md) (in ai-spector repo: [docs/prototype/external-prototype-map.md](../../../../docs/prototype/external-prototype-map.md)).
341
+ Full runbook: [docs/prototype/external-prototype-map.md](../../../../docs/prototype/external-prototype-map.md).
342
342
 
343
343
  ## Theme selection
344
344
 
@@ -338,7 +338,7 @@ npx ai-spector prototype map --strict
338
338
 
339
339
  7. User can edit `path-map.json` and re-run `prototype map` to refresh `screen-map.json`.
340
340
 
341
- Full runbook: [prototype/deploy/external-prototype-map.md](../../../../prototype/deploy/external-prototype-map.md) (in ai-spector repo: [docs/prototype/external-prototype-map.md](../../../../docs/prototype/external-prototype-map.md)).
341
+ Full runbook: [docs/prototype/external-prototype-map.md](../../../../docs/prototype/external-prototype-map.md).
342
342
 
343
343
  ## Theme selection
344
344
 
@@ -79,9 +79,9 @@ Top-level **`defaultScreen`** is the landing entry (same shape). Web team uses `
79
79
 
80
80
  Static HTML uses a deploy-relative file path (e.g. `src/login.html`). Route patterns and param defaults live in `route-defaults.json`.
81
81
 
82
- **Already hosted elsewhere:** fill `prototype/path-map.json` with server paths, confirm with user, then `npx ai-spector prototype map` — see [external-prototype-map.md](deploy/external-prototype-map.md).
82
+ **Already hosted elsewhere:** fill `prototype/path-map.json` with server paths, confirm with user, then `npx ai-spector prototype map` — see [external-prototype-map.md](https://github.com/milky-way-66/ai-spector/blob/main/docs/prototype/external-prototype-map.md).
83
83
 
84
- **Web team:** [url-mapping-handover.md](deploy/url-mapping-handover.md) · [nginx-poc.conf](deploy/nginx-poc.conf)
84
+ **Web team:** [url-mapping-handover.md](https://github.com/milky-way-66/ai-spector/blob/main/docs/prototype/url-mapping-handover.md) · [nginx-poc.conf](https://github.com/milky-way-66/ai-spector/blob/main/docs/prototype/nginx-poc.conf)
85
85
 
86
86
  ### Review URL (web team)
87
87
 
@@ -95,4 +95,4 @@ If `reviewUrl` is missing, build:
95
95
 
96
96
  `projectId` and `deployVersion` are optional. Example flat URL: `https://poc.dev.kaopiz.com/login`.
97
97
 
98
- Full implementation guide: [url-mapping-handover.md](deploy/url-mapping-handover.md)
98
+ Full implementation guide: [url-mapping-handover.md](https://github.com/milky-way-66/ai-spector/blob/main/docs/prototype/url-mapping-handover.md)
@@ -1,225 +0,0 @@
1
- # External / hosted prototype — mapping workflow
2
-
3
- Use when the prototype **already runs on the server** (another repo, legacy build, or pre-existing deploy) and the web team only needs **`prototype/screen-map.json`**.
4
-
5
- No HTML generation, no `prototype sync`, no files in this repo required.
6
-
7
- **Web team implementation:** [url-mapping-handover.md](./url-mapping-handover.md)
8
-
9
- ---
10
-
11
- ## When to use
12
-
13
- | Situation | Use |
14
- |-----------|-----|
15
- | Prototype built elsewhere, hosted at poc.dev.kaopiz.com | **This workflow** |
16
- | Prototype generated in-repo under `prototype/src` or `prototype/dist` | `npx ai-spector prototype manifest` |
17
-
18
- ---
19
-
20
- ## Files
21
-
22
- | File | Role |
23
- |------|------|
24
- | `docs/basic-design/list-screens.md` | Screen Index — `screenId`, `displayName`, design doc links |
25
- | `prototype/path-map.json` | **Ops fills in** — deploy path per screen (input) |
26
- | `prototype/screen-map.json` | **Output for web team** — generated by CLI |
27
-
28
- Only `screen-map.json` is required for the web UI. `path-map.json` is the editable source when paths change.
29
-
30
- ---
31
-
32
- ## Agent workflow (confirm before write)
33
-
34
- ### 1. Gather inputs
35
-
36
- Ask the user:
37
-
38
- 1. **buildMode** — `static` (one HTML file per screen) or `spa` (single app, routes under `dist/…`)
39
- 2. **URL layout** — which segments apply?
40
- - `reviewHost` (required for constructed URLs), e.g. `https://poc.dev.kaopiz.com`
41
- - `projectId` (optional), e.g. `acme-crm`
42
- - `deployVersion` (optional), e.g. `1.4`
43
- - Or **`directReviewUrl: true`** when each screen is a full URL on another host
44
- 3. **Hosted paths** — for each Screen Index row:
45
- - POC path segment(s), e.g. `dist/login` or `login` (flat deploy)
46
- - Or full URL when `directReviewUrl: true`
47
-
48
- Examples:
49
-
50
- | Screen | User says | `directReviewUrl` | Example `reviewUrl` |
51
- |--------|-----------|-------------------|---------------------|
52
- | Login on POC (versioned) | `dist/login` | `false` | `https://poc.dev.kaopiz.com/acme-crm/1.4/dist/login` |
53
- | Login on POC (flat) | `login` | `false` | `https://poc.dev.kaopiz.com/login` |
54
- | Login on legacy server | `https://legacy.example.com/app/login` | `true` | same as `prototypePath` |
55
- | Order detail on POC | `dist/orders/demo-001` | `false` | `…/dist/orders/demo-001` |
56
-
57
- Paths must match [nginx deploy layout](./nginx-poc.conf) when using the versioned POC — see [url-mapping-handover.md](./url-mapping-handover.md).
58
-
59
- ### 2. Draft `path-map.json`
60
-
61
- **Versioned POC:**
62
-
63
- ```json
64
- {
65
- "schemaVersion": 1,
66
- "buildMode": "spa",
67
- "hosted": true,
68
- "reviewHost": "https://poc.dev.kaopiz.com",
69
- "projectId": "acme-crm",
70
- "deployVersion": "1.4",
71
- "defaultScreenId": "login",
72
- "prototypeBypassAuth": true,
73
- "buildDest": "dist",
74
- "screens": {
75
- "login": { "prototypePath": "dist/login" },
76
- "order-detail": { "prototypePath": "dist/orders/demo-001" }
77
- }
78
- }
79
- ```
80
-
81
- **Flat POC (no project / version):**
82
-
83
- ```json
84
- {
85
- "schemaVersion": 1,
86
- "buildMode": "spa",
87
- "hosted": true,
88
- "reviewHost": "https://poc.dev.kaopiz.com",
89
- "defaultScreenId": "login",
90
- "screens": {
91
- "login": { "prototypePath": "login" }
92
- }
93
- }
94
- ```
95
-
96
- | Field | Notes |
97
- |-------|-------|
98
- | `hosted: true` | Sets `route_exists: true` (prototype live on server, not verified locally) |
99
- | `screens` keys | Must match Screen Index `screenId` (e.g. `order-detail`) |
100
- | `prototypePath` | No leading slash; no trailing slash on SPA routes |
101
- | `projectId`, `deployVersion` | Optional — omit when URLs have no those segments |
102
-
103
- Copy from `prototype/path-map.example.json` (versioned) or `path-map.example-flat.json` (no project/version) if missing.
104
-
105
- **Direct URL mode** — prototype on another host:
106
-
107
- ```json
108
- {
109
- "schemaVersion": 1,
110
- "hosted": true,
111
- "directReviewUrl": true,
112
- "defaultScreenId": "login",
113
- "screens": {
114
- "login": { "prototypePath": "https://legacy.example.com/prototypes/login" }
115
- }
116
- }
117
- ```
118
-
119
- Each screen's `reviewUrl` will equal `prototypePath` exactly.
120
-
121
- ### 3. Preview mapping table
122
-
123
- Show the user a confirmation table **before writing**:
124
-
125
- | screenId | displayName | prototypePath | reviewUrl |
126
- |----------|-------------|---------------|-----------|
127
- | login | Login | dist/login | `https://poc.dev.kaopiz.com/acme-crm/1.4/dist/login` |
128
- | login (flat) | Login | login | `https://poc.dev.kaopiz.com/login` |
129
-
130
- Run dry-run:
131
-
132
- ```bash
133
- npx ai-spector prototype map --dry-run
134
- ```
135
-
136
- Optional CLI overrides:
137
-
138
- ```bash
139
- npx ai-spector prototype map --dry-run \
140
- --review-host https://poc.dev.kaopiz.com \
141
- --project acme-crm \
142
- --version 1.4
143
- ```
144
-
145
- (`--project` and `--version` are optional.)
146
-
147
- ### 4. User confirms → write
148
-
149
- On explicit **yes**:
150
-
151
- 1. Write `prototype/path-map.json` (if not already saved)
152
- 2. Generate screen-map:
153
-
154
- ```bash
155
- npx ai-spector prototype map --strict
156
- ```
157
-
158
- `--strict` requires every Screen Index row to have a `prototypePath`.
159
-
160
- ### 5. User corrections
161
-
162
- User edits `prototype/path-map.json` (change paths, add screens), then:
163
-
164
- ```bash
165
- npx ai-spector prototype map
166
- ```
167
-
168
- Regenerates `screen-map.json` only — does not touch hosted files on the server.
169
-
170
- ---
171
-
172
- ## Static vs SPA path examples
173
-
174
- | buildMode | projectId | deployVersion | prototypePath | Full URL |
175
- |-----------|-----------|---------------|---------------|----------|
176
- | static | acme-crm | 1.4 | `src/login.html` | `…/acme-crm/1.4/src/login.html` |
177
- | static | — | — | `src/home.html` | `…/src/home.html` |
178
- | spa | acme-crm | 1.4 | `dist/login` | `…/acme-crm/1.4/dist/login` |
179
- | spa | — | — | `login` | `…/login` |
180
-
181
- Static assets (`src/assets/…`, `dist/assets/…`) are **not** listed in the map — only **screen entry URLs**.
182
-
183
- ---
184
-
185
- ## Optional: per-screen `route_exists`
186
-
187
- Default with `hosted: true` is `route_exists: true` for all mapped screens.
188
-
189
- Override when a screen is not deployed yet:
190
-
191
- ```json
192
- "checkout": {
193
- "prototypePath": "dist/checkout",
194
- "route_exists": false
195
- }
196
- ```
197
-
198
- Web UI shows “pending” for that row ([handover doc](./url-mapping-handover.md)).
199
-
200
- ---
201
-
202
- ## Checklist
203
-
204
- - [ ] Screen Index exists (`list-screens.md`)
205
- - [ ] User provided deploy path per screen (or confirmed skip)
206
- - [ ] URL layout confirmed (`reviewHost` + optional `projectId` / `deployVersion`, or `directReviewUrl`)
207
- - [ ] `path-map.json` drafted with `hosted: true` when prototype is on server
208
- - [ ] Confirmation table shown; user said yes
209
- - [ ] `npx ai-spector prototype map --strict` succeeded
210
- - [ ] Hand off `screen-map.json` to web team ([url-mapping-handover.md](./url-mapping-handover.md))
211
-
212
- ---
213
-
214
- ## CLI reference
215
-
216
- ```bash
217
- npx ai-spector prototype map --dry-run # preview JSON, no write
218
- npx ai-spector prototype map --strict # write screen-map.json; all rows required
219
- npx ai-spector prototype map --from other/path-map.json
220
- npx ai-spector prototype map --json # JSON output + write
221
- npx ai-spector prototype map --review-host URL # override host
222
- npx ai-spector prototype map --project SLUG # optional projectId
223
- npx ai-spector prototype map --version SLUG # optional deployVersion
224
- npx ai-spector prototype map --direct-review-url # directReviewUrl mode
225
- ```
@@ -1,114 +0,0 @@
1
- # Prototype hosting — nginx config (poc.dev.kaopiz.com)
2
-
3
- # Deploy layout on disk (per project version):
4
- # /var/www/{project}/{version}/current/
5
- # src/ ← static HTML (buildMode: static)
6
- # login.html
7
- # assets/…
8
- # dist/ ← SPA build (buildMode: spa)
9
- # index.html
10
- # assets/…
11
- #
12
- # Public URL pattern (versioned layout):
13
- # https://poc.dev.kaopiz.com/{project}/{version}/{prototypePath}
14
- #
15
- # Flat layout (no project/version) is also valid — see reviewUrl in screen-map.json.
16
- #
17
- # prototypePath comes from prototype/screen-map.json (see url-mapping-handover.md).
18
-
19
- server {
20
- server_name poc.dev.kaopiz.com;
21
-
22
- # Version root — prefer SPA entry, then static index, then repo root index
23
- location ~ ^/(?<project>[^/]+)/(?<version>[^/]+)/$ {
24
- auth_basic "Restricted";
25
- auth_basic_user_file /etc/nginx/htpasswd/${project}_${version};
26
-
27
- root /var/www;
28
- try_files /$project/$version/current/dist/index.html
29
- /$project/$version/current/src/index.html
30
- /$project/$version/current/index.html =404;
31
- }
32
-
33
- location = / {
34
- root /var/www;
35
- try_files $uri $uri/ /index.html;
36
- }
37
-
38
- location ~ ^/(index\.html|favicon\.ico|robots\.txt)$ {
39
- root /var/www;
40
- }
41
-
42
- # SPA hashed assets under /assets/ (Vite default)
43
- location ~ ^/(?<project>[^/]+)/(?<version>[^/]+)/assets/(?<asset>.+\.(?:js|css|mjs|map|woff2?|ttf|eot|svg|png|jpe?g|gif|ico|webp))$ {
44
- auth_basic "Restricted";
45
- auth_basic_user_file /etc/nginx/htpasswd/${project}_${version};
46
- root /var/www;
47
- try_files /$project/$version/current/dist/assets/$asset
48
- /$project/$version/current/out/assets/$asset =404;
49
- }
50
-
51
- # SPA bundle assets (dist|out/…/file.ext or dist|out/assets/file.ext)
52
- location ~ ^/(?<project>[^/]+)/(?<version>[^/]+)/(?<bundle>dist|out)/(?:[^/]+/)*(?<asset>.+\.(?:js|css|mjs|map|woff2?|ttf|eot|svg|png|jpe?g|gif|ico|webp))$ {
53
- auth_basic "Restricted";
54
- auth_basic_user_file /etc/nginx/htpasswd/${project}_${version};
55
- root /var/www;
56
- try_files /$project/$version/current/$bundle/$asset
57
- /$project/$version/current/$bundle/assets/$asset =404;
58
- }
59
-
60
- # SPA client routes — any path under dist|out falls back to index.html
61
- location ~ ^/(?<project>[^/]+)/(?<version>[^/]+)/(?<bundle>dist|out)/?(?<route>.*?)/?$ {
62
- auth_basic "Restricted";
63
- auth_basic_user_file /etc/nginx/htpasswd/${project}_${version};
64
- root /var/www;
65
- try_files /$project/$version/current/$bundle/index.html =404;
66
- }
67
-
68
- # Static HTML pages (explicit .html under src/)
69
- location ~ ^/(?<project>[^/]+)/(?<version>[^/]+)/src/(?<page>.+\.html)$ {
70
- auth_basic "Restricted";
71
- auth_basic_user_file /etc/nginx/htpasswd/${project}_${version};
72
- root /var/www;
73
- try_files /$project/$version/current/src/$page =404;
74
- }
75
-
76
- # Static assets co-located with HTML (src/assets/, src/*.css, etc.)
77
- location ~ ^/(?<project>[^/]+)/(?<version>[^/]+)/src/(?<asset>.+)$ {
78
- auth_basic "Restricted";
79
- auth_basic_user_file /etc/nginx/htpasswd/${project}_${version};
80
- root /var/www;
81
- try_files /$project/$version/current/src/$asset =404;
82
- }
83
-
84
- # Catch-all files under project version (fallback)
85
- location ~ ^/(?<project>[^/]+)/(?<version>[^/]+)(?<rest>/.*)?$ {
86
- auth_basic "Restricted";
87
- auth_basic_user_file /etc/nginx/htpasswd/${project}_${version};
88
- root /var/www;
89
- try_files /$project/$version/current$rest =404;
90
- }
91
-
92
- listen 443 ssl;
93
- ssl_certificate /etc/letsencrypt/live/poc.dev.kaopiz.com/fullchain.pem;
94
- ssl_certificate_key /etc/letsencrypt/live/poc.dev.kaopiz.com/privkey.pem;
95
- include /etc/letsencrypt/options-ssl-nginx.conf;
96
- ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
97
- }
98
-
99
- server {
100
- if ($host = poc.dev.kaopiz.com) {
101
- return 301 https://$host$request_uri;
102
- }
103
-
104
- listen 80;
105
- server_name poc.dev.kaopiz.com;
106
-
107
- location /.well-known/acme-challenge/ {
108
- root /var/www/certbot;
109
- }
110
-
111
- location / {
112
- return 301 https://$host$request_uri;
113
- }
114
- }
@@ -1,12 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "buildMode": "spa",
4
- "hosted": true,
5
- "reviewHost": "https://poc.dev.kaopiz.com",
6
- "defaultScreenId": "login",
7
- "screens": {
8
- "login": {
9
- "prototypePath": "login"
10
- }
11
- }
12
- }
@@ -1,434 +0,0 @@
1
- # Prototype URL mapping — Web handover
2
-
3
- > **Audience:** Web team building the prototype browser / screen picker (e.g. on poc.dev.kaopiz.com).
4
- > **Input:** One JSON file — `prototype/screen-map.json` (from the project repo or release bundle).
5
- > **Output:** A list of screens; each row links to a prototype URL.
6
-
7
- ---
8
-
9
- ## Quick start
10
-
11
- 1. **Load** `screen-map.json` at build time or runtime (it is not served as a public static file — ship it with your app or fetch from your backend).
12
- 2. **Iterate** `screens[]`.
13
- 3. **Link** each row using `reviewUrl` when present (recommended). Otherwise build the URL from top-level fields (section 2).
14
- 4. **Label** with `displayName`.
15
- 5. **Disable or badge** rows where `route_exists === false` (“Prototype not ready”).
16
- 6. **Default / landing screen:** use top-level **`defaultScreen`** — open `defaultScreen.reviewUrl` (or resolve href from `defaultScreen` like any row). `defaultScreenId` is the same screen’s id for reference.
17
-
18
- You do **not** need `path-map.json`, `manifest.json`, or nginx config to build the UI — only `screen-map.json`.
19
-
20
- ---
21
-
22
- ## 1. Resolve the link (implementation)
23
-
24
- Use this logic for every screen row:
25
-
26
- ```typescript
27
- interface ScreenMap {
28
- reviewHost?: string;
29
- projectId?: string;
30
- deployVersion?: string;
31
- directReviewUrl?: boolean;
32
- defaultScreenId?: string;
33
- /** Landing screen — use for primary CTA / “Open prototype” button. */
34
- defaultScreen?: Screen;
35
- buildMode: "static" | "spa";
36
- screens: Screen[];
37
- }
38
-
39
- interface Screen {
40
- screenId: string;
41
- displayName: string;
42
- prototypePath: string;
43
- route_exists: boolean;
44
- reviewUrl?: string;
45
- screenDocPath?: string;
46
- screenDocs?: Record<string, string>; // e.g. { en: "docs/...", vi: "..." }
47
- }
48
-
49
- function resolvePrototypeHref(map: ScreenMap, screen: Screen): string | null {
50
- // 1. Pre-built URL (always prefer this)
51
- if (screen.reviewUrl?.trim()) {
52
- return screen.reviewUrl.trim();
53
- }
54
-
55
- // 2. Direct mode — prototypePath is already a full URL
56
- if (map.directReviewUrl) {
57
- return screen.prototypePath.trim();
58
- }
59
-
60
- // 3. Construct from host + optional segments + path
61
- const host = map.reviewHost?.trim();
62
- if (!host) return null;
63
-
64
- const base = host.replace(/\/$/, "");
65
- const path = screen.prototypePath.replace(/^\//, "");
66
- const segments = [map.projectId, map.deployVersion]
67
- .filter((s): s is string => Boolean(s?.trim()))
68
- .map((s) => encodeURIComponent(s!.trim()));
69
- segments.push(path);
70
- return `${base}/${segments.join("/")}`;
71
- }
72
-
73
- /** Primary prototype entry — use on landing page and “Open prototype” CTA. */
74
- function resolveDefaultPrototypeHref(map: ScreenMap): string | null {
75
- if (map.defaultScreen) {
76
- return resolvePrototypeHref(map, map.defaultScreen);
77
- }
78
- if (!map.defaultScreenId) return null;
79
- const screen = map.screens.find((s) => s.screenId === map.defaultScreenId);
80
- return screen ? resolvePrototypeHref(map, screen) : null;
81
- }
82
- ```
83
-
84
- ```javascript
85
- // Same logic in plain JS
86
- function resolvePrototypeHref(map, screen) {
87
- if (screen.reviewUrl?.trim()) return screen.reviewUrl.trim();
88
- if (map.directReviewUrl) return screen.prototypePath.trim();
89
- const host = map.reviewHost?.trim();
90
- if (!host) return null;
91
- const base = host.replace(/\/$/, "");
92
- const path = screen.prototypePath.replace(/^\//, "");
93
- const segments = [map.projectId, map.deployVersion]
94
- .filter(Boolean)
95
- .map((s) => encodeURIComponent(String(s).trim()));
96
- segments.push(path);
97
- return `${base}/${segments.join("/")}`;
98
- }
99
- ```
100
-
101
- ### Decision table
102
-
103
- | Condition | href source |
104
- |-----------|-------------|
105
- | `screen.reviewUrl` is set | Use `reviewUrl` as-is |
106
- | `directReviewUrl === true` | Use `screen.prototypePath` (must be `https://…`) |
107
- | `reviewHost` is set | `{reviewHost}/{projectId?}/{deployVersion?}/{prototypePath}` |
108
- | None of the above | No link — show “URL not configured” or hide row |
109
-
110
- **Important:** `projectId` and `deployVersion` are **optional**. Many deploys use flat URLs like `https://poc.dev.kaopiz.com/login` with no project or version segment.
111
-
112
- ### URL examples
113
-
114
- | Mode | Top-level config | `prototypePath` | Result |
115
- |------|------------------|-----------------|--------|
116
- | Full POC path | `reviewHost` + `projectId` + `deployVersion` | `dist/login` | `https://poc.dev.kaopiz.com/acme-crm/1.4/dist/login` |
117
- | Project, no version | `reviewHost` + `projectId` | `dist/login` | `https://poc.dev.kaopiz.com/acme-crm/dist/login` |
118
- | Host only | `reviewHost` only | `login` | `https://poc.dev.kaopiz.com/login` |
119
- | Static HTML | `reviewHost` + segments | `src/login.html` | `…/src/login.html` |
120
- | External host | `directReviewUrl: true` | `https://legacy.example.com/app/login` | same as `prototypePath` |
121
-
122
- ---
123
-
124
- ## 2. Build the screen picker UI
125
-
126
- ### Minimum UI
127
-
128
- | UI element | JSON source | Notes |
129
- |------------|-------------|-------|
130
- | Screen name | `displayName` | Primary label |
131
- | Open prototype | `resolvePrototypeHref(…)` | `<a href="…" target="_blank" rel="noopener">` |
132
- | Pending state | `route_exists === false` | Disable link; show badge “Pending” |
133
- | Default / home | `defaultScreen` | **Primary CTA** — use `defaultScreen.reviewUrl` or `resolvePrototypeHref(map, defaultScreen)` |
134
- | Default id (reference) | `defaultScreenId` | Same as `defaultScreen.screenId` |
135
-
136
- ### Optional UI
137
-
138
- | UI element | JSON source | Notes |
139
- |------------|-------------|-------|
140
- | Design doc link | `screenDocs[locale]` or `screenDocPath` | Link to spec viewer if you have one |
141
- | Build type hint | `buildMode` | `"static"` = one HTML file; `"spa"` = client router |
142
- | Staleness | `generatedAt` | Show “map updated …” if helpful |
143
-
144
- ### `route_exists`
145
-
146
- | Value | Meaning for web UI |
147
- |-------|-------------------|
148
- | `true` | Prototype is expected to load at the href |
149
- | `false` | Not deployed yet — do not treat as broken URL; show as pending |
150
-
151
- Do **not** infer readiness from missing `reviewUrl` alone — use `route_exists`.
152
-
153
- ### `buildMode` (opening the link)
154
-
155
- | `buildMode` | What happens when user clicks |
156
- |-------------|-------------------------------|
157
- | `static` | Browser loads one HTML file (path ends in `.html`) |
158
- | `spa` | Browser loads SPA shell; client router shows the route (no `.html` in URL) |
159
-
160
- Open in a **new tab** (`target="_blank"`). Basic auth is handled by the browser when nginx requires it — no extra headers from your app.
161
-
162
- ### Param routes
163
-
164
- Some SPA screens use demo IDs in the path, e.g. `dist/orders/demo-001`. Use `reviewUrl` / `prototypePath` **exactly as given**. Do not substitute or parse route params in the web UI.
165
-
166
- ---
167
-
168
- ## 3. JSON reference
169
-
170
- **File:** `prototype/screen-map.json`
171
-
172
- ### Top-level fields
173
-
174
- | Field | Type | Web team uses? | Description |
175
- |-------|------|----------------|-------------|
176
- | `schemaVersion` | `1` | Ignore if unknown | Schema version |
177
- | `buildMode` | `"static"` \| `"spa"` | Optional | How prototype opens |
178
- | `themeName` | string | Display only | Theme name |
179
- | `generatedAt` | string (ISO) | Optional | When map was generated |
180
- | `defaultScreenId` | string? | Reference | Id of landing screen; equals `defaultScreen.screenId` |
181
- | **`defaultScreen`** | object? | **Yes** | **Landing screen** — full row with `reviewUrl`, `displayName`, etc. |
182
- | `buildDest` | string? | Rarely | SPA output dir, usually `"dist"` |
183
- | `prototypeBypassAuth` | boolean? | No | Dev/router hint only |
184
- | `reviewHost` | string? | Fallback URLs | e.g. `https://poc.dev.kaopiz.com` |
185
- | `projectId` | string? | Fallback URLs | Optional project slug |
186
- | `deployVersion` | string? | Fallback URLs | Optional version slug |
187
- | `directReviewUrl` | boolean? | **Yes** | When true, paths are full URLs |
188
- | `screens` | array | **Yes** | Screen list |
189
-
190
- ### Per-screen fields (`screens[]`)
191
-
192
- | Field | Type | Web team uses? | Description |
193
- |-------|------|----------------|-------------|
194
- | `screenId` | string | **Yes** | Stable id; match `defaultScreenId` |
195
- | `displayName` | string | **Yes** | Label in UI |
196
- | `prototypePath` | string | Fallback URLs | Deploy path or full URL (direct mode) |
197
- | `route_exists` | boolean | **Yes** | `false` = pending |
198
- | `reviewUrl` | string? | **Yes** | **Preferred** full href |
199
- | `screenDocPath` | string | Optional | Neutral design doc path |
200
- | `screenDocs` | object? | Optional | Per-locale doc paths |
201
-
202
- Fields not listed above may appear in future schema versions — ignore unknown keys.
203
-
204
- ---
205
-
206
- ## 4. Full JSON examples
207
-
208
- ### A — SPA with project + version (typical POC)
209
-
210
- ```json
211
- {
212
- "schemaVersion": 1,
213
- "buildMode": "spa",
214
- "buildDest": "dist",
215
- "reviewHost": "https://poc.dev.kaopiz.com",
216
- "projectId": "acme-crm",
217
- "deployVersion": "1.4",
218
- "defaultScreenId": "login",
219
- "defaultScreen": {
220
- "screenId": "login",
221
- "displayName": "Login",
222
- "screenDocPath": "basic-design/screens/login.md",
223
- "prototypePath": "dist/login",
224
- "route_exists": true,
225
- "reviewUrl": "https://poc.dev.kaopiz.com/acme-crm/1.4/dist/login"
226
- },
227
- "generatedAt": "2026-06-16T00:00:00.000Z",
228
- "screens": [
229
- {
230
- "screenId": "login",
231
- "displayName": "Login",
232
- "screenDocPath": "basic-design/screens/login.md",
233
- "prototypePath": "dist/login",
234
- "route_exists": true,
235
- "reviewUrl": "https://poc.dev.kaopiz.com/acme-crm/1.4/dist/login"
236
- },
237
- {
238
- "screenId": "order-detail",
239
- "displayName": "Order Detail",
240
- "screenDocPath": "basic-design/screens/order-detail.md",
241
- "prototypePath": "dist/orders/demo-001",
242
- "route_exists": true,
243
- "reviewUrl": "https://poc.dev.kaopiz.com/acme-crm/1.4/dist/orders/demo-001"
244
- }
245
- ]
246
- }
247
- ```
248
-
249
- ### B — Host only (no project / version)
250
-
251
- ```json
252
- {
253
- "schemaVersion": 1,
254
- "buildMode": "spa",
255
- "reviewHost": "https://poc.dev.kaopiz.com",
256
- "defaultScreenId": "login",
257
- "defaultScreen": {
258
- "screenId": "login",
259
- "displayName": "Login",
260
- "screenDocPath": "basic-design/screens/login.md",
261
- "prototypePath": "login",
262
- "route_exists": true,
263
- "reviewUrl": "https://poc.dev.kaopiz.com/login"
264
- },
265
- "screens": [
266
- {
267
- "screenId": "login",
268
- "displayName": "Login",
269
- "screenDocPath": "basic-design/screens/login.md",
270
- "prototypePath": "login",
271
- "route_exists": true,
272
- "reviewUrl": "https://poc.dev.kaopiz.com/login"
273
- }
274
- ]
275
- }
276
- ```
277
-
278
- ### C — Static HTML
279
-
280
- ```json
281
- {
282
- "schemaVersion": 1,
283
- "buildMode": "static",
284
- "reviewHost": "https://poc.dev.kaopiz.com",
285
- "projectId": "acme-crm",
286
- "deployVersion": "1.4",
287
- "defaultScreenId": "login",
288
- "defaultScreen": {
289
- "screenId": "login",
290
- "displayName": "Login",
291
- "screenDocPath": "basic-design/screens/login.md",
292
- "screenDocs": {
293
- "en": "docs/basic-design/en/screens/login.md",
294
- "vi": "docs/basic-design/vi/screens/login.md"
295
- },
296
- "prototypePath": "src/login.html",
297
- "route_exists": true,
298
- "reviewUrl": "https://poc.dev.kaopiz.com/acme-crm/1.4/src/login.html"
299
- },
300
- "screens": [
301
- {
302
- "screenId": "login",
303
- "displayName": "Login",
304
- "screenDocPath": "basic-design/screens/login.md",
305
- "screenDocs": {
306
- "en": "docs/basic-design/en/screens/login.md",
307
- "vi": "docs/basic-design/vi/screens/login.md"
308
- },
309
- "prototypePath": "src/login.html",
310
- "route_exists": true,
311
- "reviewUrl": "https://poc.dev.kaopiz.com/acme-crm/1.4/src/login.html"
312
- }
313
- ]
314
- }
315
- ```
316
-
317
- ### D — External host (`directReviewUrl`)
318
-
319
- ```json
320
- {
321
- "schemaVersion": 1,
322
- "buildMode": "spa",
323
- "directReviewUrl": true,
324
- "defaultScreenId": "login",
325
- "defaultScreen": {
326
- "screenId": "login",
327
- "displayName": "Login",
328
- "screenDocPath": "basic-design/screens/login.md",
329
- "prototypePath": "https://legacy.example.com/prototypes/login",
330
- "route_exists": true,
331
- "reviewUrl": "https://legacy.example.com/prototypes/login"
332
- },
333
- "screens": [
334
- {
335
- "screenId": "login",
336
- "displayName": "Login",
337
- "screenDocPath": "basic-design/screens/login.md",
338
- "prototypePath": "https://legacy.example.com/prototypes/login",
339
- "route_exists": true,
340
- "reviewUrl": "https://legacy.example.com/prototypes/login"
341
- }
342
- ]
343
- }
344
- ```
345
-
346
- ### E — Pending screen
347
-
348
- ```json
349
- {
350
- "screenId": "checkout",
351
- "displayName": "Checkout",
352
- "screenDocPath": "basic-design/screens/checkout.md",
353
- "prototypePath": "dist/checkout",
354
- "route_exists": false
355
- }
356
- ```
357
-
358
- Show in the list but disable the link until ops regenerates the map with `route_exists: true`.
359
-
360
- ---
361
-
362
- ## 5. Implementation checklist
363
-
364
- - [ ] Load `screen-map.json` for the active project release
365
- - [ ] Implement `resolvePrototypeHref()` (section 1)
366
- - [ ] Render `screens[]` sorted by `displayName` (or your product order)
367
- - [ ] Use `reviewUrl` when present; fallback only when missing
368
- - [ ] Respect `route_exists === false` (pending badge, no link)
369
- - [ ] Landing / “Open prototype” CTA from **`defaultScreen`** (or `resolveDefaultPrototypeHref()`)
370
- - [ ] Open prototype links in new tab; rely on browser basic auth
371
- - [ ] Optional: link `screenDocs[userLocale]` to design docs
372
- - [ ] Do not rewrite SPA paths or strip `.html` on static paths
373
-
374
- ---
375
-
376
- ## 6. FAQ
377
-
378
- **How do I get the landing / default prototype URL?**
379
- Use **`defaultScreen.reviewUrl`** when present, or `resolveDefaultPrototypeHref(map)` (section 1). `defaultScreen` is the same row as in `screens[]` — you do not need to search by id unless `defaultScreen` is missing (legacy file).
380
-
381
- **Is there a `link` field?**
382
- No. Use `reviewUrl`, or build from `reviewHost` + optional segments + `prototypePath`.
383
-
384
- **Must every URL include `{project}/{version}`?**
385
- No. Omit `projectId` and/or `deployVersion` when the deploy uses flat URLs.
386
-
387
- **What if `reviewUrl` is missing but `reviewHost` is set?**
388
- Build the URL with the fallback function in section 1.
389
-
390
- **What if both are missing?**
391
- Show the screen as not linkable; check with ops that `prototype manifest` or `prototype map` was run with host config.
392
-
393
- **Trailing slashes on SPA routes?**
394
- Do not add them. Use paths exactly as in JSON (`dist/login`, not `dist/login/`).
395
-
396
- **Multiple projects on one web app?**
397
- Load one `screen-map.json` per project release. Top-level `projectId` / `deployVersion` describe that file’s URLs only.
398
-
399
- **Where does the file come from?**
400
- Dev/ops generates it (`npx ai-spector prototype manifest` or `prototype map`). You receive it via git, CI artifact, or API — not from a public POC URL.
401
-
402
- ---
403
-
404
- ## 7. Static vs SPA (reference)
405
-
406
- | | Static | SPA |
407
- |---|--------|-----|
408
- | `prototypePath` | File: `src/login.html` | Route: `dist/login` |
409
- | URL shape | Ends with `.html` | No `.html`; path is a route |
410
- | Server | Serves the HTML file | Serves `index.html`; app router handles route |
411
-
412
- ---
413
-
414
- ## 8. Deploy context (ops / infra — not required for UI code)
415
-
416
- nginx serves files under `/var/www/{projectId}/{deployVersion}/current/` when using the versioned layout. Public URL:
417
-
418
- ```text
419
- https://poc.dev.kaopiz.com/{projectId}/{deployVersion}/{prototypePath}
420
- ```
421
-
422
- Flat deploys (no project/version) are valid — the JSON `reviewUrl` values are the source of truth for your links.
423
-
424
- - nginx config: [nginx-poc.conf](./nginx-poc.conf)
425
- - Hosted / external mapping workflow: [external-prototype-map.md](./external-prototype-map.md)
426
-
427
- ### Regenerating the map (ops only)
428
-
429
- ```bash
430
- npx ai-spector prototype manifest # in-repo prototype
431
- npx ai-spector prototype map --strict # hosted / path-map workflow
432
- ```
433
-
434
- Web team consumes the updated JSON on the next deploy.