Repository navigation
What's New in v0.2.0
This release delivers the complete data modeling layer and local persistence infrastructure — the backbone for ArchViber's schema-aware architecture generation.
🗄️ Schema Data Modeling (New from scratch)
- SchemaEditor — full-featured visual schema editor component with field/type/constraint editing
- Schema Linter (
schema-linter.ts) — validates schema contracts: type consistency, naming conventions, required field checks - FK Edge Utils (
fk-edge-utils.ts) — cross-service foreign key modeling; auto-generates relationship edges on the canvas - Schema Contract format finalized — canonical JSON structure for inter-service data contracts
💾 Local Storage Enhancement
- Session Storage (
session-storage.ts) — dual-write to IndexedDB + LocalStorage for resilience; auto-restore on reload - Brainstorm history now persisted across sessions
- Canvas state auto-saved at each significant action
🤖 AI Pipeline Improvements
- Brainstorm convergence — AI now detects when the requirements discussion is "complete" and auto-proposes transition to design phase
- Context Engine expanded (+139 lines) — richer context passed to LLM for more accurate architecture generation
- Skeleton Generator enhanced — generates more complete service scaffolds including data layer stubs
- Project Scanner (
project-scanner.ts) — analyzes existing codebases to pre-populate canvas with detected services/schemas
🧪 Test Coverage (28 new tests)
| Test Suite | Tests |
|---|---|
schema-linter.test.ts |
Schema validation rules |
fk-edge-utils.test.ts |
FK relationship detection |
session-storage.test.ts |
Persistence read/write/restore |
brainstorm-convergence.test.ts |
AI convergence detection |
chat-actions.test.ts |
Chat action strip/parse |
full-flow.spec.ts (E2E) |
End-to-end Playwright flow |
📦 Other
- Playwright added for E2E testing
- README updated: data modeling section, brainstorm convergence docs, session storage behavior
.env.exampleadded for easier setup
Full diff since v0.1.0: 27 files changed, +2704 / -56 lines