Show HN: Legioni – a bunch of AI agents always with you

leonvonblut1 pts0 comments

GitHub - simoneloru/legioni: A portable, maturing team of AI coding agents. My name is Legioni, for we are many. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

simoneloru

legioni

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>2 Commits<br>2 Commits

bin

bin

defaults

defaults

docs

docs

src

src

.gitignore

.gitignore

LICENSE

LICENSE

README.md

README.md

package-lock.json

package-lock.json

package.json

package.json

tsconfig.json

tsconfig.json

View all files

Repository files navigation

legioni

A team of AI coding agents that coordinates your work and learns from every task.

Requires opencode.

How you use it

# one-time install (needed for promote, install, upgrade-team)<br>npm install -g legioni

cd your-project<br>legioni init # detects stack, compiles agents

Or without installing anything:

cd your-project<br>npx legioni init

Then start opencode and type your task:

opencode<br>@orchestrator add a truncate(text, max_len, suffix='...') function with tests

That's it. The orchestrator plans the work, delegates to specialist agents, and loops until tests pass. You watch.

orchestrator → architect → plan.md<br>→ implementer → code + tests<br>→ reviewer → passes or fails<br>→ test-strategist → edge cases + full suite<br>← done: code is written, tested, and reviewed

After the session, the agents propose lessons from what they learned:

legioni promote # review each lesson, approve or reject<br>legioni install # recompile agents with the approved lessons

Next task, those lessons are active. The team gets better each time.

Tested on real projects

Project<br>Language<br>Tests<br>What happened

Apache Commons Compress<br>Java / Maven<br>1890<br>All pass, reviewer ran real mvn test

Apache Commons Text<br>Java / Maven<br>1890<br>All pass, orchestrator fixed corrupted existing code, reviewer verified

truncate function<br>Python / pytest<br>13<br>Architect's spec had arithmetic errors, reviewer caught them, implementer fixed

slugify + Unicode<br>Python / pytest<br>50<br>Implementer missed Nordic letters, reviewer failed it, implementer fixed on cycle 2. Lesson promoted. Next project, caught on first pass.

What it looks like

$ legioni init<br>Running project recon ... done<br>→ .legioni/project.md<br>Compiling team → opencode agents ... done<br>→ ~/.config/opencode/agent/architect.md<br>→ ~/.config/opencode/agent/implementer.md<br>→ ~/.config/opencode/agent/orchestrator.md<br>→ ~/.config/opencode/agent/reviewer.md<br>→ ~/.config/opencode/agent/test-strategist.md<br>→ ~/.config/opencode/agent/db-expert.md<br>legioni init complete.

On a real project, recon detects your stack:

`"># .legioni/project.md (auto-generated)<br>## Stack<br>- Language: Java<br>- Framework: Maven

## Commands<br>- Build: `mvn compile`<br>- Test: `mvn test`<br>- Targeted test: `mvn test -Dtest=`

After a session, agents stage lesson candidates:

$ legioni promote<br>Reading staged lessons from .legioni/lessons.staging.*.md ...

────────────────────────────────────────────────────────────<br>Role: reviewer Slug: [nordic-char-limitation-in-nfkd]<br>────────────────────────────────────────────────────────────<br>Situation: Reviewing a Unicode normalization implementation<br>that used pure NFKD + ASCII encoding.<br>Decision: Flagged as failure because ø, Ø, æ, Æ have no<br>NFKD decomposition — they get dropped entirely.<br>Why: A manual transliteration table is needed before NFKD.<br>────────────────────────────────────────────────────────────<br>Promote? [y/n/q] y<br>→ Promoted to ~/.legioni/lessons/reviewer/[nordic-...].md

────────────────────────────────────────────────────────────<br>Role: orchestrator Slug: [task-brief-precision]<br>────────────────────────────────────────────────────────────<br>Situation: The codebase had no Hex class — the complete<br>class had to be created from scratch.<br>Decision: Wrote a detailed task brief with acceptance<br>criteria covering null handling and hex alphabet.<br>────────────────────────────────────────────────────────────<br>Promote? [y/n/q] n

Commands

Command<br>What it does

legioni init<br>Setup. Scaffolds team store, picks provider, detects...

legioni opencode agents project reviewer test

Related Articles