Skip to content
Merged
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
1 change: 0 additions & 1 deletion .agents/skills/agent-zero-architecture

This file was deleted.

1 change: 0 additions & 1 deletion .agents/skills/agent-zero-cli

This file was deleted.

1 change: 0 additions & 1 deletion .agents/skills/agent-zero-safety

This file was deleted.

1 change: 1 addition & 0 deletions .agents/skills/code-zero-architecture
1 change: 1 addition & 0 deletions .agents/skills/code-zero-cli
1 change: 1 addition & 0 deletions .agents/skills/code-zero-safety
1 change: 0 additions & 1 deletion .claude/skills/agent-zero-architecture

This file was deleted.

1 change: 0 additions & 1 deletion .claude/skills/agent-zero-cli

This file was deleted.

1 change: 0 additions & 1 deletion .claude/skills/agent-zero-safety

This file was deleted.

1 change: 1 addition & 0 deletions .claude/skills/code-zero-architecture
1 change: 1 addition & 0 deletions .claude/skills/code-zero-cli
1 change: 1 addition & 0 deletions .claude/skills/code-zero-safety
10 changes: 5 additions & 5 deletions .agent-zero.example.yml → .code-zero.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ proactive:
# committed to.
issues:
enabled: false
requireLabel: agent-zero
branchPrefix: agent-zero/
requireLabel: code-zero
branchPrefix: code-zero/
# Report the validation verdict back on the issue as a comment: confirmed with evidence, not
# confirmed with the rejection reasons, or inconclusive for a human. Report-only.
validationComment: true
Expand All @@ -27,7 +27,7 @@ checks: []

autofix:
enabled: false
# Confidence required before Agent Zero may change files.
# Confidence required before Code Zero may change files.
minConfidence: 0.85
# mechanical is the conservative default. behavioral may be added explicitly; high-impact
# changes always require human approval and cannot be enabled here.
Expand Down Expand Up @@ -65,7 +65,7 @@ runner:
# cpus: '2'
# memory: 4g
# Pre-provisioned network used when permissions.network is restricted.
# network: agent-zero
# network: code-zero
maxOutputBytes: 200000

model:
Expand All @@ -75,7 +75,7 @@ model:
#
# claude-code and codex-cli spend a Claude Pro/Max or ChatGPT Plus/Pro subscription through the
# vendor CLI installed on the host. They take no credential and stay off until the operator sets
# AGENT_ZERO_ENABLE_CLAUDE_CODE_PROVIDER or AGENT_ZERO_ENABLE_CODEX_CLI_PROVIDER to true, because
# CODE_ZERO_ENABLE_CLAUDE_CODE_PROVIDER or CODE_ZERO_ENABLE_CODEX_CLI_PROVIDER to true, because
# the session is bound to one host and one personal account.
provider: openai-compatible
name: gpt-5
Expand Down
26 changes: 13 additions & 13 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# .env this file — the `zero` CLI: model providers,
# subscription transports, GITHUB_TOKEN
# apps/dashboard/.env the dashboard process, loaded by Nuxt itself:
# control plane (AGENT_ZERO_CONTROL_PLANE_*),
# control plane (CODE_ZERO_CONTROL_PLANE_*),
# webhook ingress, DATABASE_URL, authentication,
# mail, NUXT_PUBLIC_SITE_URL
# apps/marketing/.env the marketing site, loaded by Nuxt itself:
Expand All @@ -25,39 +25,39 @@
# See docs: apps/docs/guide/environment-variables.md.

OPENAI_API_KEY=
AGENT_ZERO_MODEL=gpt-5
CODE_ZERO_MODEL=gpt-5
GITHUB_TOKEN=

