Get started
Building without code
Describe what you want and Dus does the engineering. It makes the technical decisions, checks its own work and asks you only about money, publishing, real people, data and product choices.
You don't need to be an engineer to build with Duscode. Choose I describe what I want the first time you open it (or in Settings → General → How you work), and Dus works the way a senior engineer works for a founder: it makes the engineering decisions itself, checks its own work, and brings you only the decisions that are truly yours, in plain words, with its recommendation.
This is called Builder. If you'd rather see every step, diff and command, choose I build with code (Engineer) instead. You can switch any time.
What Dus decides on its own
Everything technical: which libraries to use, how to structure the code, installing the project's packages, running the tests, building the app, starting it, saving snapshots of the work. When something technical goes wrong (a missing package, a port already in use, a failing build) Dus fixes it without asking.
Each of these steps is:
- recorded in the session's activity log (Project details → Session → Activity);
- undoable: every task ends with Undo everything from this task, which puts every file back as it was.
Some technical steps are riskier: adding a package the project doesn't use yet, changing files outside the project, or talking to a website Dus doesn't know. Before those, an independent safety reviewer checks the step. It is a separate AI that sees only what you asked for and the one step, never the rest of the conversation, so nothing Dus read along the way can talk it round. It blocks anything that would send your code or data away, look for passwords, delete things outside the project, weaken security, or that your request doesn't need. Dus is never allowed to work around a block.
If the reviewer blocks three steps in a row, or ten of the last fifty, Dus stops the task and tells you why in plain words. That usually means the task needs something only you can allow.
What Dus asks you
Dus asks you, every time, before it:
| For example | |
|---|---|
| Spends money | a paid service, a bigger plan, a domain, raising the budget |
| Publishes | putting your app live, publishing code or a package, anything public |
| Reaches real people | sending emails, messages or posts |
| Touches real data | your live database, your customers' data, deleting anything outside the project |
| Accepts legal terms | licences and terms of service |
| Uses accounts or keys | signing in to a service, creating an account, entering a key |
| Shares data | sending data to another company, reading a file that holds passwords |
| Makes a product choice | anything with no clear right answer, such as whether new users must verify their email |
Each question is a card with:
- What Dus wants to do, and why.
- What happens if you say yes, and if you say no.
- The cost, when there is one.
- Whether it can be undone.
- Dus's recommendation, as the main button (for example Yes, publish or Not yet).
The command or the change itself is behind Details, if you want to see it.
Product questions look like this: "Should new users verify their email before signing in?" with Yes (recommended): it stops fake sign-ups first. Pick one, or answer in your own words.
Don't ask again
For publishing and accounts, a card can offer Yes, and don't ask again. That remembers this exact action for this project only (it shows in Settings → Permissions, where you can remove it). It never covers money, real data, messages, legal terms or sharing.
Ask me about important things, or everything
The button under the message box sets how much Dus asks:
- Ask me about important things (the default): Dus decides the technical steps, with the safety reviewer on the risky ones, and asks you about the decisions above.
- Ask me about everything: Dus asks before every change and command, still in plain words.
What you see
- The plan as plain steps, ticked off as Dus works.
- One quiet line while Dus works ("Working: 14 steps"). Click it to see each step.
- What works now, each with how Dus checked it ("Sign-up page works: tested in the browser"), with a screenshot when there is one.
- What's left, said plainly.
- Details under each task: the checks, the changes and the cost, if you want them.
Dus ends every task telling you what works now and what you can try. It never hands you engineering homework such as "run the tests" or "check it at three screen sizes": it does those itself, in the background when they take a while. If something on this computer stops it, it says what is blocked and that it will retry, or that Duscode's reviewer step will.
When a budget is reached, you get a card too: "Today's limit of $15 is reached ($15.37 spent)." with Raise to $30 for today, Raise the daily limit… (opens Settings → Budgets; Dus carries on as soon as you save a higher limit) or Stop for today.
When Dus needs you
Sometimes only you can provide something: an account, a key, a payment, a decision. Dus then says exactly what it needs and why, with numbered steps and the links to the right pages. Keys go into the vault through a form: Dus uses them without ever seeing them.
Deleting files
Dus can delete files without asking when it can always be undone:
- Files the project tracks come back with Undo everything from this task.
- Files it doesn't track (your
.env, uploads, local data) are kept in the trash for 30 days first. They are listed under the task with Restore, and Undo brings them back too.
Dus asks first when it matters: deleting many files at once (it says how many and where), deleting tests or checks, very large files, files that hold passwords, and any database or storage. It never deletes anything outside its own copy of the project.
What keeps this safe
- Every session except the main one works in its own copy of the project (a worktree), on its own branch.
- Undo everything from this task on every task.
- Budgets per task and per day (Budgets).
- Commands run in the OS sandbox: your passwords, keys and the rest of your computer are out of reach. Without the sandbox, even installing the project's own packages goes to the safety reviewer.
- Nothing goes live without you: publishing and deploying are always your decision.
- The safety reviewer on every risky technical step.
- Some things never happen at all, even if you approve them: passwords or keys leaving your computer, getting past a CAPTCHA, and the blocked commands.