GitHubBlog

Search Documentation

Search for a page in the docs

Settings Injection

Workspace creation is not only a directory copy. The launcher composes the settings that make an agent useful in that repo: instructions, persona, skills, and optional AI provider credentials.

The goal is simple: when the CLI starts, it should already know what kind of workspace it is in, which OpenAlice tools are available, and which model/provider config it should use.

Instruction files

Templates author one neutral instruction.md. At creation time OpenAlice writes the composed instruction into the filenames expected by the selected agent family:

  • CLAUDE.md for Claude Code.
  • AGENTS.md for Codex, opencode, pi, and other agent CLIs that follow the shared convention.

The content is identical where possible. One source keeps Claude, Codex, and other agents from drifting into different task definitions.

If injectPersona is enabled for the template, the user's persona override is composed into this instruction file. The persona source lives in OpenAlice's file-backed config system, not in the template itself.

Tool skills

Templates decide whether the agent should receive OpenAlice's CLI playbooks:

Template keyEffect
injectToolsInjects the per-CLI playbook skills for alice, alice-workspace, alice-uta, and traderhub
bundledSkillsCopies template-specific skill folders into the workspace
injectPersonaComposes the user's persona into the instruction file

self-scheduling is always injected so any workspace can understand self-describing issue files and scheduled runs.

AI provider config

The model runs inside the selected CLI, so OpenAlice writes that CLI's native config from the central AI Provider vault.

  • Claude Code receives an anthropic-wire credential when one is injected, or falls back to its own login.
  • Codex receives an openai-responses-wire credential when one is injected, or falls back to its own login.
  • opencode / pi have no subscription login fallback, so they need a compatible injected credential.

The Web UI exposes an AI Provider button per workspace with a test-before-save flow. A changed config must pass a one-shot probe before it can be saved, so bad keys and wrong endpoints are caught before the next agent run.

Template credentials

Templates can declare an optional agentCredentials map:

{
  "agentCredentials": {
    "codex": { "credentialSlug": "openai-main", "model": "gpt-5.4" }
  }
}

This is the per-template counterpart to the user-level default workspace credential. When both exist, the template's agentCredentials wins for that agent. Built-in templates normally rely on the user's defaults instead.

Next Steps