Restructure repo into five-package AFI architecture
Mizan is an Application Framework Interface (AFI) with five
independent packages:
packages/
mizan-ast/ Language layer (source → KDL schema)
mizan-schema/ IR layer (KDL schema definition)
mizan-rpc/ Protocol layer (client gen + server adapters)
adapters/django/ ← was django/
generator/ ← was react/src/generator/
mizan-csr/ State layer (client state engine)
adapters/react/ ← was react/
mizan-ssr/ Rendering layer (server-side rendering)
Each package is independent. The adapter directories contain the
framework-specific implementations. Stub packages (ast, schema, ssr)
establish the structure for future work.
264 Django tests + 33 React tests pass from new locations.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
18
README.md
18
README.md
@@ -269,10 +269,10 @@ chat.send({ text: 'hello' })
|
||||
|
||||
```bash
|
||||
# Django unit tests
|
||||
cd django && uv sync --extra dev --extra channels && uv run pytest
|
||||
cd packages/mizan-rpc/adapters/django && uv sync --extra dev --extra channels && uv run pytest
|
||||
|
||||
# React unit tests
|
||||
cd react && npm test
|
||||
cd packages/mizan-csr/adapters/react && npm test
|
||||
|
||||
# E2E integration tests (real browser, real backend)
|
||||
docker compose -f examples/django-react-site/docker-compose.test.yml up -d
|
||||
@@ -287,10 +287,16 @@ make test-all
|
||||
|
||||
```
|
||||
mizan/
|
||||
django/ Python package (mizan)
|
||||
react/ TypeScript package (@rythazhur/mizan)
|
||||
packages/
|
||||
mizan-ast/ Language layer (source → KDL schema)
|
||||
mizan-schema/ IR layer (KDL schema definition)
|
||||
mizan-rpc/ Protocol layer (client generation + server adapters)
|
||||
adapters/django/ Django server adapter
|
||||
generator/ Codegen CLI
|
||||
mizan-csr/ State layer (client state engine + frontend adapters)
|
||||
adapters/react/ React adapter
|
||||
mizan-ssr/ Rendering layer (server-side rendering)
|
||||
examples/
|
||||
django-react-site/ E2E tests, React harness, Django backend
|
||||
django-react-site/ E2E tests + Django backend
|
||||
django-react-desktop-app/ PyWebView desktop app
|
||||
Makefile Test orchestration
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user