Framework philosophy ¶
Cicadel aims to bring Django’s structure and development speed to Go, with an AI-first workflow, modern components and Go’s compiled runtime.
Predictable application structure ¶
Projects own settings and app registration. Apps group routes, handlers, models and components. Explicit Go values make the application understandable to both developers and coding agents.
AI-first authoring ¶
Application guides should show working code, concise explanations, and prompts that an agent can act on. Versioned Markdown and llms.txt provide the same application guidance without requiring an agent to extract it from a webpage.
Reusable applications ¶
Official and third-party installable apps use the same public contracts. First-party capabilities form Cicadel’s core defaults, composed through those installable contracts. Separate Go modules describe packaging and distribution; they do not make the framework’s capabilities optional extras.
Each capability has one canonical implementation and workflow, integrated into standard project scaffolding, commands, documentation and checks. Superseded implementations must be consolidated with a migration path that preserves application data and recorded history. An unused implementation in core or a competing installable workflow is an integration gap, not a supported architectural choice.
The standard project composes accounts and formsets, and its management commands provide model migrations and typed query generation. Migration execution, verification and recovery share the recorded-history runner.
Typed, server-rendered UI ¶
Components use typed Go props and explicit slots, authored in .templ. Tailwind is the default stylesheet workflow. Applications can choose another CSS system.
Clear boundaries ¶
PostgreSQL is the supported database. GORM handles runtime queries; recorded migrations own schema history. Public APIs remain experimental until a stable release.
This page explains framework choices. To build an application, start with the tutorial or the application LLM index.