Repository navigation
Releases
v1.7.1
2026-10-30 · The guilds have names of their own
Step 7 closed: the guilds' names, the glossary and the tone manual.
Added
- The guilds have names of their own: the Amber Order (Anthropic), the Cerulean Circle (OpenAI), the Crimson Synod (Google), the Indigo Lodge (DeepSeek), the Jade Cloister (Qwen, by Alibaba Cloud) and the Violet Conclave (Meta). The maker is data: on hover, on the blackboard and in the chronicle. CodeWizards is not affiliated with any of them, and says so in
--help, in The Tower and on hover. docs/glossary.md: every magic word and what it means, written from the same file the room reads (apps/room/src/words.js). The CI checks that they match.--ranktakes the English namesapprentice,youngandsage(the ids still work).
Changed
- One name per thing: the spell book says Young Mage and Grand Sage, the file list says Tomes, the help says The Tower, and the demo says that no model is called and no mana is spent.
- The meaning on hover comes from the glossary, so it reads the same on every screen.
Full history: CHANGELOG.md
v1.7.0
2026-10-25 · The Archmage plans, the tower speaks English and sings
Fixed
- CI:
apps/room/build.py --checkno longer needs fontTools. The pixel font is now an art file (codewizards-art/05_ui/CWPixel.ttf), written by the art generator; fontTools is added to the Nix shell.
Added
- The Archmage plans: unless you choose a rank, one short call to the cheapest model splits a spell into up to 4 quests, each with the rank (and so the model) its complexity calls for. They run one after another, each from the previous one's approved branch; if one fails, the rest are cancelled; if planning fails, the rules decide as before.
--no-planandplannerinranks.jsonturn it off. The contract gainsafterontask.createdandplanas a reason to cancel. - Sound (step 7): chiptune effects synthesised with Web Audio after the Game Boy's channels, an optional quiet music loop (off by default), an optional review bell in the background, volume and mute, all remembered.
Changed
- The product speaks English (step 7), in the tower's voice, with the technical meaning of each magic word on hover.
- The spell book has two rows: the spell takes the whole first one; who casts it, the model, the effort, the sound and Cast go below.
- The CRT covers the interface too.
Full history: CHANGELOG.md
v1.5.1
2026-10-23 · La Torre
Step 5 of milestone 1 (UI/UX), round 2.
Added
- La Torre:
codewizardswith no command opens it in the browser. It lists your rooms, lets you enter one, or found a new one on a folder you write: on an existing repository, or in a new one that it creates with a README and a first commit. From inside a room, the "La Torre" button opens it again; changing room keeps the token out of the address bar. - The core keeps several rooms open at once; each browser tab is in one of them.
tools/contrast.mjs: the panels' text colours measured against WCAG 2.2 AA in both themes, checked in CI.
Changed
- The header shows the room's repository next to the mode.
Full history: CHANGELOG.md
v1.4.0
2026-10-23 · How the wizards behave
Step 4 of milestone 1 (simulation and behaviour).
Added
- The wizard's state machine, in the code (
stateOf) and documented (auditorias/simulacion.md): arriving, walking, queued, reading, writing, presenting, waiting, confused, celebrating, resting, leaving and outside. - Queues: a wizard that finds a station full waits on a free tile next to it and steps up as soon as a place frees.
- Pace: a burst of reads or writes at the same station makes the visit longer instead of chaining walks; a long backlog is compressed (always keeping the latest visit) and the wizard hurries, so the room catches up with the log without ever showing what the log does not say.
- Scale: up to 10 wizards inside; the rest wait outside the door and come in, first come first in, when someone leaves.
- Visible resources in the tasks panel: the project's health (moves with approvals, finished and failed tasks, errors and rejections, never with tokens), how many wizards wait outside, and the hourglass of the five-hour window.
Changed
- The rank table is back to Claude Code aliases (haiku, sonnet, opus): a pinned claude-opus-5-5 failed with Claude Code 2.1.223, which is older than that model. Aliases pick the newest model your Claude Code supports, and the room shows which one.
- A model newer than your Claude Code now fails with a message that says which version it needs.
- The spell book opens empty, with a hint instead of an example spell.
Full history: CHANGELOG.md
v1.3.2
2026-10-23 · A repository created again at the same path
Fixed
serveon a repository without commits used to start and then fail every task with a git error, which looked as if Claude Code did not connect. It now stops at once and says how to make the first commit.- A repository deleted and created again at the same path reused the old room, with its history and its quota. The room now remembers the repository's first commit: if another repository lives at that path, the old room is archived (
rooms/<id>.replaced-<date>) and the new one starts empty. - A quota window whose reset time has passed no longer makes the Archmage lower the rank or wait, and the mana bar shows it renewed.
- A leftover worktree folder from an older session no longer blocks a new task;
servealso prunes the repository's stale worktrees when it starts.
Full history: CHANGELOG.md
v1.3.1
2026-10-23 · Opening a room, models and effort, a new layout
Fixed
- Opening a room on an existing log no longer brings every past wizard in to walk out again: the room rebuilds itself at once from the log, puts the wizards still at work at their stations, and only animates what happens from then on.
codewizardsreally is on the PATH insidenix develop(the script is named codewizards.js; the shell now links it under its real name).
Added
- Tasks panel: «En curso», «Hechas» (the history, where finished tasks go when their wizard walks out) and «Por hacer», a notes editor kept per room (next to the room's log; in the demo, in the browser) with a button that sends the selected line to the spell book.
- Model and effort per spell: the spell book shows each rank's model and effort and lets you pick both;
--effortsets the default. Claude Code's reasoning effort (low, medium, high, xhigh, max) goes with--effort, and aCLAUDE_CODE_EFFORT_LEVELin your environment no longer overrides it. - Layout: the room large in the middle with the spell book under it, and a panel on each side that you can make wider or narrower by dragging its edge (remembered in the browser).
Changed
- The rank table pins model versions: Apprentice
claude-haiku-5-5(low effort), Young Mageclaude-sonnet-5-5(medium), Grand Sageclaude-opus-5-5(high). Aliases such asopusstill work in your ownranks.json. - Event contract v2 gains an optional
effortinagent.summoned.
Full history: CHANGELOG.md
v1.3.0
2026-10-23 · The Archmage and the quota
Step 3 of milestone 1 (orchestration and tokens).
Added
- The Archmage, version 1: plain rules, no model and no tokens, pick each spell's rank (Apprentice, Young Mage or Grand Sage), or you pick it in the spell book. Each rank's model, turns, token estimate and system note live in
ranks.json(haiku, sonnet and opus to start); you can override any of it in~/.config/codewizards/ranks.json, and no model name is fixed in the code. - A fourth rank, the Young Mage, as in the original concept (drawn as an Apprentice until the art round).
- Real quota: Claude Code's rate-limit events become the account's mana in the room (what is left of the five-hour window, and when it resets). Past 80 % the Archmage picks one rank lower; when the window is used up, the wizard waits in the armchair and resumes the same session after the reset, instead of failing.
- A "Merge into my branch" button on the blackboard for an approved change that is still on its branch (fast-forward only, never forced).
- Event contract v2: the Young Mage, the Archmage's rank and reason, quota per window,
command.run,command.deniedandtask.merged. Logs written with v1 still replay. - Evals: 20 small tasks with hidden tests and reference solutions, and
tools/evals.mjsto compare configurations on your own plan (evals/README.md). CI checks the bank, the routing and the whole pipeline with a fake agent, without tokens. - CI: a smoke test in Firefox (not blocking yet), and a GitHub release published automatically when a push to main brings a new version.
codewizardson the PATH insidenix develop.
Changed
- Only the guilds of connected accounts appear; for now that is Anthropic, in the demo too.
- Finished tasks leave the list when their wizard walks out; a change waiting to be merged stays until it is.
- A command refused by the rules shows as a refusal, not as an error of the wizard.
.claude/settings.local.jsonnever goes into a wizard's commit.
Fixed
- The
--mergetest failed on Windows, where Git converts line endings on checkout.
Full history: CHANGELOG.md
v1.2.1: The local core and event contract v1
Step 2 of milestone 1 (architecture and software). - Local app: the room now runs on a small local core that serves it on 127.0.0.1 with a per-run token. `codewizards demo` shows simulated wizards with no account and no network. - Claude Code, experimental: `codewizards serve --repo PATH` drives your own Claude Code. Each task works in its own branch and git worktree, Bash runs inside Claude Code's sandbox, and nothing is committed until you approve the diff on the blackboard. - Event contract v1: sequence numbers (replaying never doubles anything), the account, model-maker guilds, and events for blocked wizards, quota, failed and cancelled tasks. - Fixes: the room no longer freezes on an unknown guild, and the v1.1 cleanup finally reached the repository. - CI: core tests on Linux, macOS and Windows, and a browser smoke test on the packaged app. - Docs: architecture in docs/arquitectura.md and the step report in auditorias/software.md (in Spanish). Try the demo: https://poligle.github.io/codewizards/
v1.1 · Product and brand
Product direction, licenses and a tidier repository
Step 1 of milestone 1 (specialisation). The mockup is the same as in v1.0.
- Direction: CodeWizards will be a local, open-source app that drives the official agent CLIs, Claude Code first, with your own accounts. It spends the plan limits or free quotas you already have, has no server and never stores keys, tokens or code. The download page will live at codewizards.app.
- Licenses: code under MIT, art under CC BY 4.0.
- Guilds: six, one per model maker. GitHub Copilot will come back as an account, not a guild.
- Docs: new README and CHANGELOG; the product report is auditorias/producto.md (in Spanish).
- Cleanup: the SNES art round, its documents and its leftovers left the tree; they remain in tag v1.0.
Try the mockup: https://poligle.github.io/codewizards/apps/maqueta/maqueta.html