Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
823c2bb
docs(plan): add phase 6 — release and site reinvention
andyguz17 Jul 2, 2026
4c07f25
feat(web): blueprint design system, bundled fonts, and labyrinth mark
andyguz17 Jul 2, 2026
5ee373c
feat(web): rebuild the landing around the Daedalus Method
andyguz17 Jul 2, 2026
28b3866
feat(web): add the Method route and move the manual to /manual
andyguz17 Jul 2, 2026
1bdcba4
docs: remove v1 manual from the site
andyguz17 Jul 2, 2026
6449604
fix(web): replace unverifiable duration claim with neutral copy
andyguz17 Jul 2, 2026
bcf6731
docs: add command reference for init, status, doctor, update
andyguz17 Jul 2, 2026
072575d
docs: add quickstart, workflow, backlog, customization, troubleshooti…
andyguz17 Jul 2, 2026
fb1369b
docs: rewrite manual index and wire new chapters into web nav
andyguz17 Jul 2, 2026
cca53b9
docs(contributing): document the Pages SPA workflow, not the removed …
andyguz17 Jul 2, 2026
0860d02
docs: link kit METHOD/README to GitHub so they resolve in the deploye…
andyguz17 Jul 2, 2026
2ae38ca
docs(kit): complete illustrative frontmatter block in METHOD.md
andyguz17 Jul 2, 2026
49d5e86
feat(web): retheme core to Ink & Terracotta light palette
andyguz17 Jul 2, 2026
959c979
feat(web): keep terminal snippets dark on the light page
andyguz17 Jul 2, 2026
f221512
feat(web): retheme manual prose and syntax for light mode
andyguz17 Jul 2, 2026
472404c
feat(web): ink logo strokes and accurate legend keys
andyguz17 Jul 2, 2026
823bf81
docs(readme): add release, downloads, ci, stars and website badges
andyguz17 Jul 2, 2026
8595348
chore: adopt MIT license with badge and README section
andyguz17 Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Codigo de Altura

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Daedalus

<p>
<a href="https://github.com/Codigo-de-Altura/Daedalus/releases/latest"><img alt="Latest release" src="https://img.shields.io/github/v/release/Codigo-de-Altura/Daedalus?label=release&color=C05B3C"></a>
<a href="https://github.com/Codigo-de-Altura/Daedalus/releases"><img alt="Downloads" src="https://img.shields.io/github/downloads/Codigo-de-Altura/Daedalus/total?label=downloads&color=2B3A4A"></a>
<a href="https://github.com/Codigo-de-Altura/Daedalus/actions/workflows/ci.yml"><img alt="CI status" src="https://img.shields.io/github/actions/workflow/status/Codigo-de-Altura/Daedalus/ci.yml?branch=main&label=ci"></a>
<a href="https://github.com/Codigo-de-Altura/Daedalus/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/Codigo-de-Altura/Daedalus?color=2B3A4A"></a>
<img alt="Go version" src="https://img.shields.io/badge/go-1.23%2B-2B3A4A">
<a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/github/license/Codigo-de-Altura/Daedalus?color=2B3A4A"></a>
<a href="https://codigo-de-altura.github.io/Daedalus/"><img alt="Website" src="https://img.shields.io/badge/website-daedalus-C05B3C"></a>
</p>

Daedalus is an **opinionated Claude Code harness** that makes a capable-but-drifting
model work with the discipline of a senior engineer: no guessing, research before
implementing, verification with fresh eyes, state on disk, and short sessions that
Expand Down Expand Up @@ -115,4 +125,4 @@ development/ Method planning artifacts (v2 plan, benchmark) — not shi

## License

See repository for license details.
[MIT](LICENSE) — use it, adapt it, ship it. If the Method serves your team, that's the point.
9 changes: 9 additions & 0 deletions development/v2/PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,15 @@ Estado: frontmatter en cada ticket (`status`, `commit`, `verified`). `/plan` es

---

## Fase 6 — Lanzamiento *(agregada 2026-07-02, post-merge PR #20)*

