speclock 5.5.3 → 5.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +264 -336
- package/package.json +217 -1
- package/src/cli/index.js +858 -39
- package/src/core/auth.js +8 -0
- package/src/core/compliance.js +1 -1
- package/src/core/enforcer.js +7 -1
- package/src/core/guardian.js +78 -5
- package/src/core/hooks.js +5 -2
- package/src/core/lock-author.js +8 -0
- package/src/core/mcp-install.js +484 -0
- package/src/core/telemetry.js +685 -114
- package/src/dashboard/index.html +2 -2
- package/src/mcp/http-server.js +2 -2
- package/src/mcp/server.js +1 -1
- package/src/templates/rule-packs/fastapi.md +22 -0
- package/src/templates/rule-packs/nextjs.md +22 -0
- package/src/templates/rule-packs/node.md +22 -0
- package/src/templates/rule-packs/python.md +22 -0
- package/src/templates/rule-packs/rails.md +22 -0
- package/src/templates/rule-packs/react.md +22 -0
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
"name": "speclock",
|
|
4
4
|
|
|
5
|
-
"version": "5.5.
|
|
5
|
+
"version": "5.5.5",
|
|
6
6
|
|
|
7
7
|
"mcpName": "io.github.sgroy10/speclock",
|
|
8
8
|
|
|
@@ -232,6 +232,222 @@
|
|
|
232
232
|
|
|
233
233
|
|
|
234
234
|
|
|
235
|
+
"Database MUST stay PostgreSQL",
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
"ALWAYS use TypeScript",
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
"NEVER modify auth files",
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
"NEVER delete patient data",
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
"These rules must NEVER be violated:",
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
"DO NOT violate: No breaking changes to public API",
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
"DO NOT violate: Never modify authentication files without security review",
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
"DO NOT violate: Never commit code changes without bumping the version number. Every code change that touches src/ files requires a patch version bump before commit.",
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
"DO NOT violate: ZERO bolt.diy branding anywhere — no \"bolt\" in user-facing UI, page titles, meta tags, social previews, or marketing. Internal code references (CSS variables, artifact tags) must be migrated to vibelock namespace.",
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
"DO NOT violate: Every generated app MUST look beautiful by default — modern typography, gradient accents, micro-interactions, proper spacing, responsive design. A todo app must have a stunning landing page. No ugly scaffolds. Design quality is a core differentiator.",
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
"DO NOT violate: SpecLock MUST be automatic and invisible to non-technical users — constraints detected from natural conversation, locked silently, protection felt but not explained. Power users can see the constraint dashboard. No manual setup required.",
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
"DO NOT violate: VibeLock is NOT a Bolt clone — we are constraint-first, multilingual, and robotics-capable. Every product decision must answer: \"Does this move VibeLock closer to becoming the trusted platform for multilingual natural-language creation of apps, agents, devices, and robot behaviors?\"",
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
"DO NOT violate: Never expose SpecLock complexity to normal users — its power should be FELT (safety, continuity, nothing breaks) more than explained. No jargon, no constraint IDs, no JSON. Just trust.",
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
"DO NOT violate: Rola (robotics layer) must NOT be rushed into production before the core platform (app creation + SpecLock + multilingual + design quality) is rock solid. Stage 4 per vision timeline.",
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
"DO NOT violate: Preview experience must match or exceed Lovable/Bolt — responsive preview frames (mobile/tablet/desktop), new-tab preview, fast refresh, and eventually shareable preview links. The sandbox must feel polished and professional.",
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
"DO NOT violate: Non-technical users must NEVER need to configure a database manually. Storage must work out of the box with zero configuration.",
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
"DO NOT violate: ZERO bolt.diy code — this is a clean-room build. No copy-pasting from the fork. Fresh architecture, fresh components, fresh code. We learned our lesson from 10 hours of debugging someone else's mess.",
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
"DO NOT violate: UI must be Apple-level polished — every pixel matters. Hermes brand colors (orange-black), subtle animations, beautiful typography, perfect spacing. First impressions are critical. No ugly scaffolds, no default gray UIs. Think Lovable/Orchid level branding but with our own identity.",
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
"DO NOT violate: Auto-deploy pipeline: push to git → Railway auto-deploys → URL works. No manual railway up commands. Clean CI/CD from day one.",
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
"DO NOT violate: vibelock.in is the LIVE production domain, pointing to Railway project \"captivating-tranquility\". It runs the main branch (Remix/bolt.diy fork codebase). When anyone asks about vibelock.in, this is the codebase — NOT the v2 Next.js branch.",
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
"DO NOT violate: VibeLock v3 is a CLEAN BUILD — zero bolt.diy code. Fresh Next.js 15, fresh components, fresh architecture. No copying from the bolt.diy fork. The v3 branch starts empty.",
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
"DO NOT violate: Built-in database for user apps: Railway PostgreSQL with schema-per-project isolation. User never sees connection strings or SQL. AI auto-provisions tables. Free tier: 1 project, 100MB.",
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
"DO NOT violate: SpecLock constraint engine MUST be baked into the codebase — not an external MCP call. Port the core semantics.js logic into the v3 codebase. Auto-detect constraints from conversation, enforce on every generation.",
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
"DO NOT violate: Memory system: per-project auto-saved memory (goal, decisions, constraints, context). Stored in PostgreSQL project_memory table. Loaded into system prompt at every conversation turn. User can view/edit in Memory panel. Inspired by Claude memory + OpenClaw bootstrap injection.",
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
"DO NOT violate: Wax views must show OPEN THROUGH-HOLES at every stone position — not closed cups. You must see background through each hole. This is production jewelry CAD standard. The sketch prompt must ask for drilled through-holes, gold render must preserve them, wax must clone them exactly.",
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
"DO NOT violate: NEVER make multiple changes at once. When fixing a bug, fix ONLY that one thing. Do not refactor, do not \"improve\" unrelated code, do not touch working prompts. Test the fix before deploying. One commit per fix.",
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
"DO NOT violate: Each Hitem3D run costs ~$2 USD. NEVER deploy untested code that touches the pipeline. Test every API endpoint with curl BEFORE asking user to test. Verify response sizes, status codes, and content. The user's time and money are at stake — treat every deploy as production.",
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
"DO NOT violate: The /api/refine endpoint response must NOT exceed 5MB total JSON size. If GLB is larger than 3MB after decimation, return file URLs via /api/files/{filename} instead of base64. The browser WILL fail on 20MB+ JSON responses — this was proven when 16MB GLB caused \"Failed to fetch\".",
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
"DO NOT violate: Always call `speclock_session_briefing` at start of session and `speclock_session_summary` before ending.",
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
"NEVER VIOLATE: No breaking changes to public API",
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
"NEVER VIOLATE: Never modify authentication files without security review",
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
"NEVER VIOLATE: Never commit code changes without bumping the version number. Every code change that touches src/ files requires a patch version bump before commit.",
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
"NEVER VIOLATE: ZERO bolt.diy branding anywhere — no \"bolt\" in user-facing UI, page titles, meta tags, social previews, or marketing. Internal code references (CSS variables, artifact tags) must be migrated to vibelock namespace.",
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
"NEVER VIOLATE: Every generated app MUST look beautiful by default — modern typography, gradient accents, micro-interactions, proper spacing, responsive design. A todo app must have a stunning landing page. No ugly scaffolds. Design quality is a core differentiator.",
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
"NEVER VIOLATE: SpecLock MUST be automatic and invisible to non-technical users — constraints detected from natural conversation, locked silently, protection felt but not explained. Power users can see the constraint dashboard. No manual setup required.",
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
"NEVER VIOLATE: VibeLock is NOT a Bolt clone — we are constraint-first, multilingual, and robotics-capable. Every product decision must answer: \"Does this move VibeLock closer to becoming the trusted platform for multilingual natural-language creation of apps, agents, devices, and robot behaviors?\"",
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
"NEVER VIOLATE: Never expose SpecLock complexity to normal users — its power should be FELT (safety, continuity, nothing breaks) more than explained. No jargon, no constraint IDs, no JSON. Just trust.",
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
"NEVER VIOLATE: Rola (robotics layer) must NOT be rushed into production before the core platform (app creation + SpecLock + multilingual + design quality) is rock solid. Stage 4 per vision timeline.",
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
"NEVER VIOLATE: Preview experience must match or exceed Lovable/Bolt — responsive preview frames (mobile/tablet/desktop), new-tab preview, fast refresh, and eventually shareable preview links. The sandbox must feel polished and professional.",
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
"NEVER VIOLATE: Non-technical users must NEVER need to configure a database manually. Storage must work out of the box with zero configuration.",
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
"NEVER VIOLATE: ZERO bolt.diy code — this is a clean-room build. No copy-pasting from the fork. Fresh architecture, fresh components, fresh code. We learned our lesson from 10 hours of debugging someone else's mess.",
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
"NEVER VIOLATE: UI must be Apple-level polished — every pixel matters. Hermes brand colors (orange-black), subtle animations, beautiful typography, perfect spacing. First impressions are critical. No ugly scaffolds, no default gray UIs. Think Lovable/Orchid level branding but with our own identity.",
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
"NEVER VIOLATE: Auto-deploy pipeline: push to git → Railway auto-deploys → URL works. No manual railway up commands. Clean CI/CD from day one.",
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
"NEVER VIOLATE: vibelock.in is the LIVE production domain, pointing to Railway project \"captivating-tranquility\". It runs the main branch (Remix/bolt.diy fork codebase). When anyone asks about vibelock.in, this is the codebase — NOT the v2 Next.js branch.",
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
"NEVER VIOLATE: VibeLock v3 is a CLEAN BUILD — zero bolt.diy code. Fresh Next.js 15, fresh components, fresh architecture. No copying from the bolt.diy fork. The v3 branch starts empty.",
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
"NEVER VIOLATE: Built-in database for user apps: Railway PostgreSQL with schema-per-project isolation. User never sees connection strings or SQL. AI auto-provisions tables. Free tier: 1 project, 100MB.",
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
"NEVER VIOLATE: SpecLock constraint engine MUST be baked into the codebase — not an external MCP call. Port the core semantics.js logic into the v3 codebase. Auto-detect constraints from conversation, enforce on every generation.",
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
"NEVER VIOLATE: Memory system: per-project auto-saved memory (goal, decisions, constraints, context). Stored in PostgreSQL project_memory table. Loaded into system prompt at every conversation turn. User can view/edit in Memory panel. Inspired by Claude memory + OpenClaw bootstrap injection.",
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
"NEVER VIOLATE: Wax views must show OPEN THROUGH-HOLES at every stone position — not closed cups. You must see background through each hole. This is production jewelry CAD standard. The sketch prompt must ask for drilled through-holes, gold render must preserve them, wax must clone them exactly.",
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
"NEVER VIOLATE: NEVER make multiple changes at once. When fixing a bug, fix ONLY that one thing. Do not refactor, do not \"improve\" unrelated code, do not touch working prompts. Test the fix before deploying. One commit per fix.",
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
"NEVER VIOLATE: Each Hitem3D run costs ~$2 USD. NEVER deploy untested code that touches the pipeline. Test every API endpoint with curl BEFORE asking user to test. Verify response sizes, status codes, and content. The user's time and money are at stake — treat every deploy as production.",
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
"NEVER VIOLATE: The /api/refine endpoint response must NOT exceed 5MB total JSON size. If GLB is larger than 3MB after decimation, return file URLs via /api/files/{filename} instead of base64. The browser WILL fail on 20MB+ JSON responses — this was proven when 16MB GLB caused \"Failed to fetch\".",
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
"NEVER VIOLATE: Always call `speclock_session_briefing` at start of session and `speclock_session_summary` before ending.",
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
"Always call `speclock_session_briefing` at start of session and `speclock_session_summary` before ending.",
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
|
|
235
451
|
"The /api/refine endpoint response must NOT exceed 5MB total JSON size. If GLB is larger than 3MB after decimation, return file URLs via /api/files/{filename} instead of base64. The browser WILL fail on 20MB+ JSON responses — this was proven when 16MB GLB caused \"Failed to fetch\".",
|
|
236
452
|
|
|
237
453
|
|