How melkimahdali/zusantara-core works
Zusantara is a TypeScript web framework paired with an AI-assisted project-editing CLI and a project generator. Developers can create an app from a template, ask the AI to change a project with approval, then run the framework to serve file-based routes. The runtime also provides security, data, UI, and backend capabilities. Paths for unsampled subsystems are grounded in the repository tree and README; their internal call wiring is not inferred where excerpts do not establish it.
Main entry points: runtime.ts Request runtime · cli.ts Framework CLI · session.ts AI session · router.ts File router
Components 27
Developer entrypoints
- Framework CLI
packages/zusantara/src/cli.ts - Terminal UI
packages/zusantara/src/tui/app.tsx - Browser REPL
packages/zusantara/src/repl/repl.ts
AI assistant
- AI session
packages/zusantara/src/ai/session.ts - AI agent
packages/zusantara/src/ai/agent.ts - Provider chain
packages/zusantara/src/ai/chain.ts - Action approval
packages/zusantara/src/ai/approval.ts - Project tools
packages/zusantara/src/ai/tools.ts - Saved conversations
packages/zusantara/src/ai/sessions.ts
Web runtime
- App server
packages/zusantara/src/serve.ts - Request runtime
packages/zusantara/src/core/runtime.ts - File router
packages/zusantara/src/core/router.ts - Middleware
packages/zusantara/src/core/middleware.ts - Security controls
packages/zusantara/src/core/security.ts - Web sessions
packages/zusantara/src/core/session.ts - Input validation
packages/zusantara/src/core/validation.ts
App capabilities
- Authentication
packages/zusantara/src/core/auth.ts - Database integration
packages/zusantara/src/db/index.ts - UI kit
packages/zusantara/src/ui/index.ts - Jobs and cron
packages/zusantara/src/backend/jobs.ts - Email delivery
packages/zusantara/src/backend/mail.ts - File uploads
packages/zusantara/src/backend/upload.ts - Cache
packages/zusantara/src/backend/cache.ts
Project creation
- Project generator
packages/create-zusantara/src/index.ts - App templates
packages/create-zusantara/templates
Other components
- Developer
- AI providers
Connections 26
- Developer → Framework CLI: runs commands
- Developer → Project generator: creates project
- Project generator → App templates: copies template
- Framework CLI → AI session: starts AI session
- AI session → AI agent: runs tasks
- AI session → Provider chain: creates chain
- Provider chain → AI providers: requests completions
- AI session → Action approval: configures policy
- AI agent → Project tools: uses tools
- AI session → Saved conversations: loads and saves
- Framework CLI → Terminal UI: presents terminal UI
- Framework CLI → Browser REPL: offers interactive REPL
- Framework CLI → App server: starts app
- App server → Request runtime: serves requests
- Request runtime → File router: dispatches routes
- File router → Middleware: applies middleware
- Middleware → Security controls: enforces protections
- Middleware → Web sessions: installs sessions
- File router → Input validation: validates inputs
- Request runtime → Authentication: provides auth
- Request runtime → Database integration: integrates database
- Request runtime → UI kit: provides components
- Request runtime → Jobs and cron: supports background jobs
- Request runtime → Email delivery: supports email
- Request runtime → File uploads: supports uploads
- Request runtime → Cache: supports caching