Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ LazyCodex is a thin distribution layer. The core engine is [oh-my-openagent (OmO
lazycodex/
├── src/ → oh-my-openagent (submodule)
├── packages/
│ └── web/ → Next.js 15 + Tailwind v4 + opennextjs-cloudflare
│ └── web/ → Next.js 16 + Tailwind v4 + opennextjs-cloudflare
│ (deployed to lazycodex.ai via Cloudflare Workers)
├── .github/workflows/ → web-ci.yml + web-deploy.yml
├── README.md
Expand Down
2 changes: 1 addition & 1 deletion packages/web/content/docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ npx lazycodex-ai install --no-tui --codex-autonomous
- **Model routing** — which model handles planning, implementation, verification, and specialist skills. The installer sets sensible defaults from your detected subscriptions; override per role when a project needs a different profile.
- **Hooks and lifecycle** — whether the Stop-hook auto-continues a plan, iteration caps (500 in ultrawork mode, 100 in normal mode), and how completion is gated.
- **Skills** — which skills are active and where they load from.
- **Agent** — Hephaestus, the autonomous deep worker, and its model/prompt overrides. The Codex package is the Hephaestus-only light port; the full OmO's Sisyphus orchestrator is not included.
- **Agent roles** — Hephaestus plus explorer, librarian, planner, reviewer, QA, and gate roles. The installer writes the role definitions and model/prompt overrides that Codex can route to.

### Hooks & lifecycle

Expand Down
10 changes: 5 additions & 5 deletions packages/web/content/docs/discipline-agents.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
LazyCodex ports a single discipline agent from OmO into Codex: **Hephaestus**, the autonomous deep worker. There is no Sisyphus orchestrator in the Codex package — Hephaestus is the one role, and it carries the whole run itself with read-only subagents for parallel exploration.
LazyCodex installs OmO's discipline-agent surface into Codex. **Hephaestus** remains the autonomous deep-worker voice for end-to-end implementation, while specialist roles support exploration, external research, planning, review, QA, and completion gates.

### What Hephaestus is

Named after the Greek god of the forge. Goal-oriented: you give it objectives, not step-by-step recipes, and it executes them end-to-end. "The Legitimate Craftsman." Methodical, thorough, obsessive — built for deep architectural reasoning, complex debugging, and cross-domain synthesis.

### Installed roles

As of `4.12.1`, the following roles are installed. When Codex exposes `agent_type`, the role is set directly; otherwise the role description is included in the message as a fallback.
The current install provides these roles. When Codex exposes `agent_type`, the role is set directly; otherwise the role description is included in the message as a fallback.

| Role | Primary use |
| --- | --- |
Expand Down Expand Up @@ -41,17 +41,17 @@ Hephaestus runs a short, tight loop on every unit of work:
- **Never speculates about code it has not read.** Exploration is cheap; assumption is expensive.
- **Never leaves work unresolved at end of turn.** Every plan step is reconciled: `completed`, blocked (one-line reason), or removed (one-line reason).

### Delegation, not orchestration
### Delegation and orchestration

Hephaestus stays the parent. For parallel exploration it spawns read-only Codex subagent roles (`multi_agent_v1.spawn_agent`) and keeps the parent session live with brief status updates while children run. It does not hand the run off to a separate orchestrator — it owns the goal, delegates the grunt work, and verifies the results itself.
The parent Codex session keeps final ownership of goals and verification. For parallel work it can spawn Codex subagent roles and keep the parent session live with brief status updates while children run. Team mode adds a durable named-team surface when coordination is worth the overhead.

### Boulder state

`$start-work` uses `.omo/boulder.json` to persist progress and the Stop-hook continuation to keep plan execution moving. This is the core visible behavior: checkboxes advance, and when all are done it prints **ORCHESTRATION COMPLETE**.

### Where the boulder comes from

The full OmO has a second primary agent, **Sisyphus**, the orchestrator with `.omo/boulder.json` session continuity. The Codex package is the Hephaestus-only light port, so on Codex the durable progress state lives in `.omo/boulder.json` as written by [`$start-work`](./start-work.md) and the Stop-hook continuation — without the Sisyphus orchestration layer.
OmO's broader orchestration ideas show up in Codex through durable `.omo/boulder.json` progress, Stop-hook continuation, named team state, and reviewer/gate roles. [`$start-work`](./start-work.md) is the main visible path: it advances the plan until every checkbox is done and the final gate is satisfied.

### Reading more

Expand Down
4 changes: 2 additions & 2 deletions packages/web/content/docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ Quick answers to common sticking points. Start with **Install & environment** if
### Install & environment

**What is LazyCodex?**
A light port of OmO for Codex. It layers commands, skills, hooks, and model routing onto Codex so the agent plans before it edits, verifies before it claims done, and keeps project context across sessions.
OmO packaged for Codex. It layers commands, skills, hooks, model routing, agent roles, diagnostics, and project memory onto Codex so the agent plans before it edits and verifies before it claims done.

**Is LazyCodex a replacement for OmO?**
No. It is a focused subset. The full OmO has deeper orchestration. LazyCodex takes the parts that work well inside Codex and packages them as a repeatable install.
No. OmO is the core harness. LazyCodex is the Codex distribution: the `npx` installer plus the `omo@sisyphuslabs` marketplace plugin path that makes the OmO harness repeatable inside Codex.

**Can I ask Codex to install it for me?**
Yes. Open Codex and give it the LazyCodex GitHub link or `lazycodex.ai`, then ask it to install. Or run `npx lazycodex-ai install` yourself.
Expand Down
12 changes: 6 additions & 6 deletions packages/web/content/docs/overview.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
LazyCodex is a light port of [OmO](https://github.com/code-yeongyu/oh-my-openagent) into Codex. It does not ship the full harness — it ports one role, **Hephaestus**, the autonomous deep worker, and the workflows that keep its runs honest. Think [LazyVim](https://github.com/LazyVim/LazyVim) for [lazy.nvim](https://github.com/folke/lazy.nvim), but for Codex.
LazyCodex packages [OmO](https://github.com/code-yeongyu/oh-my-openagent) as the Codex agent harness for complex codebases: project memory, planning, execution, and verified completion inside Codex. Think [LazyVim](https://github.com/LazyVim/LazyVim) for [lazy.nvim](https://github.com/folke/lazy.nvim), but for Codex.

> *"LazyVim made Neovim usable for the rest of us. LazyCodex does the same for Codex."*

Expand All @@ -19,17 +19,17 @@ LazyCodex itself is close to a small install alias. `lazycodex-ai` runs the OmO

### Where it comes from

OmO is the full agent harness: a primary orchestrator (Sisyphus) with `.omo/boulder.json` session continuity, a deep worker (Hephaestus), specialist agents, multi-model routing, 54+ lifecycle hooks, and team mode. That is a lot. LazyCodex takes only the piece that matters for a focused Codex setup and packages it as a repeatable install.
OmO is the core agent harness: discipline agents, parallel orchestration, multi-model routing, skills, hooks, verified completion, diagnostics, and team mode. LazyCodex packages that harness for Codex through the `lazycodex-ai` installer and the `omo@sisyphuslabs` marketplace plugin.

### What you get

The Hephaestus deep worker, ported into Codex with:
The OmO harness, wired into Codex with:

- Goal-oriented execution — you give it objectives, not step-by-step recipes.
- A tight operating loop: **Explore → Plan → Implement → Verify → Manually QA**.
- Parallel explore subagents so it maps the terrain before writing anything.
- Parallel agent roles so it maps the terrain before writing anything.
- The `$ulw-plan`, `$start-work`, and `$ulw-loop` workflows that keep complex work moving until it is verified.
- Skills, hooks, model routing, and verification defaults wired into Codex in one pass.
- Project memory, skills, hooks, MCP tools, model routing, diagnostics, and verification defaults wired into Codex in one pass.

### Remember these four

Expand All @@ -46,7 +46,7 @@ Use `{your prompt} ultrawork` when the job needs the deep worker to run as one c

### How it fits together

LazyCodex is a thin distribution layer over [OmO](https://github.com/code-yeongyu/oh-my-openagent). The core engine is OmO; LazyCodex packages OmO's Hephaestus for Codex.
LazyCodex is a thin distribution layer over [OmO](https://github.com/code-yeongyu/oh-my-openagent). The core engine is OmO; LazyCodex packages the OmO harness for Codex.

Credit: The LazyCodex name idea is inspired by [LazyVim](https://github.com/LazyVim/LazyVim). The Ultragoal and UltraQA ideas are inspired by [oh-my-codex](https://github.com/Yeachan-Heo/oh-my-codex), reimplemented from concept for this Codex setup.

Expand Down
2 changes: 1 addition & 1 deletion packages/web/lib/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export const COMMANDS: readonly LazyCommand[] = [
{
name: "$ulw-loop",
glyph: "loop",
syntax: '$ulw-loop "task" [--strategy=reset|continue]',
syntax: '$ulw-loop "task" [--completion-promise=TEXT] [--strategy=reset|continue]',
summary: "A self-referential loop that runs until VERIFIED completion.",
facts: [
"Emits <promise>DONE</promise> when it reaches a completion claim",
Expand Down
12 changes: 6 additions & 6 deletions packages/web/lib/docs-content.generated.ts

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/web/lib/github-stars-format.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export const FALLBACK_GITHUB_STARS = 1_864
export const FALLBACK_GITHUB_STARS = 2_375

export function formatStarsCount(stars: number): string {
if (stars >= 1_000_000) {
Expand Down
40 changes: 20 additions & 20 deletions packages/web/lib/site-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,34 @@ export const SITE_CONFIG = {
siteUrl: "https://lazycodex.ai",
docsPath: "/docs",
version: "v0.2.2",
eyebrow: "A LIGHT PORT OF OMO'S HEPHAESTUS, FOR CODEX",
eyebrow: "OMO AGENT HARNESS FOR CODEX",
wordmark: "LazyCodex",
heroLineA: "The Hephaestus deep-worker agent, ported light into Codex.",
heroLineA: "The one and only agent harness for complex codebases.",
heroLineB: {
prefix: "A focused slice of ",
slot: "OmO",
suffix: " — goals not recipes, ",
keyword: "verified completion",
prefix: "Project memory, planning, execution, and ",
slot: "verified completion",
suffix: " inside ",
keyword: "Codex",
period: ".",
},
harnessPillars: ["goals not recipes", "parallel exploration", "verified completion"],
harnessPillars: ["project memory", "parallel agents", "verified completion"],
ultraworkTagline: "ultrawork turns the harness into a verified run.",
ultraworkExample: "ulw add authentication",
omoIntro: {
kicker: "Where it comes from",
title: "A light port of OmO's Hephaestus",
body: "OmO is the full agent harness — a primary orchestrator, a deep worker, specialist agents, multi-model routing, and dozens of lifecycle hooks. LazyCodex does not ship all of that. It ports one role, Hephaestus, into Codex as a focused, repeatable setup: the deep worker plus the workflows that keep its runs honest.",
omoLabel: "OmO — the full harness",
title: "OmO, packaged for Codex",
body: "LazyCodex packages OmO as the Codex agent harness for complex codebases. It brings the discipline agents, parallel orchestration, skills, hooks, model routing, diagnostics, and verified-completion defaults into a repeatable Codex setup.",
omoLabel: "OmO — the core harness",
omoPoints: [
"Sisyphus orchestrator with boulder.json session continuity",
"Hephaestus deep worker + specialist agents",
"54+ lifecycle hooks, multi-model routing, team mode",
"Discipline agents: Sisyphus, Hephaestus, Oracle, Librarian",
"Parallel orchestration, multi-model routing, team mode",
"Lifecycle hooks, skills, diagnostics, and project memory",
],
lazyLabel: "LazyCodex — the Hephaestus port",
lazyLabel: "LazyCodex — the Codex distribution",
lazyPoints: [
"Hephaestus only: goals, not step-by-step recipes",
"$ulw-plan / $start-work / $ulw-loop workflows",
"Skills, hooks, and verification defaults for Codex",
"npx installer plus Codex marketplace plugin path",
"$init-deep / $ulw-plan / $start-work / $ulw-loop",
"Agent roles, MCP tools, hooks, and verification defaults",
],
},
hephaestus: {
Expand All @@ -57,7 +57,7 @@ export const SITE_CONFIG = {
kicker: "What LazyCodex wires into Codex",
title: "Harness the whole codebase",
intro:
"LazyCodex installs OmO as a serious agent harness for complex repositories: project memory, planning, execution, skills, hooks, model routing, and verification defaults in one pass.",
"LazyCodex should be judged by the features it actually installs: project memory, planning, execution, verified completion, skills, hooks, model routing, and diagnostics.",
points: [
{
label: "Context that survives",
Expand All @@ -76,8 +76,8 @@ export const SITE_CONFIG = {
builtInSkills: {
title: "Built-in skill coverage",
summary:
"Skills auto-activate when a task matches their domain, so you do not need to study every one first. Add a skill name to your prompt when you want to call it explicitly; ulw-research is the maximum-saturation mode for deep codebase, web, official-docs, and OSS-repo research.",
skills: ["ulw-research", "review-work", "remove-ai-slops", "frontend", "programming", "visual-qa", "LSP", "AST-grep"],
"The command layer stays simple. The skill layer adds specialist judgment for review, cleanup, frontend work, programming discipline, LSP diagnostics, structural search, rules loading, and post-edit feedback.",
skills: ["init-deep", "review-work", "remove-ai-slops", "frontend-ui-ux", "programming", "LSP", "AST-grep", "comment-checker"],
},
// Copy grounded in content/docs/ultrawork.md and ulw-loop.md — see .omo/evidence/copy-ledger.md.
ulwDemo: {
Expand Down