# Subscription model transports (model.provider: claude-code / codex-cli). These take no API key:
# they drive the vendor CLI already logged in on this host, so they are single-tenant and bound to
# this machine. Each stays off unless its flag is exactly "true", so a CI runner without the CLI
# installed never spawns a subprocess.
AGENT_ZERO_ENABLE_CLAUDE_CODE_PROVIDER=false
AGENT_ZERO_ENABLE_CODEX_CLI_PROVIDER=false
CODE_ZERO_ENABLE_CLAUDE_CODE_PROVIDER=false
CODE_ZERO_ENABLE_CODEX_CLI_PROVIDER=false
# Absolute path to the executable when it is not on PATH.
AGENT_ZERO_CLAUDE_CODE_PATH=
AGENT_ZERO_CODEX_PATH=
# Required when runner.isolation is "container" in .agent-zero.yml. Without it, claude-code is
CODE_ZERO_CLAUDE_CODE_PATH=
CODE_ZERO_CODEX_PATH=
# Required when runner.isolation is "container" in .code-zero.yml. Without it, claude-code is
# refused rather than spawned unisolated on the control-plane host: this image must have the
# `claude` CLI installed, and only claude-code is affected (codex-cli's vendor SDK has no spawn
# hook to route through a container either way; see README "Known limits"). The container gets no
# repository checkout and unrestricted network — both deliberately different from runner.image and
# permissions.network, which govern an untrusted checkout's own commands, not this process.
AGENT_ZERO_CLAUDE_CODE_CONTAINER_IMAGE=
CODE_ZERO_CLAUDE_CODE_CONTAINER_IMAGE=
# Executable name/path to run inside that container. Defaults to "claude"; only needs setting if
# the image installs it somewhere not on PATH. The vendor SDK's own resolved path (its bundled
# native binary, or AGENT_ZERO_CLAUDE_CODE_PATH) is a host path and never used inside the container.
AGENT_ZERO_CLAUDE_CODE_CONTAINER_EXECUTABLE=
# native binary, or CODE_ZERO_CLAUDE_CODE_PATH) is a host path and never used inside the container.
CODE_ZERO_CLAUDE_CODE_CONTAINER_EXECUTABLE=
# Host directory holding the CLI's own `claude login` session, mounted read-only into that
# container along with its sibling ~/.claude.json. Defaults to ~/.claude; only needs setting if the
# CLI was configured with a custom CLAUDE_CONFIG_DIR on this host.
CLAUDE_CONFIG_DIR=
# Longest a run may block in total waiting for a spent subscription window to reopen, before
# resuming the interrupted CLI session. Default 3600000 (one hour); 0 disables waiting so a run
# fails straight onto the fallback below. A reset further out than this is never waited on.
AGENT_ZERO_SUBSCRIPTION_LIMIT_WAIT_MS=3600000
CODE_ZERO_SUBSCRIPTION_LIMIT_WAIT_MS=3600000
# Optional API-key transport a subscription run degrades to when the CLI is missing, its session
# expired, or its usage window is spent and too far from reopening to wait out. Both must be set
# together, and the provider must not itself be subscription-based.
AGENT_ZERO_MODEL_FALLBACK_PROVIDER=
AGENT_ZERO_MODEL_FALLBACK_MODEL=
CODE_ZERO_MODEL_FALLBACK_PROVIDER=
CODE_ZERO_MODEL_FALLBACK_MODEL=
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ labels: ['bug']
body:
- type: markdown
attributes:
value: Thanks for helping improve Agent Zero. Do not include secrets or private repository content.
value: Thanks for helping improve Code Zero. Do not include secrets or private repository content.
- type: checkboxes
id: existing
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Security report
url: https://github.com/wolfstar-project/agent-zero/security/advisories/new
url: https://github.com/wolfstar-project/code-zero/security/advisories/new
about: Report vulnerabilities privately. Do not open a public issue.
- name: Questions and discussion
url: https://join.wolfstar.rocks
Expand Down
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Agent Zero repository instructions
# Code Zero repository instructions

Read `/AGENTS.md` before editing and load the relevant skill from `/.agents/skills/`.

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@ jobs:
run: |
node --input-type=module --eval "Promise.all([import('./packages/shared/dist/index.mjs'), import('./packages/shared/package.json', { with: { type: 'json' } })]).then(([built, pkg]) => { if (built.version !== pkg.default.version) { console.error('Injected version', built.version, 'does not match package.json version', pkg.default.version); process.exit(1) } })"

# Publishing remains intentionally absent until the @agent-zero package
# Publishing remains intentionally absent until the @code-zero package
# scope and npm trusted publishing policy are configured.
2 changes: 1 addition & 1 deletion .github/workflows/semantic-pull-requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
contents: read
pull-requests: read # analyze pull requests
statuses: write # publish validation status
if: github.repository == 'wolfstar-project/agent-zero'
if: github.repository == 'wolfstar-project/code-zero'
runs-on: ubuntu-latest
name: 🏷️ Validate PR title
steps:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ test-report.junit.xml
.env
.env.*
!.env.example
.agent-zero/
.code-zero/
.data/
*.log
.DS_Store
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: agent-zero-architecture
description: Use when adding features, moving code, or changing dependencies across Agent Zero packages and adapters.
name: code-zero-architecture
description: Use when adding features, moving code, or changing dependencies across Code Zero packages and adapters.
---

# Agent Zero architecture
# Code Zero architecture

Keep dependency direction explicit while changing the monorepo.