- [ ] Release `v0.2.0` — tag pusheado; GoReleaser publica binarios; verificar install scripts contra el release.
- [ ] **Reinvención del sitio** (rama `feat/web-v2`): la página actual es un índice de documentos sin personalidad. Nueva dirección: identidad "Daedalus el arquitecto" (estética blueprint/plano técnico, logo meandro griego, linework), landing digerible con: hero + terminal animada, la línea de pensamiento (el problema → los 5 principios como paradigma), diagrama del ciclo de vida, walkthroughs concretos (proyecto nuevo / bug fix), prueba del benchmark, instalación por OS, página del Método. Docs completas quedan secundarias (nav "Manual"). Nada de dump de documentación.
- [ ] Golden tickets desde centavo → `kit/eval/` (cierre pendiente de Fase 4).
- [ ] Publicar el Método como página propia del sitio (el estándar adoptable).

**Done cuando:** release descargable funcionando + sitio nuevo desplegado en Pages + un tercero puede entender e instalar el tool en <5 minutos sin leer el repo.

## Reglas de trabajo entre sesiones

1. Al terminar cada sesión de construcción se actualizan los checkboxes de este archivo y se anota en `## Bitácora` qué se decidió y qué sigue.
Expand Down
109 changes: 56 additions & 53 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,61 @@
# Daedalus manual

Welcome to the Daedalus user manual. Daedalus is an **opinionated Claude Code
harness**: the kit (a constitution, skills, agents, hooks, and templates) is the
product, and the `daedalus` CLI/TUI installs, checks, and updates it. Claude Code
is the runtime; Daedalus does not execute agents itself.

New here? Start with the **[Overview](getting-started/overview.md)** — the Daedalus
Method and the four commands (`init`, `status`, `doctor`, `update`) on one page —
then [install the binary](getting-started/installation.md).

## Start here (v2)

