From fbcc80b24a0f85f34d41e400cdd4292c7d735105 Mon Sep 17 00:00:00 2001 From: RedStar Date: Wed, 2 Sep 2026 10:10:39 +0200 Subject: [PATCH] refactor: rename agent-zero to code-zero MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename Agent Skills from agent-zero-* to code-zero-* - Update environment variables: AGENT_ZERO_* → CODE_ZERO_* - Rename configuration file and update package scope - Update documentation, workflows, and all references --- .agents/skills/agent-zero-architecture | 1 - .agents/skills/agent-zero-cli | 1 - .agents/skills/agent-zero-safety | 1 - .agents/skills/code-zero-architecture | 1 + .agents/skills/code-zero-cli | 1 + .agents/skills/code-zero-safety | 1 + .claude/skills/agent-zero-architecture | 1 - .claude/skills/agent-zero-cli | 1 - .claude/skills/agent-zero-safety | 1 - .claude/skills/code-zero-architecture | 1 + .claude/skills/code-zero-cli | 1 + .claude/skills/code-zero-safety | 1 + ...zero.example.yml => .code-zero.example.yml | 10 +- .env.example | 26 ++--- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/copilot-instructions.md | 2 +- .github/workflows/release.yaml | 2 +- .github/workflows/semantic-pull-requests.yml | 2 +- .gitignore | 2 +- .../SKILL.md | 10 +- .../SKILL.md | 10 +- .../SKILL.md | 4 +- .skills/orpc-server/SKILL.md | 4 +- .skills/tsdown/SKILL.md | 4 +- AGENTS.md | 78 +++++++------- AI_POLICY.md | 2 +- CODE_OF_CONDUCT.md | 2 +- CONTRIBUTING.md | 10 +- GOVERNANCE.md | 2 +- README.md | 94 ++++++++-------- SUPPORT.md | 6 +- apps/dashboard/.env.example | 34 +++--- apps/dashboard/app/app.vue | 10 +- apps/dashboard/app/assets/css/main.css | 82 +++++++------- apps/dashboard/app/plugins/orpc.client.ts | 2 +- apps/dashboard/app/plugins/orpc.server.ts | 2 +- apps/dashboard/i18n/i18n.config.ts | 2 +- .../modules/audit/components/OutcomeBadge.vue | 2 +- .../audit/composables/useAuditLogs.test.ts | 2 +- .../modules/audit/composables/useAuditLogs.ts | 2 +- .../audit/composables/useAuditTrail.test.ts | 6 +- .../audit/composables/useAuditTrail.ts | 2 +- apps/dashboard/modules/audit/types/audit.ts | 2 +- .../modules/i18n-strip-empty/index.ts | 2 +- .../organizations/types/organization.ts | 4 +- .../shared/components/BuildEnvironment.vue | 4 +- .../shared/components/LocaleSwitcher.vue | 4 +- .../modules/shared/components/app/Sidebar.vue | 6 +- apps/dashboard/nuxt.config.ts | 12 +-- apps/dashboard/package.json | 14 +-- apps/dashboard/server/api/audit-logs.get.ts | 4 +- apps/dashboard/server/api/v1/[...].ts | 6 +- apps/dashboard/server/auth.config.ts | 6 +- apps/dashboard/server/routes/rpc/[...].ts | 2 +- .../server/routes/webhooks/github.post.ts | 4 +- apps/dashboard/server/utils/context.ts | 2 +- apps/dashboard/server/utils/environment.ts | 2 +- apps/dashboard/server/utils/errors.ts | 2 +- apps/dashboard/server/utils/store.ts | 2 +- apps/dashboard/test/e2e/dashboard.spec.ts | 2 +- .../test/nuxt/components/AuditTable.spec.ts | 4 +- .../nuxt/components/BuildEnvironment.spec.ts | 6 +- .../test/nuxt/components/TaskTable.spec.ts | 10 +- apps/dashboard/test/unit/environment.test.ts | 4 +- apps/dashboard/test/unit/openapi.test.ts | 4 +- apps/dashboard/uno.theme.ts | 20 ++-- apps/dashboard/vercel.json | 2 +- apps/docs/app/app.config.ts | 6 +- apps/docs/app/app.css | 20 ++-- apps/docs/content/1.guide/1.introduction.md | 6 +- .../docs/content/1.guide/10.api/1.overview.md | 2 +- .../1.guide/10.api/3.use-from-client.md | 2 +- .../1.guide/10.api/4.protect-endpoints.md | 14 +-- .../1.guide/11.authentication/2.oauth.md | 2 +- .../11.authentication/3.permissions.md | 14 +-- apps/docs/content/1.guide/13.frontend.md | 2 +- apps/docs/content/1.guide/16.deployment.md | 4 +- apps/docs/content/1.guide/2.tech-stack.md | 4 +- apps/docs/content/1.guide/3.installation.md | 8 +- .../1.guide/4.environment-variables.md | 46 ++++---- .../content/1.guide/5.codebase/1.structure.md | 6 +- .../1.guide/5.codebase/2.dependencies.md | 4 +- .../1.guide/5.codebase/4.agent-skills.md | 22 ++-- .../6.architecture/5.adding-a-capability.md | 2 +- apps/docs/content/1.guide/7.configuration.md | 16 +-- apps/docs/content/1.guide/8.safety.md | 6 +- apps/docs/content/1.guide/9.database.md | 4 +- apps/docs/content/2.reference/1.cli.md | 8 +- apps/docs/content/index.md | 8 +- apps/docs/package.json | 2 +- apps/docs/public/favicon.svg | 16 +-- apps/docs/public/logo-mark.svg | 16 +-- apps/docs/public/logo.svg | 16 +-- apps/docs/vercel.json | 2 +- apps/mail-preview/maizzle.config.ts | 2 +- apps/mail-preview/package.json | 4 +- apps/marketing/.env.example | 12 +-- apps/marketing/README.md | 18 ++-- apps/marketing/app/app.vue | 2 +- apps/marketing/app/assets/css/main.css | 98 ++++++++--------- apps/marketing/app/layouts/default.vue | 6 +- apps/marketing/config/content.ts | 2 +- .../content/en/blog/fixes-that-carry-proof.md | 4 +- .../content/en/blog/observe-mode-first.md | 4 +- .../en/blog/one-boundary-for-writes.md | 2 +- .../content/en/changelog/i18n-and-branding.md | 4 +- .../content/en/changelog/marketing-site.md | 4 +- apps/marketing/content/en/legal/privacy.md | 4 +- apps/marketing/content/en/legal/terms.md | 6 +- apps/marketing/i18n/i18n.config.ts | 2 +- .../home/composables/usePriceFormatter.ts | 2 +- .../modules/i18n-strip-empty/index.ts | 2 +- .../shared/components/LocaleSwitcher.vue | 4 +- .../shared/components/site/AppLogo.vue | 26 ++--- apps/marketing/modules/shared/utils/site.ts | 14 +-- apps/marketing/nuxt.config.ts | 14 +-- apps/marketing/package.json | 6 +- apps/marketing/public/favicon.svg | 16 +-- apps/marketing/public/logo-dark.svg | 4 +- apps/marketing/public/logo-light.svg | 4 +- apps/marketing/public/logo-mark-dark.svg | 4 +- apps/marketing/public/logo-mark-light.svg | 4 +- apps/marketing/public/logo-mark.svg | 16 +-- apps/marketing/public/logo.svg | 16 +-- apps/marketing/public/og-image.svg | 4 +- .../test/nuxt/components/ContactForm.spec.ts | 2 +- apps/marketing/test/unit/content.test.ts | 6 +- apps/marketing/uno.theme.ts | 20 ++-- apps/marketing/vercel.json | 2 +- docs/architecture.md | 10 +- docs/model-providers.md | 8 +- docs/sandbox-providers.md | 4 +- docs/source-control-providers.md | 2 +- knip.jsonc | 2 +- package.json | 6 +- packages/agent/package.json | 10 +- packages/agent/src/agent.test.ts | 20 ++-- packages/agent/src/agent.ts | 18 ++-- packages/agent/src/index.ts | 2 +- packages/agent/src/state.test.ts | 2 +- packages/agent/src/state.ts | 2 +- packages/agent/src/validation.test.ts | 4 +- packages/agent/src/validation.ts | 4 +- packages/api/package.json | 14 +-- packages/api/src/access.ts | 28 ++--- packages/api/src/audit.test.ts | 2 +- packages/api/src/audit.ts | 4 +- packages/api/src/control-plane.test.ts | 14 +-- packages/api/src/control-plane.ts | 2 +- packages/api/src/dashboard.test.ts | 20 ++-- packages/api/src/operations.test.ts | 102 +++++++++--------- packages/api/src/operations.ts | 18 ++-- packages/api/src/orpc/auth.ts | 4 +- packages/api/src/orpc/router.test.ts | 56 +++++----- packages/api/src/orpc/router.ts | 2 +- packages/api/src/storage.test.ts | 18 ++-- .../api/src/subscription-isolation.test.ts | 48 ++++----- packages/api/src/subscription-isolation.ts | 32 +++--- packages/api/src/types.ts | 2 +- packages/auth/package.json | 4 +- packages/auth/src/auth.test.ts | 2 +- packages/auth/src/auth.ts | 12 +-- packages/auth/tsdown.config.ts | 2 +- packages/build-env/package.json | 2 +- packages/build-env/src/build-info.test.ts | 34 +++--- packages/build-env/src/build-info.ts | 2 +- packages/build-env/src/environment.test.ts | 40 +++---- packages/build-env/src/environment.ts | 28 ++--- packages/build-env/src/nuxt.ts | 10 +- packages/build-env/src/resolve.test.ts | 8 +- packages/cli/package.json | 14 +-- packages/cli/src/credentials.test.ts | 8 +- packages/cli/src/credentials.ts | 2 +- packages/cli/src/index.ts | 56 ++++------ packages/cli/src/login.ts | 4 +- .../cli/src/subscription-isolation.test.ts | 48 ++++----- packages/cli/src/subscription-isolation.ts | 32 +++--- packages/config/package.json | 4 +- packages/config/src/checks.test.ts | 2 +- packages/config/src/checks.ts | 6 +- packages/config/src/index.test.ts | 22 ++-- packages/config/src/index.ts | 26 ++--- packages/database/.env.example | 2 +- packages/database/drizzle.config.ts | 2 +- packages/database/package.json | 2 +- packages/database/src/client.test.ts | 2 +- packages/i18n/locales/en/auth.json | 2 +- packages/i18n/locales/en/dashboard.json | 4 +- packages/i18n/locales/en/marketing.json | 22 ++-- packages/i18n/locales/it/auth.json | 2 +- packages/i18n/locales/it/dashboard.json | 4 +- packages/i18n/locales/it/marketing.json | 22 ++-- packages/i18n/lunaria.config.ts | 2 +- packages/i18n/package.json | 2 +- packages/i18n/schemas/auth.schema.json | 2 +- packages/i18n/schemas/common.schema.json | 2 +- packages/i18n/schemas/dashboard.schema.json | 2 +- packages/i18n/schemas/errors.schema.json | 2 +- packages/i18n/schemas/marketing.schema.json | 2 +- .../i18n/schemas/organizations.schema.json | 2 +- packages/i18n/scripts/generate-i18n-schema.ts | 2 +- packages/i18n/src/config.ts | 2 +- packages/mail/emails/EmailVerification.vue | 4 +- packages/mail/emails/PasswordReset.vue | 2 +- packages/mail/emails/PrivateInvitation.vue | 8 +- packages/mail/emails/PublicInvitation.vue | 4 +- packages/mail/emails/components/Header.vue | 2 +- packages/mail/emails/layouts/Base.vue | 2 +- packages/mail/package.json | 2 +- packages/mail/src/mail.test.ts | 8 +- .../mail/src/util/compiled-templates.json | 32 +++--- packages/mail/src/util/compiled.ts | 4 +- packages/mail/src/util/templates.ts | 4 +- packages/models/package.json | 4 +- packages/models/src/index.test.ts | 46 ++++---- packages/models/src/index.ts | 38 +++---- .../models/src/providers/subscription.test.ts | 24 ++--- packages/models/src/providers/subscription.ts | 18 ++-- packages/runner/package.json | 4 +- packages/runner/src/boundary.ts | 4 +- packages/runner/src/container.ts | 4 +- packages/runner/src/index.test.ts | 12 +-- packages/runner/src/index.ts | 2 +- packages/runner/src/local.ts | 2 +- packages/runner/src/process.test.ts | 12 +-- packages/runner/src/process.ts | 12 +-- packages/runner/src/sandbox.ts | 2 +- packages/shared/package.json | 2 +- packages/shared/src/evidence.test.ts | 10 +- packages/shared/src/evidence.ts | 2 +- packages/shared/src/index.ts | 2 +- packages/shared/src/redact.test.ts | 2 +- packages/source-control/package.json | 4 +- packages/source-control/src/conformance.ts | 4 +- packages/source-control/src/contracts.ts | 8 +- packages/source-control/src/input.ts | 2 +- .../src/providers/bitbucket-cloud.ts | 4 +- .../src/providers/bitbucket-data-center.ts | 4 +- .../source-control/src/providers/gitea.ts | 4 +- .../src/providers/github-comments.ts | 2 +- .../src/providers/github-issues.test.ts | 22 ++-- .../src/providers/github-issues.ts | 8 +- .../src/providers/github-pulls.test.ts | 22 ++-- .../src/providers/github-pulls.ts | 2 +- .../src/providers/github.test.ts | 10 +- .../source-control/src/providers/github.ts | 6 +- .../source-control/src/providers/gitlab.ts | 4 +- packages/source-control/src/status.ts | 2 +- pnpm-lock.yaml | 58 +++++----- turbo.jsonc | 10 +- 251 files changed, 1254 insertions(+), 1268 deletions(-) delete mode 120000 .agents/skills/agent-zero-architecture delete mode 120000 .agents/skills/agent-zero-cli delete mode 120000 .agents/skills/agent-zero-safety create mode 120000 .agents/skills/code-zero-architecture create mode 120000 .agents/skills/code-zero-cli create mode 120000 .agents/skills/code-zero-safety delete mode 120000 .claude/skills/agent-zero-architecture delete mode 120000 .claude/skills/agent-zero-cli delete mode 120000 .claude/skills/agent-zero-safety create mode 120000 .claude/skills/code-zero-architecture create mode 120000 .claude/skills/code-zero-cli create mode 120000 .claude/skills/code-zero-safety rename .agent-zero.example.yml => .code-zero.example.yml (92%) rename .skills/{agent-zero-architecture => code-zero-architecture}/SKILL.md (95%) rename .skills/{agent-zero-cli => code-zero-cli}/SKILL.md (83%) rename .skills/{agent-zero-safety => code-zero-safety}/SKILL.md (98%) diff --git a/.agents/skills/agent-zero-architecture b/.agents/skills/agent-zero-architecture deleted file mode 120000 index 8a21d70..0000000 --- a/.agents/skills/agent-zero-architecture +++ /dev/null @@ -1 +0,0 @@ -../../.skills/agent-zero-architecture \ No newline at end of file diff --git a/.agents/skills/agent-zero-cli b/.agents/skills/agent-zero-cli deleted file mode 120000 index c7ccbd9..0000000 --- a/.agents/skills/agent-zero-cli +++ /dev/null @@ -1 +0,0 @@ -../../.skills/agent-zero-cli \ No newline at end of file diff --git a/.agents/skills/agent-zero-safety b/.agents/skills/agent-zero-safety deleted file mode 120000 index 610ee1e..0000000 --- a/.agents/skills/agent-zero-safety +++ /dev/null @@ -1 +0,0 @@ -../../.skills/agent-zero-safety \ No newline at end of file diff --git a/.agents/skills/code-zero-architecture b/.agents/skills/code-zero-architecture new file mode 120000 index 0000000..477e33f --- /dev/null +++ b/.agents/skills/code-zero-architecture @@ -0,0 +1 @@ +../../.skills/code-zero-architecture \ No newline at end of file diff --git a/.agents/skills/code-zero-cli b/.agents/skills/code-zero-cli new file mode 120000 index 0000000..1f6098e --- /dev/null +++ b/.agents/skills/code-zero-cli @@ -0,0 +1 @@ +../../.skills/code-zero-cli \ No newline at end of file diff --git a/.agents/skills/code-zero-safety b/.agents/skills/code-zero-safety new file mode 120000 index 0000000..8848262 --- /dev/null +++ b/.agents/skills/code-zero-safety @@ -0,0 +1 @@ +../../.skills/code-zero-safety \ No newline at end of file diff --git a/.claude/skills/agent-zero-architecture b/.claude/skills/agent-zero-architecture deleted file mode 120000 index 7fe3f80..0000000 --- a/.claude/skills/agent-zero-architecture +++ /dev/null @@ -1 +0,0 @@ -../../.agents/skills/agent-zero-architecture \ No newline at end of file diff --git a/.claude/skills/agent-zero-cli b/.claude/skills/agent-zero-cli deleted file mode 120000 index da3e23c..0000000 --- a/.claude/skills/agent-zero-cli +++ /dev/null @@ -1 +0,0 @@ -../../.agents/skills/agent-zero-cli \ No newline at end of file diff --git a/.claude/skills/agent-zero-safety b/.claude/skills/agent-zero-safety deleted file mode 120000 index 8d95827..0000000 --- a/.claude/skills/agent-zero-safety +++ /dev/null @@ -1 +0,0 @@ -../../.agents/skills/agent-zero-safety \ No newline at end of file diff --git a/.claude/skills/code-zero-architecture b/.claude/skills/code-zero-architecture new file mode 120000 index 0000000..1841a14 --- /dev/null +++ b/.claude/skills/code-zero-architecture @@ -0,0 +1 @@ +../../.agents/skills/code-zero-architecture \ No newline at end of file diff --git a/.claude/skills/code-zero-cli b/.claude/skills/code-zero-cli new file mode 120000 index 0000000..80257ee --- /dev/null +++ b/.claude/skills/code-zero-cli @@ -0,0 +1 @@ +../../.agents/skills/code-zero-cli \ No newline at end of file diff --git a/.claude/skills/code-zero-safety b/.claude/skills/code-zero-safety new file mode 120000 index 0000000..abc3d90 --- /dev/null +++ b/.claude/skills/code-zero-safety @@ -0,0 +1 @@ +../../.agents/skills/code-zero-safety \ No newline at end of file diff --git a/.agent-zero.example.yml b/.code-zero.example.yml similarity index 92% rename from .agent-zero.example.yml rename to .code-zero.example.yml index 9c83dea..b2b340b 100644 --- a/.agent-zero.example.yml +++ b/.code-zero.example.yml @@ -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 @@ -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. @@ -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: @@ -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 diff --git a/.env.example b/.env.example index c0ac89e..e62714d 100644 --- a/.env.example +++ b/.env.example @@ -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: @@ -25,29 +25,29 @@ # 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. @@ -55,9 +55,9 @@ 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= diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index d163f78..d250207 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -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: diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 6a77e2d..e1f849f 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -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 diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index c022dad..cedc2ad 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -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/`. diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b6c70ca..0beeafc 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -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. diff --git a/.github/workflows/semantic-pull-requests.yml b/.github/workflows/semantic-pull-requests.yml index 6e2a6fe..011d283 100644 --- a/.github/workflows/semantic-pull-requests.yml +++ b/.github/workflows/semantic-pull-requests.yml @@ -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: diff --git a/.gitignore b/.gitignore index f4189ae..7305574 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,7 @@ test-report.junit.xml .env .env.* !.env.example -.agent-zero/ +.code-zero/ .data/ *.log .DS_Store diff --git a/.skills/agent-zero-architecture/SKILL.md b/.skills/code-zero-architecture/SKILL.md similarity index 95% rename from .skills/agent-zero-architecture/SKILL.md rename to .skills/code-zero-architecture/SKILL.md index b580d48..864af24 100644 --- a/.skills/agent-zero-architecture/SKILL.md +++ b/.skills/code-zero-architecture/SKILL.md @@ -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. @@ -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. diff --git a/.skills/agent-zero-cli/SKILL.md b/.skills/code-zero-cli/SKILL.md similarity index 83% rename from .skills/agent-zero-cli/SKILL.md rename to .skills/code-zero-cli/SKILL.md index 18f8754..10b7c98 100644 --- a/.skills/agent-zero-cli/SKILL.md +++ b/.skills/code-zero-cli/SKILL.md @@ -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. @@ -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. @@ -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. diff --git a/.skills/agent-zero-safety/SKILL.md b/.skills/code-zero-safety/SKILL.md similarity index 98% rename from .skills/agent-zero-safety/SKILL.md rename to .skills/code-zero-safety/SKILL.md index e6e272f..f509eef 100644 --- a/.skills/agent-zero-safety/SKILL.md +++ b/.skills/code-zero-safety/SKILL.md @@ -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. diff --git a/.skills/orpc-server/SKILL.md b/.skills/orpc-server/SKILL.md index db8eca4..f3aeb39 100644 --- a/.skills/orpc-server/SKILL.md +++ b/.skills/orpc-server/SKILL.md @@ -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. @@ -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. diff --git a/.skills/tsdown/SKILL.md b/.skills/tsdown/SKILL.md index ad8556a..5fdf370 100644 --- a/.skills/tsdown/SKILL.md +++ b/.skills/tsdown/SKILL.md @@ -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. diff --git a/AGENTS.md b/AGENTS.md index 0d4c024..2b313b5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,10 +1,10 @@ -# Agent Zero development guide +# Code Zero development guide These instructions apply to humans and coding agents working in this repository. ## Overview -Agent Zero is an open-source autonomous engineer that finds, fixes, and verifies problems in pull requests. This is an [aube](https://aube.jdx.dev) workspace containing the runtime packages, their adapters, and a single deployable Nuxt app. Turborepo orchestrates builds and checks. +Code Zero is an open-source autonomous engineer that finds, fixes, and verifies problems in pull requests. This is an [aube](https://aube.jdx.dev) workspace containing the runtime packages, their adapters, and a single deployable Nuxt app. Turborepo orchestrates builds and checks. **Key information:** @@ -23,7 +23,7 @@ Agent Zero is an open-source autonomous engineer that finds, fixes, and verifies ## Folder structure -- `./packages` — runtime packages and their adapters, published under `@agent-zero/*` +- `./packages` — runtime packages and their adapters, published under `@code-zero/*` - `./apps` — the deployable dashboard plus the docs, marketing, and mail-preview sites - `./docs` — canonical architecture and provider references, included verbatim by `apps/docs` - `./tooling` — shared Oxlint and Oxfmt configuration @@ -33,25 +33,25 @@ Agent Zero is an open-source autonomous engineer that finds, fixes, and verifies ## Workspace packages -| Path | Name | Description | -| ------------------------- | ---------------------------- | ---------------------------------------------------------------- | -| `packages/agent` | `@agent-zero/agent` | Orchestration and state transitions only | -| `packages/runner` | `@agent-zero/runner` | The only boundary allowed to run commands or mutate a checkout | -| `packages/models` | `@agent-zero/models` | Model-provider abstractions | -| `packages/source-control` | `@agent-zero/source-control` | Provider-neutral contracts plus GitHub, GitLab, Bitbucket, Gitea | -| `packages/config` | `@agent-zero/config` | Configuration parsing and policy | -| `packages/shared` | `@agent-zero/shared` | Stable cross-package contracts | -| `packages/build-env` | `@agent-zero/build-env` | Build metadata resolution and the Nuxt module that publishes it | -| `packages/cli` | `@agent-zero/cli` | Argument parsing and terminal presentation | -| `packages/database` | `@agent-zero/database` | Schema, Drizzle client, and checked-in migrations | -| `packages/auth` | `@agent-zero/auth` | Authentication policy and the Better Auth options factory | -| `packages/api` | `@agent-zero/api` | The oRPC router and control-plane operations | -| `packages/i18n` | `@agent-zero/i18n` | Locale messages and i18n tooling | -| `packages/mail` | `@agent-zero/mail` | Transactional mail templates | -| `apps/dashboard` | `@agent-zero/dashboard` | The single deployable app and composition root | -| `apps/docs` | `@agent-zero/docs` | Docus documentation site (not deployed with the dashboard) | -| `apps/marketing` | `@agent-zero/marketing` | Frontend-only public marketing site | -| `apps/mail-preview` | `@agent-zero/mail-preview` | Dev-only Maizzle preview server for `packages/mail` | +| Path | Name | Description | +| ------------------------- | --------------------------- | ---------------------------------------------------------------- | +| `packages/agent` | `@code-zero/agent` | Orchestration and state transitions only | +| `packages/runner` | `@code-zero/runner` | The only boundary allowed to run commands or mutate a checkout | +| `packages/models` | `@code-zero/models` | Model-provider abstractions | +| `packages/source-control` | `@code-zero/source-control` | Provider-neutral contracts plus GitHub, GitLab, Bitbucket, Gitea | +| `packages/config` | `@code-zero/config` | Configuration parsing and policy | +| `packages/shared` | `@code-zero/shared` | Stable cross-package contracts | +| `packages/build-env` | `@code-zero/build-env` | Build metadata resolution and the Nuxt module that publishes it | +| `packages/cli` | `@code-zero/cli` | Argument parsing and terminal presentation | +| `packages/database` | `@code-zero/database` | Schema, Drizzle client, and checked-in migrations | +| `packages/auth` | `@code-zero/auth` | Authentication policy and the Better Auth options factory | +| `packages/api` | `@code-zero/api` | The oRPC router and control-plane operations | +| `packages/i18n` | `@code-zero/i18n` | Locale messages and i18n tooling | +| `packages/mail` | `@code-zero/mail` | Transactional mail templates | +| `apps/dashboard` | `@code-zero/dashboard` | The single deployable app and composition root | +| `apps/docs` | `@code-zero/docs` | Docus documentation site (not deployed with the dashboard) | +| `apps/marketing` | `@code-zero/marketing` | Frontend-only public marketing site | +| `apps/mail-preview` | `@code-zero/mail-preview` | Dev-only Maizzle preview server for `packages/mail` | ## Toolchain @@ -112,13 +112,13 @@ Every runtime package exposes `build`, `clean`, `lint`, `lint:fix`, `test`, and ```bash # Test one package -aube run test --filter=@agent-zero/runner +aube run test --filter=@code-zero/runner # Build a package and its dependencies -aube run build --filter=@agent-zero/dashboard +aube run build --filter=@code-zero/dashboard # Type-check one package -aube run typecheck --filter=@agent-zero/api +aube run typecheck --filter=@code-zero/api ``` Use the smallest relevant check while iterating, then run the complete set before opening a pull request. @@ -196,19 +196,19 @@ aube run build ## Important files for agents -| File | Purpose | -| ------------------------------------- | --------------------------------------------------------------------- | -| `package.json` | Root scripts, pinned package manager, dev dependencies | -| `pnpm-workspace.yaml` | Workspace members, catalogs, and the TypeScript override | -| `pnpm-lock.yaml` | The only lockfile; written in place by aube | -| `turbo.jsonc` | Task graph, caching, and per-task environment inputs | -| `mise.toml` | Pinned Node.js and aube versions | -| `tsconfig.base.json`, `tsconfig.json` | Shared and root TypeScript configuration | -| `tooling/oxc` | Oxlint and Oxfmt configuration | -| `knip.jsonc` | Unused-code analysis configuration | -| `scripts/check-repository.mjs` | Validates community files and Agent Skills | -| `scripts/tsdown.config.ts` | Shared build configuration for tsdown packages | -| `.agents/skills/` | Agent Skills, including the Agent Zero architecture and safety skills | +| File | Purpose | +| ------------------------------------- | -------------------------------------------------------------------- | +| `package.json` | Root scripts, pinned package manager, dev dependencies | +| `pnpm-workspace.yaml` | Workspace members, catalogs, and the TypeScript override | +| `pnpm-lock.yaml` | The only lockfile; written in place by aube | +| `turbo.jsonc` | Task graph, caching, and per-task environment inputs | +| `mise.toml` | Pinned Node.js and aube versions | +| `tsconfig.base.json`, `tsconfig.json` | Shared and root TypeScript configuration | +| `tooling/oxc` | Oxlint and Oxfmt configuration | +| `knip.jsonc` | Unused-code analysis configuration | +| `scripts/check-repository.mjs` | Validates community files and Agent Skills | +| `scripts/tsdown.config.ts` | Shared build configuration for tsdown packages | +| `.agents/skills/` | Agent Skills, including the Code Zero architecture and safety skills | ## Troubleshooting @@ -236,7 +236,7 @@ aube run zero doctor - [Governance](GOVERNANCE.md) - [Security policy](SECURITY.md) - [Support channels](SUPPORT.md) -- [Issue tracker](https://github.com/wolfstar-project/agent-zero/issues) +- [Issue tracker](https://github.com/wolfstar-project/code-zero/issues) diff --git a/AI_POLICY.md b/AI_POLICY.md index ef416be..0d8af62 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -1,6 +1,6 @@ # AI contributions policy -Agent Zero is an autonomous engineering agent, and it is built with plenty of AI assistance. We are not going to pretend otherwise, and we are not going to ask you to. +Code Zero is an autonomous engineering agent, and it is built with plenty of AI assistance. We are not going to pretend otherwise, and we are not going to ask you to. This policy exists because of a growing volume of low-quality, AI-generated contributions that waste maintainer time. It applies to every pull request, issue, and review in this repository, whether a human, an agent, or both wrote it. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 9d6819a..5e43f5f 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -2,7 +2,7 @@ ## Our pledge -We pledge to make participation in the Agent Zero community a harassment-free experience for everyone, regardless of background, identity, appearance, ability, experience, education, nationality, race, religion, sex characteristics, gender identity, or sexual orientation. +We pledge to make participation in the Code Zero community a harassment-free experience for everyone, regardless of background, identity, appearance, ability, experience, education, nationality, race, religion, sex characteristics, gender identity, or sexual orientation. ## Our standards diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 789a78d..ebf1930 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ -# Contributing to Agent Zero +# Contributing to Code Zero -Thanks for helping build Agent Zero. Bug reports, design discussions, documentation improvements, tests, and focused code changes are all welcome. +Thanks for helping build Code Zero. Bug reports, design discussions, documentation improvements, tests, and focused code changes are all welcome. For questions and early design discussion, use the WolfStar community at [join.wolfstar.rocks](https://join.wolfstar.rocks). Read [SUPPORT.md](SUPPORT.md) to choose the right channel. Use GitHub issues for reproducible bugs and concrete proposals. Report vulnerabilities privately as described in [SECURITY.md](SECURITY.md). @@ -17,8 +17,8 @@ Requirements: `mise.toml` pins both Node.js and aube, so [mise](https://mise.jdx.dev) installs the whole toolchain in one step: ```bash -git clone https://github.com/wolfstar-project/agent-zero.git -cd agent-zero +git clone https://github.com/wolfstar-project/code-zero.git +cd code-zero mise install # or: npm install -g --ignore-scripts=false @endevco/aube aube ci cp .env.example .env @@ -51,7 +51,7 @@ Read [AGENTS.md](AGENTS.md) and the matching files in `.agents/skills/` before m If an AI agent helps you write a change, read [AI_POLICY.md](AI_POLICY.md) first: you still own the diff, you still run the checks, and you disclose the agent in the pull request. -Documentation lives in `apps/docs`, a [Docus](https://docus.dev) site (`aube run dev --filter=@agent-zero/docs` to preview it). The canonical architecture and provider references stay in `docs/*.md` and are included by the site — edit those files rather than duplicating their content into site pages. +Documentation lives in `apps/docs`, a [Docus](https://docus.dev) site (`aube run dev --filter=@code-zero/docs` to preview it). The canonical architecture and provider references stay in `docs/*.md` and are included by the site — edit those files rather than duplicating their content into site pages. ## Development workflow diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 3b23d9c..b7f278a 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,6 +1,6 @@ # Governance -Agent Zero is an open-source WolfStar Project repository. This document describes how technical decisions and contributions are handled while the project is in its early development stage. +Code Zero is an open-source WolfStar Project repository. This document describes how technical decisions and contributions are handled while the project is in its early development stage. ## Roles diff --git a/README.md b/README.md index 1e21d59..7beeb74 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,12 @@ WolfStar Logo -# Agent Zero +# Code Zero **An open-source autonomous engineer that finds, fixes, and verifies problems in pull requests** -[![GitHub License](https://img.shields.io/github/license/wolfstar-project/agent-zero?style=flat-square)](https://github.com/wolfstar-project/agent-zero/blob/main/LICENSE) -[![CI](https://img.shields.io/github/actions/workflow/status/wolfstar-project/agent-zero/ci.yaml?branch=main&style=flat-square&label=ci)](https://github.com/wolfstar-project/agent-zero/actions/workflows/ci.yaml) +[![GitHub License](https://img.shields.io/github/license/wolfstar-project/code-zero?style=flat-square)](https://github.com/wolfstar-project/code-zero/blob/main/LICENSE) +[![CI](https://img.shields.io/github/actions/workflow/status/wolfstar-project/code-zero/ci.yaml?branch=main&style=flat-square&label=ci)](https://github.com/wolfstar-project/code-zero/actions/workflows/ci.yaml) [![Node.js](https://img.shields.io/node/v/typescript?style=flat-square&label=node&color=5FA04E)](https://nodejs.org) [![Package manager: aube](https://img.shields.io/badge/package%20manager-aube-a1b858?style=flat-square)](https://aube.jdx.dev) @@ -17,13 +17,13 @@ ## Documentation -The full documentation — getting started, architecture, configuration, API, authentication, and deployment — lives in [`apps/docs`](./apps/docs), a [Docus](https://docus.dev) site. Run it locally with `aube run dev --filter=@agent-zero/docs`. The canonical architecture and provider references stay in [`docs/`](./docs) and are included by the site, so both always read the same source. +The full documentation — getting started, architecture, configuration, API, authentication, and deployment — lives in [`apps/docs`](./apps/docs), a [Docus](https://docus.dev) site. Run it locally with `aube run dev --filter=@code-zero/docs`. The canonical architecture and provider references stay in [`docs/`](./docs) and are included by the site, so both always read the same source. --- ## Overview -Agent Zero runs one trustworthy loop: ingest review feedback, inspect a pull-request diff proactively, or take on a scoped GitHub issue, validate the finding, apply a narrowly scoped policy-approved fix, run the repository's real checks, inspect the resulting diff, and produce evidence. +Code Zero runs one trustworthy loop: ingest review feedback, inspect a pull-request diff proactively, or take on a scoped GitHub issue, validate the finding, apply a narrowly scoped policy-approved fix, run the repository's real checks, inspect the resulting diff, and produce evidence. Feedback is never treated as truth merely because it came from a human or an AI reviewer. @@ -75,12 +75,12 @@ Adapters depend on the runtime; the runtime never depends on adapters. See [docs Each app's `aube --filter run dev` binds a fixed port, so they can all run side by side: -| App | Port | `aube --filter` name | -| ------------------------------------------ | ------ | -------------------------- | -| [`apps/dashboard`](./apps/dashboard) | `3000` | `@agent-zero/dashboard` | -| [`apps/marketing`](./apps/marketing) | `3001` | `@agent-zero/marketing` | -| [`apps/docs`](./apps/docs) | `3002` | `@agent-zero/docs` | -| [`apps/mail-preview`](./apps/mail-preview) | `3005` | `@agent-zero/mail-preview` | +| App | Port | `aube --filter` name | +| ------------------------------------------ | ------ | ------------------------- | +| [`apps/dashboard`](./apps/dashboard) | `3000` | `@code-zero/dashboard` | +| [`apps/marketing`](./apps/marketing) | `3001` | `@code-zero/marketing` | +| [`apps/docs`](./apps/docs) | `3002` | `@code-zero/docs` | +| [`apps/mail-preview`](./apps/mail-preview) | `3005` | `@code-zero/mail-preview` | --- @@ -110,7 +110,7 @@ The root `.env` configures the CLI. Each app loads its own file: the dashboard u ## CLI ```text -zero init create .agent-zero.yml +zero init create .code-zero.yml zero --version print the injected CLI version zero doctor [--json] inspect the local environment zero login [--url X] sign this machine in through the device flow @@ -122,7 +122,7 @@ zero run (--feedback X | --proactive) run using the configured mode The CLI parses arguments with [`@bomb.sh/args`](https://github.com/bomb-sh/args) and renders with [`@clack/prompts`](https://github.com/bombshell-dev/clack). Use `--proactive` to inspect the working-tree diff without reviewer feedback. When neither trigger is provided in a terminal, it asks for the task interactively; use `--feedback` or `--proactive` with `--json` for scripts and CI. -`zero login` runs the [RFC 8628](https://datatracker.ietf.org/doc/html/rfc8628) device flow: it prints a short code, you approve it at the deployment's `/device` page in a browser you are already signed into, and the CLI stores the resulting session token in `$XDG_CONFIG_HOME/agent-zero/credentials.json` (owner-readable only). The same command serves a cloud-managed deployment and a self-hosted one — pick which with `--url`, or set `AGENT_ZERO_URL`; without either it targets `http://localhost:3000`. Tokens are kept per origin, so signing into one deployment never evicts another, and `zero logout` without `--url` forgets all of them. The deployment must have `AUTH_ENABLE_DEVICE_AUTHORIZATION=true`; it is off by default. That flag also registers Better Auth's `bearer` plugin, which is what lets the stored token be presented as `Authorization: Bearer ` — without it the flow would mint a session that only a cookie could carry. `zero doctor` lists which deployments have a stored session and whether it has expired, never the token itself. +`zero login` runs the [RFC 8628](https://datatracker.ietf.org/doc/html/rfc8628) device flow: it prints a short code, you approve it at the deployment's `/device` page in a browser you are already signed into, and the CLI stores the resulting session token in `$XDG_CONFIG_HOME/code-zero/credentials.json` (owner-readable only). The same command serves a cloud-managed deployment and a self-hosted one — pick which with `--url`, or set `CODE_ZERO_URL`; without either it targets `http://localhost:3000`. Tokens are kept per origin, so signing into one deployment never evicts another, and `zero logout` without `--url` forgets all of them. The deployment must have `AUTH_ENABLE_DEVICE_AUTHORIZATION=true`; it is off by default. That flag also registers Better Auth's `bearer` plugin, which is what lets the stored token be presented as `Authorization: Bearer ` — without it the flow would mint a session that only a cookie could carry. `zero doctor` lists which deployments have a stored session and whether it has expired, never the token itself. --- @@ -136,7 +136,7 @@ The CLI parses arguments with [`@bomb.sh/args`](https://github.com/bomb-sh/args) | `/api/v1/**` | The same router over OpenAPI/REST; interactive docs at `/api/v1/docs`, spec at `/api/v1/openapi.json` | | `/api/auth/**` | The Better Auth handler (mounted by `@onmax/nuxt-better-auth` from `server/auth.config.ts`) | -`/rpc/**` and `/api/v1/**` are the same `rpcRouter` from [`packages/api`](./packages/api) served over two wire protocols, so authorization behaves identically either way. Reads are open for the dashboard; mutations (`tasks.create`, `approvals.decide`) fail closed. `AGENT_ZERO_CONTROL_PLANE_TOKENS` holds comma-separated `name:token` bearer credentials, and `AGENT_ZERO_CONTROL_PLANE_REPOSITORIES` allow-lists the repository paths `tasks.create` may target; without them every mutation is rejected. `AGENT_ZERO_CONTROL_PLANE_MODES` holds comma-separated `name:mode|mode` grants for the execution modes each principal may request; without a grant a principal may only request the non-writable `observe` and `suggest` modes, so `fix` and `autonomous` require an explicit operator grant. The approval actor is the authenticated principal's name, never a wire-supplied value. This bearer-token scheme authorizes the control-plane API and is independent of the Better Auth session that protects the dashboard UI. +`/rpc/**` and `/api/v1/**` are the same `rpcRouter` from [`packages/api`](./packages/api) served over two wire protocols, so authorization behaves identically either way. Reads are open for the dashboard; mutations (`tasks.create`, `approvals.decide`) fail closed. `CODE_ZERO_CONTROL_PLANE_TOKENS` holds comma-separated `name:token` bearer credentials, and `CODE_ZERO_CONTROL_PLANE_REPOSITORIES` allow-lists the repository paths `tasks.create` may target; without them every mutation is rejected. `CODE_ZERO_CONTROL_PLANE_MODES` holds comma-separated `name:mode|mode` grants for the execution modes each principal may request; without a grant a principal may only request the non-writable `observe` and `suggest` modes, so `fix` and `autonomous` require an explicit operator grant. The approval actor is the authenticated principal's name, never a wire-supplied value. This bearer-token scheme authorizes the control-plane API and is independent of the Better Auth session that protects the dashboard UI. Typed clients infer their shape from the router rather than redeclaring request and response types: @@ -144,7 +144,7 @@ Typed clients infer their shape from the router rather than redeclaring request import { createORPCClient } from '@orpc/client'; import { RPCLink } from '@orpc/client/fetch'; import type { RouterClient } from '@orpc/server'; -import type { RpcRouter } from '@agent-zero/api'; +import type { RpcRouter } from '@code-zero/api'; const client: RouterClient = createORPCClient( new RPCLink({ @@ -201,11 +201,11 @@ source; it reads git history, so it needs the dictionaries committed. Playwright suite against `server/auth.config.ts` running with an in-memory Better Auth adapter and signup enabled (`AUTH_E2E_MEMORY=true`, set only for that preview server), so the suite creates and signs in its own throwaway account through the real `/api/auth/**` endpoints instead of a live -database. Use `aube --filter @agent-zero/dashboard run test:browser:ui` for Playwright UI mode. +database. Use `aube --filter @code-zero/dashboard run test:browser:ui` for Playwright UI mode. Hosted execution is available through the provider-neutral `RunnerPool`: every lease has a maximum lifetime, quota checks run before provisioning, expired sandboxes are stopped, and the agent receives only the ordinary `Runner` contract. See [the sandbox provider evaluation](./docs/sandbox-providers.md). -Agent Zero supports native OpenAI, Anthropic, and Google Generative AI adapters, Vercel AI +Code Zero supports native OpenAI, Anthropic, and Google Generative AI adapters, Vercel AI Gateway, arbitrary OpenAI-compatible endpoints, and two subscription transports that drive a locally authenticated vendor CLI. Select the transport in repository policy and provide its credential through the environment: @@ -220,25 +220,25 @@ credential through the environment: | `claude-code` | subscription | none; `claude login` on the host | `opus`, `sonnet` | | `codex-cli` | subscription | none; `codex login` on the host | `gpt-5.2-codex` | -`AGENT_ZERO_MODEL_BASE_URL` is an optional operator environment variable for custom gateways and +`CODE_ZERO_MODEL_BASE_URL` is an optional operator environment variable for custom gateways and self-hosted endpoints. Endpoint URLs and credentials cannot be named or embedded in -`.agent-zero.yml`, so untrusted repository policy cannot redirect a provider secret. The AI Gateway +`.code-zero.yml`, so untrusted repository policy cannot redirect a provider secret. The AI Gateway accepts `provider/model` identifiers and exposes the broader AI SDK provider catalog without adding -provider-specific logic to the Agent Zero runtime. +provider-specific logic to the Code Zero runtime. #### Subscription transports `claude-code` and `codex-cli` spend an existing Claude Pro/Max or ChatGPT Plus/Pro subscription instead of a metered API key. They drive the vendor CLI installed on the host, so there is no -credential for Agent Zero to read, rotate, or redact — the session lives in the CLI's own state. +credential for Code Zero to read, rotate, or redact — the session lives in the CLI's own state. Both are off unless the matching operator flag is exactly `true`: ``` -AGENT_ZERO_ENABLE_CLAUDE_CODE_PROVIDER=true # requires: npm i -g @anthropic-ai/claude-code && claude login -AGENT_ZERO_ENABLE_CODEX_CLI_PROVIDER=true # requires: the Codex CLI on PATH && codex login +CODE_ZERO_ENABLE_CLAUDE_CODE_PROVIDER=true # requires: npm i -g @anthropic-ai/claude-code && claude login +CODE_ZERO_ENABLE_CODEX_CLI_PROVIDER=true # requires: the Codex CLI on PATH && codex login ``` -`AGENT_ZERO_CLAUDE_CODE_PATH` and `AGENT_ZERO_CODEX_PATH` point at the executable when it is not on +`CODE_ZERO_CLAUDE_CODE_PATH` and `CODE_ZERO_CODEX_PATH` point at the executable when it is not on `PATH`. `zero doctor` runs the CLI's `--version` through the runner boundary and reports whether it is installed; an expired session can only be detected by a real call, and surfaces as `Run \`claude login\` on this host` rather than a spawn error. @@ -250,7 +250,7 @@ Known limits, all of which follow from the session being local: transports for a multi-tenant control plane; scope them to one administrative workspace, or keep a metered transport for shared work. - **Host-bound.** The run must execute where `claude login` / `codex login` was completed, and the - Agent Zero process must be allowed to spawn subprocesses. + Code Zero process must be allowed to spawn subprocesses. - **`codex-cli`'s process is not runner-routed.** `claude-code`'s CLI process is spawned through `packages/runner`'s `spawnManagedProcess`, the same boundary as every repository check; a composition root wires this in (`modelFromEnvironment`'s `ClaudeCodeProcessSpawner` parameter). @@ -258,7 +258,7 @@ Known limits, all of which follow from the session being local: the vendor SDK directly. Its read-only sandbox, disabled approvals, and disabled MCP servers are the containment for that one transport instead. - **Container isolation covers `claude-code`, not `codex-cli`.** When `runner.isolation: container` - in `.agent-zero.yml`, `claude-code`'s CLI process runs in its own container instead of on the host + in `.code-zero.yml`, `claude-code`'s CLI process runs in its own container instead of on the host (see below) — Codex still can't be routed at all, per the point above. - **A `RunnerPool` lease refuses `claude-code` rather than running it unisolated.** A hosted sandbox provider (`vitehub`/`cloudflare`/`vercel`/`custom`) returns only the ordinary `Runner` @@ -268,11 +268,11 @@ Known limits, all of which follow from the session being local: quota, and audit controls, `packages/api` refuses the transport outright whenever a `runnerPool` is configured on the `RunTaskOptions` passed to `runTask`, independent of `runner.isolation`. The refusal is reported to `modelFromEnvironment` as a reason, not by turning the enable flag off, so - a configured `AGENT_ZERO_MODEL_FALLBACK_PROVIDER` still gets a turn instead of the run failing + a configured `CODE_ZERO_MODEL_FALLBACK_PROVIDER` still gets a turn instead of the run failing outright — same as the missing-container-image case below. `codex-cli` has no working code path to bypass here in the first place (see above), so this gate is `claude-code`-only. - **Expiring.** OAuth sessions end; the run fails until an operator logs in again. Set - `AGENT_ZERO_MODEL_FALLBACK_PROVIDER` and `AGENT_ZERO_MODEL_FALLBACK_MODEL` to an API-key + `CODE_ZERO_MODEL_FALLBACK_PROVIDER` and `CODE_ZERO_MODEL_FALLBACK_MODEL` to an API-key transport to degrade to it automatically when the CLI is missing, its session expired, or its usage window is spent and too far from reopening to wait out. The fallback applies to those failures only; an invalid model decision never silently switches transports. @@ -297,12 +297,12 @@ exactly the silent bypass this exists to prevent — so under container isolatio CLI process runs in its own ephemeral container too, and is refused outright rather than falling back to a host spawn when that container can't be built. The refusal is reported to `modelFromEnvironment` as a reason rather than by turning the enable flag off, so a configured -`AGENT_ZERO_MODEL_FALLBACK_PROVIDER` still gets a turn instead of the run failing outright — the +`CODE_ZERO_MODEL_FALLBACK_PROVIDER` still gets a turn instead of the run failing outright — the transport genuinely is configured, this host just can't isolate it: ``` -AGENT_ZERO_CLAUDE_CODE_CONTAINER_IMAGE= # required under container isolation; must have `claude` on PATH -AGENT_ZERO_CLAUDE_CODE_CONTAINER_EXECUTABLE= # optional; defaults to "claude" — set if the image installs it elsewhere +CODE_ZERO_CLAUDE_CODE_CONTAINER_IMAGE= # required under container isolation; must have `claude` on PATH +CODE_ZERO_CLAUDE_CODE_CONTAINER_EXECUTABLE= # optional; defaults to "claude" — set if the image installs it elsewhere CLAUDE_CONFIG_DIR= # optional; defaults to ~/.claude ``` @@ -314,11 +314,11 @@ constraint rather than a design choice: - **No repository checkout mounted, and no `--network` flag.** The CLI is configured as a text generator only (`tools: []`, `mcpServers: {}`) and never touches the checkout, so none is provided. `permissions.network` is not reused either: that policy contains an _untrusted - checkout's_ own commands, and has nothing to do with Agent Zero's own necessary calls to the + checkout's_ own commands, and has nothing to do with Code Zero's own necessary calls to the vendor API — reusing it would simply break every subscription call under `restricted` or `none`. - **The vendor SDK resolves the CLI to an absolute host path** (its own bundled native binary, or - `AGENT_ZERO_CLAUDE_CODE_PATH`), which does not exist inside the container. The containerized spawn - always runs the bare executable name from `AGENT_ZERO_CLAUDE_CODE_CONTAINER_EXECUTABLE` instead — + `CODE_ZERO_CLAUDE_CODE_PATH`), which does not exist inside the container. The containerized spawn + always runs the bare executable name from `CODE_ZERO_CLAUDE_CODE_CONTAINER_EXECUTABLE` instead — whatever the configured image actually has installed. - **The CLI's login session spans two host locations that are not nested**: `~/.claude/` (credentials, settings) and a sibling file, `~/.claude.json` (project/session record). Docker @@ -344,7 +344,7 @@ twice. This applies only to the subscription transports; a metered transport has on. ``` -AGENT_ZERO_SUBSCRIPTION_LIMIT_WAIT_MS=3600000 # default; 0 disables waiting entirely +CODE_ZERO_SUBSCRIPTION_LIMIT_WAIT_MS=3600000 # default; 0 disables waiting entirely ``` The wait is deliberately bounded, because a control plane must not block on someone's personal plan @@ -353,7 +353,7 @@ for an unbounded time: - **Only a reported reset is waited on.** Claude Code reports the reset instant in its rate-limit event, and Codex serializes `resets_at` / `reset_after_seconds` alongside the rejection. When neither is present the run reports the limit instead of guessing at an interval. -- **`AGENT_ZERO_SUBSCRIPTION_LIMIT_WAIT_MS` is a total, not a per-wait allowance.** A reset further +- **`CODE_ZERO_SUBSCRIPTION_LIMIT_WAIT_MS` is a total, not a per-wait allowance.** A reset further out than the remaining budget is never waited on; the error propagates with the reset instant intact, so a configured fallback still gets its turn and an operator still learns when to return. A weekly window is normally far past the default hour, so it fails fast by design. @@ -368,7 +368,7 @@ Session resumption itself is Claude Code only. `codex exec resume ` exists i an interrupted Codex call is reissued after the wait rather than resumed. The waiting behaviour is identical for both. -To record cost, configure explicit rates; Agent Zero never guesses provider pricing: +To record cost, configure explicit rates; Code Zero never guesses provider pricing: ```yaml model: @@ -393,9 +393,9 @@ Issue-to-PR work is opt-in twice: `issues.enabled` must be true and the issue mu - **[Oxlint](https://oxc.rs) + [Oxfmt](https://oxc.rs)** – type-aware linting and repository-wide formatting, extended with [`@e18e/eslint-plugin`](https://github.com/e18e/eslint-plugin) for modernization, module-replacement, and performance rules. - **[Knip](https://knip.dev)** – detects unused files, exports, and dependencies across the workspace as part of `lint:ci`. - **[`@arethetypeswrong/cli`](https://github.com/arethetypeswrong/arethetypeswrong.github.io) + [Publint](https://publint.dev)** – validate every package build. -- **[`@redstardev/unplugin-version-injector`](https://www.npmjs.com/package/@redstardev/unplugin-version-injector)** – replaces the version marker in `@agent-zero/shared`; the CLI displays that injected version in its header. +- **[`@redstardev/unplugin-version-injector`](https://www.npmjs.com/package/@redstardev/unplugin-version-injector)** – replaces the version marker in `@code-zero/shared`; the CLI displays that injected version in its header. -GitHub Actions run typecheck, build/export validation, Oxlint, Oxfmt, tests, and an injected-version smoke test. The manual release-readiness workflow validates artifacts without publishing; package publication remains absent until npm trusted publishing and the `@agent-zero` policy are configured. +GitHub Actions run typecheck, build/export validation, Oxlint, Oxfmt, tests, and an injected-version smoke test. The manual release-readiness workflow validates artifacts without publishing; package publication remains absent until npm trusted publishing and the `@code-zero` policy are configured. --- @@ -425,10 +425,10 @@ aube run check:repo Want to contribute without setting up locally? Click any button below to open this project in a cloud development environment: -[![Open in VS Code](https://img.shields.io/badge/Open%20in-VS%20Code-007ACC?style=flat-square&logo=visualstudiocode)](https://vscode.dev/github/wolfstar-project/agent-zero) -[![Open in GitHub Codespaces](https://img.shields.io/badge/Open%20in-GitHub%20Codespaces-181717?style=flat-square&logo=github)](https://codespaces.new/wolfstar-project/agent-zero) -[![Open in StackBlitz](https://img.shields.io/badge/Open%20in-StackBlitz-1269D3?style=flat-square&logo=stackblitz)](https://stackblitz.com/github/wolfstar-project/agent-zero) -[![Open in Gitpod](https://img.shields.io/badge/Open%20in-Gitpod-FFB45B?style=flat-square&logo=gitpod)](https://gitpod.io/#https://github.com/wolfstar-project/agent-zero) +[![Open in VS Code](https://img.shields.io/badge/Open%20in-VS%20Code-007ACC?style=flat-square&logo=visualstudiocode)](https://vscode.dev/github/wolfstar-project/code-zero) +[![Open in GitHub Codespaces](https://img.shields.io/badge/Open%20in-GitHub%20Codespaces-181717?style=flat-square&logo=github)](https://codespaces.new/wolfstar-project/code-zero) +[![Open in StackBlitz](https://img.shields.io/badge/Open%20in-StackBlitz-1269D3?style=flat-square&logo=stackblitz)](https://stackblitz.com/github/wolfstar-project/code-zero) +[![Open in Gitpod](https://img.shields.io/badge/Open%20in-Gitpod-FFB45B?style=flat-square&logo=gitpod)](https://gitpod.io/#https://github.com/wolfstar-project/code-zero) --- @@ -436,14 +436,14 @@ Want to contribute without setting up locally? Click any button below to open th Please read the [Contributing Guide][contributing] before submitting a pull request, and the architecture and safety rules in [AGENTS.md](./AGENTS.md). -Thank you to all the people who have already contributed to Agent Zero! +Thank you to all the people who have already contributed to Code Zero! - - Contributors + + Contributors --- Apache-2.0 © WolfStar Project. -[contributing]: https://github.com/wolfstar-project/agent-zero/blob/main/CONTRIBUTING.md +[contributing]: https://github.com/wolfstar-project/code-zero/blob/main/CONTRIBUTING.md diff --git a/SUPPORT.md b/SUPPORT.md index e6484d1..768784d 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -1,6 +1,6 @@ # Support -Agent Zero is an open-source project maintained by the WolfStar Project. +Code Zero is an open-source project maintained by the WolfStar Project. ## Where to ask for help @@ -12,7 +12,7 @@ Use GitHub issues for reproducible bugs, scoped feature proposals, and work that A useful bug report should include: -- the Agent Zero version or commit SHA; +- the Code Zero version or commit SHA; - operating system and Node.js/aube versions; - the runner mode and relevant configuration with secrets removed; - deterministic reproduction steps; @@ -29,6 +29,6 @@ Follow [SECURITY.md](SECURITY.md) and use GitHub private vulnerability reporting ## Support boundaries -Maintainers can help with Agent Zero itself, its documented development workflow, and supported integrations. They cannot provide support for unrelated repository code, third-party provider outages, private infrastructure, or credentials. +Maintainers can help with Code Zero itself, its documented development workflow, and supported integrations. They cannot provide support for unrelated repository code, third-party provider outages, private infrastructure, or credentials. Please keep support requests respectful and consistent with the [Code of Conduct](CODE_OF_CONDUCT.md). diff --git a/apps/dashboard/.env.example b/apps/dashboard/.env.example index f8a2812..f26a939 100644 --- a/apps/dashboard/.env.example +++ b/apps/dashboard/.env.example @@ -14,31 +14,31 @@ # Model providers. Duplicated from the root `.env` (which configures the CLI) # because the control plane hosted here executes runs in this process: the # dashboard needs its own credentials rather than inheriting the CLI's. The root -# file annotates the subscription transports (AGENT_ZERO_ENABLE_*, -# AGENT_ZERO_CLAUDE_CODE_*, AGENT_ZERO_MODEL_FALLBACK_*); set them here too when +# file annotates the subscription transports (CODE_ZERO_ENABLE_*, +# CODE_ZERO_CLAUDE_CODE_*, CODE_ZERO_MODEL_FALLBACK_*); set them here too when # this deployment should run them. OPENAI_API_KEY= -AGENT_ZERO_MODEL=gpt-5 +CODE_ZERO_MODEL=gpt-5 GITHUB_TOKEN= # Control-plane API (packages/api), served at /rpc/** and /api/v1/**. Fails closed: without -# AGENT_ZERO_CONTROL_PLANE_TOKENS every mutation is rejected while reads stay open. +# CODE_ZERO_CONTROL_PLANE_TOKENS every mutation is rejected while reads stay open. # Comma-separated name:token bearer credentials. -AGENT_ZERO_CONTROL_PLANE_TOKENS= +CODE_ZERO_CONTROL_PLANE_TOKENS= # Comma-separated repository paths tasks.create may target. -AGENT_ZERO_CONTROL_PLANE_REPOSITORIES= +CODE_ZERO_CONTROL_PLANE_REPOSITORIES= # Comma-separated name:mode|mode execution-mode grants. Without a grant a principal may only # request the non-writable observe and suggest modes. -AGENT_ZERO_CONTROL_PLANE_MODES= +CODE_ZERO_CONTROL_PLANE_MODES= # Comma-separated origins allowed to read /api/v1/** cross-origin via CORS. Empty by default: # tasks.list/tasks.get/health are unauthenticated by design, so letting a browser read their # responses from another origin is an explicit opt-in, not the default. -AGENT_ZERO_CONTROL_PLANE_ORIGINS= +CODE_ZERO_CONTROL_PLANE_ORIGINS= GITHUB_WEBHOOK_SECRET= # Checkout the webhook route binds incoming events to. POST /webhooks/github fails closed # (503, nothing ingested) until both this and GITHUB_WEBHOOK_SECRET are set. -AGENT_ZERO_CHECKOUT_PATH= +CODE_ZERO_CHECKOUT_PATH= # Database (packages/database). Owns the schema and the migrations; this app is the only process # that opens it. The pre-split name AUTH_DATABASE_URL is still read when this is unset. @@ -46,7 +46,7 @@ AGENT_ZERO_CHECKOUT_PATH= # pointing at one database, or migrations and the running server disagree about which store they # mean. `server/auth.config.ts` resolves this at module load, so an unset value fails the server on # its first request rather than degrading quietly. -DATABASE_URL=postgres://postgres:postgres@localhost:5432/agent_zero_auth +DATABASE_URL=postgres://postgres:postgres@localhost:5432/code_zero_auth # Authentication (server/auth.config.ts), mounted in-process at /api/auth/**. # Generate the secret with: openssl rand -base64 32 @@ -75,7 +75,7 @@ AUTH_ENABLE_INVITATIONS=false # exactly "true": completing the flow mints a full session for a client that never sees the # browser, so it is a deliberate grant rather than something an upgrade turns on. Applies the same # way to a cloud-managed deployment and a self-hosted one; the CLI is pointed at either with -# `zero login --url ` or AGENT_ZERO_URL. +# `zero login --url ` or CODE_ZERO_URL. # # Also registers Better Auth's bearer plugin, which is the half that makes the flow's output # usable: /device/token returns a session token, but session resolution reads the session cookie, @@ -158,11 +158,11 @@ KV_REST_API_TOKEN= # # Setting any of them takes precedence over every auto-detected provider, so a deployment can # always state what it is rather than have it inferred. -AGENT_ZERO_BUILD_COMMIT= -AGENT_ZERO_BUILD_BRANCH= -AGENT_ZERO_BUILD_PR_NUMBER= -AGENT_ZERO_BUILD_URL= -AGENT_ZERO_BUILD_PRODUCTION_URL= +CODE_ZERO_BUILD_COMMIT= +CODE_ZERO_BUILD_BRANCH= +CODE_ZERO_BUILD_PR_NUMBER= +CODE_ZERO_BUILD_URL= +CODE_ZERO_BUILD_PRODUCTION_URL= # One of dev, preview, canary, release. The one field no detection can work out for a self-hosted # staging deployment, which is a preview in every way that matters to the people looking at it. -AGENT_ZERO_BUILD_ENV= +CODE_ZERO_BUILD_ENV= diff --git a/apps/dashboard/app/app.vue b/apps/dashboard/app/app.vue index 43052e3..d6758e5 100644 --- a/apps/dashboard/app/app.vue +++ b/apps/dashboard/app/app.vue @@ -1,14 +1,14 @@ diff --git a/apps/dashboard/modules/shared/components/LocaleSwitcher.vue b/apps/dashboard/modules/shared/components/LocaleSwitcher.vue index e627504..2d56959 100644 --- a/apps/dashboard/modules/shared/components/LocaleSwitcher.vue +++ b/apps/dashboard/modules/shared/components/LocaleSwitcher.vue @@ -12,8 +12,8 @@