Using the workspace
Architecture blueprints
Choose a known architecture such as Next.js, Laravel, Django or a modular monolith, so every agent on every model builds your project the same way.
A blueprint describes how a kind of project is built: its folder structure, conventions, testing approach and commands. The project's blueprint goes into the instructions of every agent that works on it. A cheap model and a frontier model then follow the same structure, and nothing drifts between sessions.
The blueprint says how to build. The verification gate proves the result works.
Choosing a blueprint
- New project. After you create it, Duscode asks which architecture to use, then Dus creates the project with that stack's official starter.
- Existing project. Duscode detects likely blueprints and asks you to confirm, for example This looks like a Django project. Click Use, Choose another, or Not now. Duscode never applies a blueprint without asking you.
- Later. Click the project's name in the top bar, choose Project details, and click Architecture.
The picker has a search box, groups by category, and badges for Detected, Recommended, Popular and Current. Each blueprint shows its Structure, Conventions and Testing.
Changing the architecture
Changing the blueprint of a project that already has one asks first. Ask Dus for a migration plan now is ticked by default, so Dus proposes how to move the code over before anything changes.
Available blueprints
★ marks the recommended pick in each category.
| Category | Blueprints |
|---|---|
| Full-stack | Next.js + NestJS monorepo ★ · Next.js (App Router) ★ · Laravel ★ · Django ★ · Ruby on Rails · SvelteKit · Nuxt |
| Frontend | React + Vite (SPA) ★ · Vue 3 + Vite · Angular |
| Backend | NestJS ★ · FastAPI ★ · Spring Boot ★ · Go service (standard layout) ★ · Express (layered) · Flask · CodeIgniter 4 · Symfony · ASP.NET Core · Rust (Axum) |
| Mobile | React Native (Expo) ★ · Flutter |
| Architecture patterns | Modular monolith ★ · Clean / Hexagonal architecture · Classic MVC |
Architecture patterns combine with any stack.
What a blueprint provides
- Structure. Where things go, for example modules, routes, components and tests.
- Conventions. Naming, layering and the framework's own idioms.
- Testing. How tests are written and run.
- Commands for dev, test, lint and typecheck. They're used for the gate when there's no
package.json, and for the preview when nothing else matches.
Whatever the blueprint, Dus also follows general engineering standards: comments that explain why, doc comments on public APIs, tests with changes, and secure defaults.
The choice is saved as "blueprint" in the project's .duscode/config.json.