1. **[Overview](getting-started/overview.md)** — the method and the four commands.
2. **[Install](getting-started/installation.md)** — run the one-line install
script (or download a prebuilt binary / build from source); verify with
`daedalus --version`.
3. **[`kit/METHOD.md`](../kit/METHOD.md)** — the full normative standard: lifecycle,
roles and models, the document contract, councils, manual gates, token economy.
4. **[`kit/README.md`](../kit/README.md)** — the kit layout and the rules for
editing it.
Daedalus is an opinionated harness for [Claude Code](https://claude.com/claude-code).
The **kit** — a constitution, skills, agents, hooks, and templates — is the
product; the `daedalus` CLI/TUI installs it into your repo, checks it, and keeps
it up to date. Claude Code is the runtime; Daedalus does not execute agents
itself.

New here? Read the [Quickstart](quickstart.md) — an empty repo to a shipped change
in one pass — then keep the [command reference](commands/init.md) and
[Workflow](workflow.md) nearby.

## Getting started

- **[Overview](getting-started/overview.md)** — the Daedalus Method and the four
commands on one page.
- **[Installation](getting-started/installation.md)** — install the binary; verify
with `daedalus --version`.
- **[Quickstart](quickstart.md)** — empty repo → `init` → first `/brief` → first
`/ticket`, as one continuous story.

## Commands

The `daedalus` binary has four commands. Each takes an optional target directory
(default: the current directory).

- **[`init`](commands/init.md)** — instantiate the kit into a repo (interactive or
flags mode; non-destructive).
- **[`status`](commands/status.md)** — read-only work map from the backlog and
`STATE.md`.
- **[`doctor`](commands/doctor.md)** — read-only integrity check, with meaningful
exit codes.
- **[`update`](commands/update.md)** — bring an installed kit up to the binary's
version, backing up what it replaces.

## Using Daedalus

- **[Workflow](workflow.md)** — day-to-day inside Claude Code: `/brief`, `/spec`,
`/council` (and when *not* to use it), `/plan`, `/ticket`, `/epic`, `/status`.
- **[Backlog](backlog.md)** — the `development/` layout, the ticket folder
contract, and every frontmatter field.
- **[Customization](customization.md)** — template variables, the attribution
option, per-repo overrides, and what `update` never touches.
- **[Troubleshooting](troubleshooting.md)** — doctor exit codes, common failures,
and how re-`init`/`update` recover.

## The method itself

- **[`kit/METHOD.md`](https://github.com/Codigo-de-Altura/Daedalus/blob/main/kit/METHOD.md)** — the full normative standard: lifecycle,
roles and models, the document contract, councils, manual gates, token economy.
- **[`kit/README.md`](https://github.com/Codigo-de-Altura/Daedalus/blob/main/kit/README.md)** — the kit layout and the rules for
editing it.

## Contributing

For working **on** Daedalus itself (building, tooling, CI) — separate from using
the product.

- [Development environment](contributing/development-environment.md) — Make targets, Docker, and Compose.
- [Continuous integration](contributing/continuous-integration.md) — what CI runs and how to reproduce it.
- [Testing and golden files](contributing/testing-and-golden-files.md) — running the suite, what golden files are, and the determinism guarantee.

## User guide (v1 — outdated)

> The chapters below describe **Daedalus v1**, a backend-agnostic compiler with a
> `.daedalus/` workspace, a canonical model, DAG workflows, and a `build`/`sync`
> command. That product was superseded in v2; these pages are kept for reference
> while the manual is rewritten. Each is marked outdated at its top. For current
> behavior, use the [Overview](getting-started/overview.md) and
> [`kit/METHOD.md`](../kit/METHOD.md).

- [Quickstart](getting-started/quickstart.md)
- [Concepts](guide/concepts.md)
- [Core workflow](guide/core-workflow.md)
- [Command reference](guide/command-reference.md)
- [Command line](guide/command-line.md)
- [Navigating the interface](guide/navigating-the-tui.md)
- [Configuration](guide/configuration.md)
- [Initializing a workspace](guide/initializing-a-workspace.md)
- [Managing agents](guide/managing-agents.md)
- [Managing prompts](guide/managing-prompts.md)
- [Managing workflows](guide/managing-workflows.md)
- [Managing specs](guide/managing-specs.md)
- [Managing architecture documents](guide/managing-architecture.md)
- [Managing epics and tickets](guide/managing-epics-and-tickets.md)
- [Tracing the backlog](guide/tracing-the-backlog.md)
- [Validating conventions](guide/validating-conventions.md)
- [Compiling to a backend](guide/compiling-to-a-backend.md)
- [Examples](guide/examples.md)
For working **on** Daedalus itself — separate from using the product:

- [Development environment](contributing/development-environment.md) — Make targets,
Docker, and Compose.
- [Continuous integration](contributing/continuous-integration.md) — what CI runs
and how to reproduce it.
123 changes: 123 additions & 0 deletions docs/backlog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# The backlog

Everything about "where the project is" lives as versioned files under
`development/`. The filesystem is the database: ticket state is frontmatter, not a
service. This chapter is the contract — the layout, the ticket folder, every
frontmatter field, and how to edit the backlog by hand.

## The `development/` layout

`daedalus init` creates this tree (directories empty until the skills fill them):

```
development/
METHOD.md # a self-contained copy of the Daedalus Method
STATE.md # current position: active epic/ticket, blockers, next step
briefs/ # /brief output — NN-<slug>.md
specs/ # /spec output — NN-<slug>.md
decisions/ # /council output — DECISION-NN.md (ADR-style)
lessons/ # one durable lesson per file; agents read before, write after
epics/
epic-NN-<slug>/
epic.md # goal, scope, ticket list, links to spec + decisions
tickets/
ticket-NN-MM-<slug>/ # the ticket folder — its name is its id
spec.md # WHAT to build + acceptance criteria + status frontmatter
validation.md # HOW the verifier checks it (executable steps)
manual-validation.md # OPTIONAL: human test script → declares a manual gate
observations.md # created only on a REJECTED verdict; feedback for the fix loop
```

**Naming.** Everything is `kebab-case`. Epics are `epic-NN-<slug>`; tickets are
`ticket-NN-MM-<slug>`, where `NN` is the epic number and `MM` the sequence within
it. `epic-00-inbox` is reserved for standalone tickets (bugs, chores) that don't
belong to a planned epic — it is created on first use and always sorts last in
`status`.

## The ticket folder contract

A ticket is a **directory**, and its name is its id. Inside:

| File | Produced by | Purpose |
| --- | --- | --- |
| `spec.md` | planner / `/brief` quick mode | The spec: context, task, acceptance criteria — plus the state frontmatter. Always present. |
| `validation.md` | planner | The verifier's executable checks — each an exact command + expected outcome. Always present. |
| `manual-validation.md` | planner (optional) | A plain-language human test script. **Its presence, with `gate: manual-pending`, stops the workflow** on that chain until you approve. |
| `observations.md` | orchestrator | Written only when the verifier returns REJECTED; the implementer fixes from this file alone. Absent on a clean ticket. |

`spec.md` and `validation.md` are the minimum. `manual-validation.md` is added
only where a human check adds real signal (user-facing flows, visual output,
risky data ops, the last ticket of an epic). `observations.md` appears only if
something failed verification.

## The frontmatter — every field and its values

Ticket state lives in the `spec.md` frontmatter. This is what
[`daedalus status`](commands/status.md) and [`daedalus doctor`](commands/doctor.md)
read, so the values must stay valid.

```yaml
---
id: ticket-03-02-discount-engine
status: pending # pending | in-progress | done | blocked
type: feature # feature | bug | chore
risk: normal # low | normal | high — set by the planner
commit: null # hash, set on close
verified: null # date, set on verifier APPROVED (or "self" for risk: low)
gate: none # none | manual-pending | manual-approved
---
```

| Field | Allowed values | Meaning |
| --- | --- | --- |
| `id` | `ticket-NN-MM-<slug>` | Must match the folder name. |
| `status` | `pending` · `in-progress` · `done` · `blocked` | Lifecycle position. `doctor` rejects anything else. |
| `type` | `feature` · `bug` · `chore` | For a `bug`, the first acceptance criterion is always a reproducing test. |
| `risk` | `low` · `normal` · `high` | Drives verification depth: `low` skips the verifier and uses `implementer-lite`; `normal`/`high` get a full verifier pass. |
| `commit` | `null`, then a hash | Set on close. `status: done` with `commit: null` is flagged as an inconsistency. |
| `verified` | `null`, a date, or `self` | Set when the verifier approves; `self` for `risk: low` (no verifier). |
| `gate` | `none` · `manual-pending` · `manual-approved` | `manual-pending` blocks the chain and lists the ticket under WAITING ON YOU. |

`doctor` validates the four enum fields — `status`, `type`, `risk`, `gate` — on
every ticket. A value outside the set, an empty field, or missing frontmatter is a
failure (exit 2). `null` and empty are read as "unset" for `commit`/`verified`.

## Editing and reordering tickets by hand

The backlog is just markdown — you are meant to edit it. `/plan` even reminds you
of this before you execute. Safe manual operations:

- **Reprioritize** within an epic by renaming ticket folders to change the `MM`
sequence (and update the `id` inside `spec.md` to match). `/epic` runs tickets
in `MM` order, so this reorders execution.
- **Edit a ticket's task or acceptance criteria** directly in `spec.md` before it
runs. Sharpening the spec by hand is expected.
- **Delete an unstarted ticket** by removing its folder. To re-plan an unstarted
epic, delete the whole epic folder (your explicit call) and run `/plan` fresh —
`/plan` itself is additive and never renumbers existing epics.
- **Unblock or re-gate** by editing frontmatter — e.g. set `gate:
manual-approved` after you've done a manual validation, or `status: blocked`
back to `pending`.

After any hand-edit, run `daedalus doctor` to confirm the frontmatter still
parses, and `daedalus status` to confirm `STATE.md` still agrees with the backlog
(the `INCONSISTENCIES` section catches drift).

**Do not** hand-edit `done` tickets or renumber existing epics — completed work is
immutable history that future planning reads but never rewrites. If a done
ticket's decision was wrong, that's a new ticket, not a rewrite.

## `STATE.md` — the one source of "where are we"

`STATE.md` is short by design: the active epic and ticket, the phase, anything
waiting on you, blockers, and the exact next step — not history (git and
frontmatter hold that). Every session starts by reading it. The orchestrator keeps
it current at every ticket close, gate, or blocker; if you edit the backlog by
hand and it drifts, `daedalus status` reports the mismatch and offers to fix
`STATE.md` after you confirm.

## See also

- [Workflow](workflow.md) — the skills that produce and consume these files.
- [`daedalus status`](commands/status.md) / [`daedalus doctor`](commands/doctor.md)
— reading and validating the backlog from your shell.
Loading
Loading