Expand Down Expand Up @@ -36,12 +36,12 @@ Keep dependency direction explicit while changing the monorepo.
- `agent`: orchestration, the lifecycle machine, and the validation policy.
- `cli`: argument parsing and terminal presentation. Composition-root glue that decides *how* to
isolate the `claude-code` CLI process lives here (`subscription-isolation.ts`, duplicated
identically in `api` rather than shared — it needs both `AgentZeroConfig` and an operator
identically in `api` rather than shared — it needs both `CodeZeroConfig` and an operator
environment variable, which neither `models` nor `runner` should own). Refuses the transport
outright when `runner.isolation: container` is declared but no CLI container image is configured,
rather than falling back to an unisolated host spawn — reported to `modelFromEnvironment` as a
refusal reason, not by disabling the enable flag, so a configured
`AGENT_ZERO_MODEL_FALLBACK_PROVIDER` still gets a turn. `api` applies the same refusal-reason
`CODE_ZERO_MODEL_FALLBACK_PROVIDER` still gets a turn. `api` applies the same refusal-reason
mechanism for a `RunnerPool` lease, which cannot route the CLI's duplex spawn through a
`SandboxProvider`'s bounded `Runner` contract.
- `database`: Postgres schema, the Drizzle client factory, and checked-in migrations. No policy, and the only package that names a table or opens a connection.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: agent-zero-cli
description: Use when adding or changing Agent Zero CLI commands, flags, prompts, output, exit codes, or version display.
name: code-zero-cli
description: Use when adding or changing Code Zero CLI commands, flags, prompts, output, exit codes, or version display.
---

# Agent Zero CLI
# Code Zero CLI

The CLI uses `@bomb.sh/args` for typed parsing and `@clack/prompts` for human-friendly interaction.

Expand All @@ -18,7 +18,7 @@ The CLI uses `@bomb.sh/args` for typed parsing and `@clack/prompts` for human-fr
- Obtain the displayed version through the injected shared version marker.
- CLI commands request runtime behavior through typed APIs; they do not execute repository commands directly.
- A session obtained by `zero login` is stored per deployment origin in
`$XDG_CONFIG_HOME/agent-zero/credentials.json`, owner-readable only (`packages/cli/src/credentials.ts`).
`$XDG_CONFIG_HOME/code-zero/credentials.json`, owner-readable only (`packages/cli/src/credentials.ts`).
Never write a token beside the checkout, never log one, and never key the store by anything but
the normalized origin — one workstation is expected to hold a cloud-managed and a self-hosted
session at once.
Expand All @@ -33,4 +33,4 @@ The CLI uses `@bomb.sh/args` for typed parsing and `@clack/prompts` for human-fr
3. Add Clack presentation only after parsing succeeds.
4. Document the command in `README.md` and `CONTRIBUTING.md` when contributor-facing.
5. Verify interactive and non-interactive behavior.
6. Run `aube run test --filter @agent-zero/cli` and the root checks.
6. Run `aube run test --filter @code-zero/cli` and the root checks.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: agent-zero-safety
name: code-zero-safety
description: Use for runner changes, autonomous state transitions, repository writes, command execution, secrets, or observe/fix policy.
---

# Agent Zero safety
# Code Zero safety

Safety properties are behavior, not documentation. Back every change with deterministic checks.

Expand Down
4 changes: 2 additions & 2 deletions .skills/orpc-server/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ description: Use when changing apps/dashboard server routes, oRPC contracts, han
taking the environment record as an argument rather than reading `process.env` themselves. They
deliberately do not move to Nuxt's `runtimeConfig`: its defaults are baked at build time and
would require renaming every variable to a `NUXT_`-prefixed form, while a deployment sets
`GITHUB_WEBHOOK_SECRET` and `AGENT_ZERO_CHECKOUT_PATH` at run time.
`GITHUB_WEBHOOK_SECRET` and `CODE_ZERO_CHECKOUT_PATH` at run time.
- Keep transport-specific headers, status mapping, and request objects out of runtime packages.
- Nuxt's Nitro server is the only top-level HTTP host; do not introduce Express, Hono, or a second
one.
Expand All @@ -86,5 +86,5 @@ description: Use when changing apps/dashboard server routes, oRPC contracts, han
3. Keep the handler thin: validate, authorize, delegate, translate.
4. Add router tests with `createRouterClient`, without opening a real network port.
5. Update the README client example when the public router shape changes.
6. Run `aube run test --filter @agent-zero/api`, then `--filter @agent-zero/dashboard`, typecheck,
6. Run `aube run test --filter @code-zero/api`, then `--filter @code-zero/dashboard`, typecheck,
and build. For KV or transport-mounting changes, also run a real `nuxt build` and hit the route.
4 changes: 2 additions & 2 deletions .skills/tsdown/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: tsdown
description: Build or change Agent Zero packages and apps with the repository's shared tsdown configuration, package validation, and version injection.
description: Build or change Code Zero packages and apps with the repository's shared tsdown configuration, package validation, and version injection.
---

# tsdown in Agent Zero
# tsdown in Code Zero

Use this skill when changing build entries, output formats, declarations, package exports, executable output, or version injection.

Expand Down
Loading
Loading