RESOURCES / DOCSSTEMCODE

StemCode Docs.

A practical handbook for installing StemCode, working in the terminal and desktop app, connecting editors, configuring providers and permissions, indexing large repositories, using team memory, extending the agent, and automating review.

CLI + DESKTOP + IDE + CI LOCAL-FIRST WORKSPACE APACHE-2.0
00 / OVERVIEW

One agent across your real repository.

StemCode is a local AI coding agent built to work directly in a repository. The same core agent can run in the terminal, desktop app, VS Code, Visual Studio, JetBrains, ACP-compatible editors, and CI review workflows.

CORE WORKFLOW

Understand → plan → edit → validate → review. StemCode can inspect the repo, make tracked file changes, run real local tools, review diffs, and keep durable project context in versionable .stemcode/ files.

01 / INSTALL

Install the CLI or desktop app.

The CLI installers all resolve to the same self-contained StemCode release binary. You can use the shell installer or an npm-family package manager; no .NET toolchain is required for the packaged CLI.

CLI installers

curlcurl -fsSL https://raw.githubusercontent.com/rizwan3d/StemCode/master/scripts/install.sh | bash
PowerShellirm https://raw.githubusercontent.com/rizwan3d/StemCode/master/scripts/install.ps1 | iex
npmnpm install -g stemcode
pnpmpnpm add -g stemcode
bunbun add -g stemcode
DESKTOP

Release builds

Desktop builds are published for Windows x64, macOS x64/arm64, and Linux x64/arm64. Windows also has a setup executable.

LATEST RELEASE ↗
VERIFY

Checksums & provenance

Release assets include SHA256SUMS. The release pipeline also generates GitHub artifact attestations for build provenance.

gh attestation verify path/to/asset -R rizwan3d/StemCode

Advanced installer options

The npm-family package is a thin installer around the same self-contained release binary. It resolves the platform runtime, verifies the archive against the published checksums, and unpacks the CLI without requiring a .NET SDK.

SettingBehavior
STEMCODE_SKIP_DOWNLOAD=1Skip the npm package's binary download step. Useful when a binary is provisioned separately.
STEMCODE_CLI_TAGOverride the release tag the npm installer resolves.
STEMCODE_CLI_BASE_URLOverride the base URL used to fetch CLI release assets.
STEMCODE_NO_PROGRESS=1Suppress interactive progress output, especially useful in CI logs.

Supported packaged CLI targets are win-x64, osx-x64, osx-arm64, linux-x64, and linux-arm64. If npm/pnpm postinstall is skipped or the download fails, StemCode can fetch the binary on first run. Bun skips postinstall scripts by default, so its package normally performs that lazy first-run fetch.

CLI vs NuGet

The StemCode library is also published to NuGet for tagged releases, but the CLI itself is distributed through the install scripts and npm-family installers above.

CI install output

Set STEMCODE_NO_PROGRESS=1 to keep installer output compact in CI logs.

02 / FIRST RUN

Choose a provider, model, and workspace.

Run stemcode once to complete onboarding. StemCode can use subscription account sign-in, API-key providers, OpenAI-compatible endpoints, or local model providers.

  1. Choose a setup type.Subscription account, API-key provider, OpenAI-compatible provider, or local provider.
  2. Authenticate.Sign in, enter a key, or configure a compatible/local endpoint.
  3. Discover models.StemCode asks the provider for the models available to the configured account or endpoint.
  4. Open a workspace.Use a desktop folder or launch the CLI from the repository directory.

Headless / preseeded setup

For automated or preconfigured environments, set the provider variables before the first run.

export STEMCODE_PROVIDER="openrouter"
export STEMCODE_MODEL="poolside/laguna-m.1:free"
export STEMCODE_THINKING="on"
export STEMCODE_REASONING="high"
export STEMCODE_PROJECT_NAME="customer-portal"
export STEMCODE_API_KEY="YOUR_ROTATED_KEY"

stemcode -p "Say hello in one short line"

Use /onboard later to run provider setup again, or open /setting provider from an active session.

03 / CLI WORKFLOW

Interactive, one-shot, piped, or resumable.

INTERACTIVE

Work inside the repo

cd your-project
stemcode

Open the terminal UI with conversation history, live activity, prompts, and status.

ONE-SHOT

Ask and print

stemcode "Find risky changes in this branch"

Useful for quick questions, scripts, and automation-friendly output.

STDIN

Pipe context

git diff --stat | stemcode --stdin --profile review

Feed generated context into a one-shot review or analysis workflow.

RESUME

Return to a session

stemcode --session <session-guid>

Resume a saved local session instead of starting over.

Complete CLI options

OptionPurpose
--acpRun an Agent Client Protocol server over stdin/stdout for compatible editors and tools.
--interactiveStart the terminal UI explicitly.
--stdinRead one-shot prompt text from standard input.
--jsonWrite one-shot prompt or command output as a JSON object.
-y, --yesApprove promptable tool requests for this run while preserving explicit deny rules.
-p, --prompt <text>Run one prompt and print the response.
--sandbox-mode <mode>Override sandbox mode with read-only, workspace-write, or danger-full-access.
--provider-auth-key <key>Supply a provider API key when onboarding asks for a credential.
--session <id>Resume an existing session.
--section <id>Compatibility alias for --session.
--profile <name>Start with a named profile.
--thinking <on|off>Start with thinking enabled or disabled.
-v, --versionPrint the StemCode CLI version.
--doctorRun system diagnostics and print the doctor report.
--no-update-checkSkip checking for application updates on startup.
--no-old-readerResume a session without replaying old messages to the screen.
-h, --helpShow CLI help.
04 / FULL CLI REFERENCE

Complete built-in command reference.

Type / in the terminal input to open suggestions. These commands are provided by the StemCode command catalog; the terminal UI also adds a small set of convenience commands for view, voice, and file navigation.

CommandWhat it does
/aAlias for /agent.
/agentList available subagents for delegated work.
/allow <tool-or-tag> [pattern]Add a session-scoped allow override for a tool/tag and optional target pattern.
/autocommit [on|off|status]Show or toggle automatic Git commits for AI-made workspace changes.
/budget [status|local [path]|cloud]Show or configure budget controls from local or cloud settings.
/cloneDuplicate the current session at the current position.
/compact [retained-turns]Manually compact the session context.
/configShow provider, config path, active profile, thinking, and active model details.
/copyCopy the last agent message to the clipboard.
/disableanalyticsDisable product analytics for the current workspace.
/doctorShow comprehensive system diagnostics for StemCode.
/deny <tool-or-tag> [pattern]Add a session-scoped deny override for a tool/tag and optional target pattern.
/exitExit the interactive shell.
/export [json|html] [path]Export the current session as JSON or HTML.
/fork [turn-number]Create a new fork from a previous user message.
/helpList available shell commands and their usage.
/import <json-path>Import a session from JSON and switch to the imported copy.
/index [update|status|rebuild|list] [limit]Update, rebuild, inspect, or list the local codebase index.
/init [recommended|minimal|custom]Initialize workspace-local StemCode files using a preset or picker.
/lessons …Manage local lesson memory: status, enable/disable, list, search, save, edit, or delete lessons.
/lsp [status|refresh|file <path> [refresh]]Inspect discovered language servers or candidates for one file.
/mcpShow configured MCP servers, custom tool providers, and discovered dynamic tools.
/modelsOpen the active model picker.
/newStart a fresh section without carrying prior context.
/onboardRe-run provider onboarding and switch the active session to the validated provider.
/permissionsShow the current permission summary and session override guidance.
/profile <name>Switch the active agent profile for subsequent prompts.
/provider [list|<name>]List saved providers or switch the active session to another saved provider.
/reasoning [show|none|minimal|low|medium|high|xhigh|max]Show or set provider reasoning effort.
/redact [on|off]Show or toggle secret redaction for session output.
/redoRe-apply the most recently undone file edit transaction.
/reloadReload keybindings, extensions, skills, prompts, and themes.
/resume [session-id]Resume a different session.
/rulesList effective permission rules in evaluation order.
/sessionShow current session information and stats.
/setting [model|profile|thinking|provider|budget|workspace|permissions|tools|summary]Open the settings picker or jump directly to a settings area.
/setup-sandboxSet up Windows sandbox support for restricted shell commands.
/shareShare the current session as a secret GitHub gist.
/skill …Manage data-only skill marketplaces and installed skills. See the Skills Marketplace section below.
/terminals [view [id]|stop <id>|stop all]List, inspect, or stop background terminals for the current session.
/thinking [on|off]Show or set thinking mode.
/tooloutput [compact|full|auto]Control whether tool results render complete output, a compact preview, or the profile default.
/treeNavigate the session tree and switch branches.
/update [now]Check for StemCode updates or install the latest release immediately.
/undoRoll back the most recent tracked file edit transaction.
/use <model>Switch the active model for subsequent prompts.
/versionShow the current StemCode CLI version.

Terminal UI convenience commands

CommandWhat it does
/clearClear the terminal conversation view.
/voiceStart local voice dictation; Ctrl+R is the keyboard shortcut.
/voice setupConfigure the local voice model and microphone.
/voice updateUpdate local voice models.
/lsList files in the current workspace.
/read <file>Read a workspace file after confirmation.
Custom commands

Workspace and user-defined commands under .stemcode/commands/ are added to the same suggestion system. Built-in command names remain reserved.

05 / TERMINAL UI

Keyboard-first control while the agent works.

DIRECT SHELL

! and !!

!command runs a local shell command directly. !!command starts a background terminal with live output. Use /terminals to manage background processes.

QUEUE

Keep the next task ready

Press Enter while a turn is running to queue another prompt or command. Press F4 to remove the newest queued submission.

INTERRUPT

Esc once, then Esc again

The first Esc requests a graceful interrupt. Press Esc again if needed to abandon the stuck turn locally and return to Ready.

PATHS

Tab autocomplete

After a ! or !! shell prefix, Tab completes workspace file and directory paths without submitting the command.

Git sidebar

Press F7 to toggle a Git panel showing the current branch, recent commits, staged files, changed files, and queued work. When the sidebar is focused, keyboard actions are available:

Alt+SStage / unstage selected file
Alt+PGit pull
Alt+OGit push
Alt+DDiscard worktree changes
Alt+CCommit staged changes
Alt+BSwitch or create branch
05A / TOOL RUNTIME

Tune tool timeouts, terminal retention, and output detail.

Workspace .stemcode/agent-profile.json can override runtime behavior for StemCode-managed HTTP calls, MCP, ACP prompts, subagent orchestration, ordinary tools, and background terminals.

{
  "Application": {
    "Tools": {
      "httpClientTimeoutSeconds": 0,
      "mcpRequestTimeoutSeconds": 0,
      "acpRequestTimeoutSeconds": 0,
      "agentOrchestrationTimeoutSeconds": 0,
      "defaultTimeoutSeconds": 180,
      "maxConcurrentBackgroundTerminalsPerSession": 4,
      "completedBackgroundTerminalTtlSeconds": 300,
      "toolOutput": "compact"
    }
  }
}
SettingWhat it controls
httpClientTimeoutSecondsOverride the default timeout used by StemCode-managed HttpClient instances.
mcpRequestTimeoutSecondsCap individual request/response cycles for stdio and HTTP MCP servers.
acpRequestTimeoutSecondsCap ACP editor prompt requests such as permission and text-entry requests.
agentOrchestrationTimeoutSecondsAdd an orchestration-wide timeout for agent_orchestrate.
defaultTimeoutSecondsDefault timeout for tools that do not have a more specific override.
maxConcurrentBackgroundTerminalsPerSessionLimit simultaneous background terminals in one session.
completedBackgroundTerminalTtlSecondsHow long completed background-terminal output remains available.
toolOutputcompact/preview renders capped previews; full/complete prints complete results.

A value of 0 on the specific HTTP/MCP/ACP/orchestration timeout settings keeps StemCode's existing default behavior. A profile's toolOutput front matter overrides the workspace setting, and /tooloutput overrides both for the current session. Use /tooloutput auto to return to the profile/configured default.

Process lifetime

Completed background terminals remain readable until their TTL expires. Running background terminals are stopped when the StemCode process exits.

06 / SURFACES

Use the same agent where you already code.

DESKTOP

Visual workspace

Work with local folders, saved sections, chat, model controls, profiles, activity output, permission prompts, tracked edit undo/redo, and optional budget controls.

VS CODE

Editor chat + context actions

Open chat, send a selection or current file, explain code, review the current file or Git diff, plan changes, and apply suggested changes through a local ACP process.

VISUAL STUDIO

Docked tool window

The Visual Studio extension starts the local StemCode CLI over ACP and hosts the workflow inside the IDE.

JETBRAINS

IntelliJ-platform integration

The JetBrains plugin also drives the local stemcode --acp process, keeping the agent local to the editor host.

VOICE

Local dictation runtime

StemCode.Voice provides on-device speech-to-text prompts using Whisper.net and PortAudio, published separately from the AOT-compiled CLI host.

Before editor use

Install the StemCode CLI and run stemcode once so provider onboarding, credentials, and the default model are configured.

07 / ACP PROTOCOL

Local editor integration over line-delimited JSON-RPC.

Run StemCode with stemcode --acp to expose the agent to compatible editors and tools. ACP communicates only over the child process stdin/stdout streams created by the host; StemCode does not open a network listener for ACP.

stemcode --acp

Example editor configuration

{
  "agent_servers": {
    "StemCode": {
      "command": "stemcode",
      "args": ["--acp"]
    }
  }
}

Optional token authentication

Set STEMCODE_ACP_AUTH_TOKEN for the process, or configure the token in the workspace profile:

{
  "Application": {
    "Acp": {
      "authenticationToken": "replace-with-a-long-random-token"
    }
  }
}
  1. Initialize.When a token is configured, initialize advertises "authMethods": ["token"].
  2. Authenticate.The client calls authenticate with {"token":"..."}.
  3. Create or load a session.After authentication, the client can use session operations such as session/new and session/load.
  4. Prompt and control.Clients can send prompts, cancel active turns, receive assistant/plan/tool progress updates, and close the session.

If no authentication token is configured, authMethods is empty and an authenticate call is rejected rather than reporting a false success.

Session and MCP behavior

SESSION

One active session

ACP mode currently supports one active StemCode session per process.

MCP

Session-scoped merge

ACP client mcpServers are merged with user/workspace MCP configuration only for that ACP session; editor-provided servers do not become global configuration.

Before starting ACP

Run stemcode once first so provider onboarding, credentials, and the default model are already configured.

08 / EDITS + GIT

Make changes that stay reviewable.

StemCode records tracked edit transactions so supported file changes can participate in diff previews, edit summaries, /undo, /redo, and optional automatic Git commits.

TOOL

file_write

Create or replace a whole file.

TOOL

apply_patch

Apply patch-style edits across one or more files.

TOOL

insert_content

Insert UTF-8 text before a specific 1-based line.

TOOL

search_and_replace

Run literal or regex replacement in one file.

Automatic AI Git commits

Auto-commit is enabled by default for a workspace unless configuration turns it off. StemCode skips auto-commit when the workspace is not a Git repository or when you already have staged changes, and scopes staging to files StemCode actually changed.

/autocommit status
/autocommit off
/autocommit on
Undo boundary

Tracked undo/redo covers tracked file-edit transactions. It does not reverse arbitrary shell side effects, package installs, generated files, external tools, or network actions.

09 / CI REVIEW

Automate findings-first review in CI.

The repository includes copy-paste examples for GitHub Actions, GitLab CI, and Bitbucket Pipelines. Each example computes the pull request or merge request diff, runs a workspace pr-reviewer profile in read-only mode, stores review artifacts, and can post a top-level review comment.

PlatformRepository files / credential
GitHub Actions.github/workflows/stemcode-review.yml + built-in GITHUB_TOKEN via GH_TOKEN
GitLab CI.gitlab-ci.yml + GITLAB_TOKEN or stemcode_GITLAB_TOKEN
Bitbucket Pipelinesbitbucket-pipelines.yml + access token or username/app password

Keep .stemcode/agents/pr-reviewer.md with the CI files so the review profile is available. Review artifacts are written under artifacts/stemcode-review in the provided examples.

10 / CODE INTELLIGENCE

LSP-powered semantic navigation.

The code_intelligence tool and /lsp command family discover language servers from built-in definitions, the current workspace, and optional user/workspace overrides. Code-intelligence actions are read-only; rename remains preview-only.

/lsp
/lsp refresh
/lsp file src/example.ts
LanguageCommon server setup
TypeScript / JavaScriptnpm install -g @vtsls/language-server typescript
Pythonpip install basedpyright or pip install python-lsp-server
C#dotnet tool install --global csharp-ls
Rustrustup component add rust-analyzer
Gogo install golang.org/x/tools/gopls@latest
C / C++Install clangd from your platform package manager or LLVM distribution.

Workspace-local binaries such as node_modules/.bin and common Python virtualenv script folders are checked before falling back to PATH.

Advanced language-server configuration

Use the code_intelligence tool with action: "servers_status" to inspect supported languages, detected and missing servers, cached health, and install hints. Pass "refresh": true to bypass cached detection.

{
  "action": "servers_status",
  "refresh": true
}

User- or workspace-level .stemcode/agent-profile.json can override or add language-server definitions:

{
  "languageServers": {
    "python-pyright": {
      "language": "Python",
      "name": "Pyright",
      "command": ".stemcode/tools/pyright-langserver.cmd",
      "args": ["--stdio"],
      "languageId": "python",
      "fileExtensions": [".py"],
      "priority": 250
    }
  }
}
FieldPurpose
command / argsExecutable and arguments used to start the language server.
enabledEnable or disable a definition without deleting it.
fileExtensionsAssociate the server with selected workspace file types.
initializationOptionsPass server-specific initialization settings.
installHintHuman-readable setup guidance surfaced when the server is missing.
language / languageIdDisplay language name and LSP language identifier.
nameDisplay name for the configured server.
priorityHigher values win when multiple detected servers can handle the same file.

Server selection is deterministic: StemCode tries the highest-priority detected definition first, then falls back through remaining detected servers in stable key order. Code-intelligence actions stay read-only and rename remains preview-only.

11 / CODEBASE INDEX

Local repository-wide discovery.

The local codebase index ranks likely relevant files for natural-language, symbol, path, and behavior queries. It stores lightweight metadata rather than full file contents.

status inspect freshness build incremental refresh search rank relevant files list show indexed paths

The index can include semantic symbols, dependency edges, best-effort call edges, CODEOWNERS matches, language/path metadata, and local embedding vectors used for ranking.

/index status
/index update
/index rebuild
/index list 50

Automatic refresh after a task

This is disabled by default. Enable it in user- or workspace-level .stemcode/agent-profile.json:

{
  "codebaseIndex": {
    "autoUpdateAfterTask": true
  }
}

The cache lives at .stemcode/cache/codebase-index.json and respects .gitignore, .stemcode/.stemcodeignore, and built-in generated/runtime exclusions.

12 / PROVIDERS + MODELS

Choose the model setup that fits the workspace.

StemCode stores provider profiles locally and discovers available models when the provider supports discovery. Switch models with F2, /models, or /use <model>.

Subscription sign-inChatGPT Plus/ProClaude Pro/MaxGitHub Copilot
API-key providersOpenAIAnthropicGoogle AI StudioOpenRouterOpenCode ZenKilo CodeCerebrasGroqDeepSeekOllama Cloud
Local / compatibleOllamaLM StudioOpenAI-compatible endpoints

Thinking and reasoning

/thinking on
/reasoning show
/reasoning high
/reasoning none

Normalized reasoning effort values are none, minimal, low, medium, high, xhigh, and max. Provider support varies by model and API.

13 / PROFILES + SUBAGENTS

Separate implementation, planning, review, and delegated work.

ProfileModeEdit behaviorBest for
buildPrimaryEdits under permissionsImplementation, fixes, tests, build loops
planPrimaryRead-onlyInvestigation and implementation plans
reviewPrimaryRead-onlyFindings-first code review
generalSubagentEdits under permissionsBounded delegated implementation
exploreSubagentRead-onlyFast codebase discovery
/profile plan
@explore How does authentication work?
@general Update the parser tests for this narrow case.

Primary agents can delegate a focused task or orchestrate several subtasks. Primary build, plan, and review profiles can also ask interactive multiple-choice, multi-select, or free-form clarification questions.

14 / PERMISSIONS

Automation without silent surprises.

PERMISSION

Allow

The action can proceed.

PERMISSION

Ask

StemCode prompts for approval before continuing.

PERMISSION

Deny

The action is blocked.

SESSION

Overrides

Use /allow and /deny for temporary session-scoped rules.

Sandbox modes

ModeBehavior
ReadOnlyNo file writes or unsafe shell mutation.
WorkspaceWriteWorkspace-scoped writes are allowed under policy.
DangerFullAccessUnrestricted execution only when explicitly configured or approved.

Linux uses bubblewrap when available; macOS uses sandbox-exec. Restricted shell modes fail closed when StemCode cannot provide the required OS sandbox unless the user approves escalation or full access is configured.

Windows sandbox setup and troubleshooting

On Windows, foreground shell commands and background terminals in read-only and workspace-write modes use StemCode's Windows sandbox runner. Set it up from an interactive session with:

/setup-sandbox
FAIL CLOSED

Restricted means restricted

If the Windows sandbox cannot safely run a restricted request, StemCode blocks the request instead of silently falling back to unrestricted execution.

ESCALATION

Explicit approval

When appropriate, rerun without unsupported options or approve sandbox escalation only when you trust the command.

Windows sandbox log

%APPDATA%\StemCode\.sandbox\sandbox.log

If a restricted command fails after setup, inspect the sandbox log, rerun /setup-sandbox if StemCode prompts for setup again, and verify that the working directory still exists.

PTY limitation

Restricted pseudo-terminal sessions are not supported by the Windows sandbox runner. Those requests fail closed. Use a non-PTY foreground command or background terminal, or explicitly approve escalation only for a command you trust.

Example policy

{
  "Application": {
    "Permissions": {
      "auto_approve_all_tools": false,
      "file_read": "Allow",
      "file_write": "Ask",
      "shell_default": "Ask",
      "shell_safe": "Allow",
      "network": "Ask",
      "memory_write": "Ask",
      "mcp_tools": "Ask"
    }
  }
}
15 / BUDGET + AUDIT + HOOKS

Control usage and wire StemCode into local engineering policy.

Budget controls are disabled by default. They can run from a local workspace file or a cloud API. StemCode also supports optional tool-audit logging and lifecycle hooks around task, tool, file, shell, web, memory, permission, and delegation events.

BUDGET / LOCAL

/budget local

Configure a monthly USD budget, alert threshold, and per-token prices in .stemcode/budget-controls.local.json.

BUDGET / CLOUD

/budget cloud

Connect an HTTP budget service using a saved API URL and a bearer token stored through the platform credential store.

AUDIT

Tool audit log

When enabled, completed tool-call records are written to .stemcode/logs/tool-audit.jsonl with optional secret redaction and size caps.

HOOKS

Lifecycle automation

Run local commands before or after selected StemCode events, filtered by file paths or shell-command patterns.

Example hook policy

{
  "Application": {
    "Hooks": {
      "enabled": true,
      "defaultTimeoutSeconds": 30,
      "rules": [
        {
          "name": "check-write",
          "events": ["before_file_write", "after_file_write"],
          "command": "scripts/check-write.ps1",
          "pathPatterns": ["src/**"]
        }
      ]
    }
  }
}
16 / WORKSPACE

Make agent context reviewable and versionable.

Run /init to scaffold workspace-local StemCode files. The recommended preset creates core configuration, ignores, agent/skill directories, cache/runtime directories, and structured team-memory files.

.stemcode/
  agent-profile.json
  README.md
  .gitignore
  .stemcodeignore
  agents/
  skills/
  cache/
  memory/
    architecture.md
    conventions.md
    decisions.md
    known-issues.md
    test-strategy.md
    lessons.jsonl
  logs/
INSTRUCTIONS

AGENTS.md

Persistent repository instructions loaded into model context after secret redaction.

APPEND

SystemPrompt-Append.md

Add durable workspace rules while keeping StemCode's configured base behavior.

OVERRIDE

SystemPrompt.md

Replace the workspace base system prompt when a project truly needs different base behavior.

IGNORE

.stemcodeignore

Exclude paths from StemCode file tools with gitignore-style patterns.

17 / MEMORY + EXTENSIONS

Store durable project knowledge in files your team can review.

Team memory lives under .stemcode/memory/ as ordinary Markdown. The recommended files cover architecture, conventions, decisions, known issues, and test strategy. Lesson memory can also live in lessons.jsonl.

architecture.md components + boundaries conventions.md style + workflow decisions.md durable decisions known-issues.md risks + workarounds test-strategy.md validation guidance

Custom slash commands

Project commands live in .stemcode/commands/*.md; user commands live in ~/.stemcode/commands/*.md. Subdirectories create namespaces with :.

---
name: security-review
description: Review changed files for security risks
args: ["scope"]
---

Review $scope for authentication, injection, secrets,
unsafe deserialization, and permission bypasses.

Skills marketplace

StemCode can register GitHub repositories as data-only skill marketplaces, browse their published skills, install a selected skill into the workspace, list what is configured, and uninstall installed skills.

CommandPurpose
/skill marketplace add <owner/repo> [--ref <ref>] [--alias <alias>]Add a marketplace repository. Pin an optional branch/tag/commit ref and choose an optional local alias.
/skill marketplace remove <alias>Remove a configured marketplace alias.
/skill browse <marketplaceAlias>List skills published by a configured marketplace, including names/descriptions when available.
/skill install <skillId>@<marketplaceAlias> [--force]Install a skill from a marketplace. --force permits replacement when needed.
/skill listShow configured marketplaces plus installed skills, source repository/ref, marketplace alias, and installed files.
/skill uninstall <skillId>Remove an installed skill and report the files removed.

Typical workflow

/skill marketplace add owner/engineering-skills --alias team
/skill browse team
/skill install dotnet@team
/skill list
/skill uninstall dotnet

Install output identifies the marketplace repository/ref and whether StemCode used a marketplace manifest or its convention fallback. Marketplace aliases let you keep commands short while --ref lets a team pin the skill source to a known branch, tag, or commit.

Skills and custom agents

Put task-specific playbooks under .stemcode/skills/ and custom agent profiles under .stemcode/agents/. Built-in profile names can be overridden at the prompt level while StemCode preserves the built-in mode, tool set, and permission behavior.

18 / MCP + CUSTOM TOOLS

Connect external tool servers or your own local processes.

StemCode can load MCP servers from user-level and workspace-level agent-profile.json. ACP clients can also provide session-scoped MCP servers. Use /mcp to inspect loaded MCP servers, custom tool providers, and discovered dynamic tools.

MCP server example

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"],
      "startupTimeoutSeconds": 20,
      "toolTimeoutSeconds": 45,
      "defaultToolsApprovalMode": "prompt"
    }
  }
}

Supported transports include stdio and streamable HTTP. Tools can be filtered with enabledTools and disabledTools.

Custom process tools

A custom tool can be written in any language that reads JSON from stdin and writes text or JSON to stdout. Configured tools are exposed to the model as custom__<name> and default to approval prompts.

19 / PRIVACY

Know what stays local and what goes to the provider.

STAYS LOCAL

Workspace state

  • Workspace files
  • Configuration and sections
  • Codebase index cache
  • Team and lesson memory
  • Optional audit logs
  • Credentials via platform storage where supported
SENT WHEN NEEDED

Provider request context

  • User prompts
  • System/workspace instructions
  • Relevant file excerpts
  • Tool outputs
  • Conversation context
  • Model and tool schemas

StemCode can redact common secret patterns before storage or display across tool output, memory, audit records, logs, conversation history, session state, workspace instructions, and errors. Pattern-based redaction is a safety layer, not a complete DLP system.

20 / TROUBLESHOOTING

Common fixes.

01stemcode is not found after install

Restart the terminal. If it still fails, verify the install directory is on PATH.

02Provider setup is incomplete

Run stemcode and choose to reconfigure. This can happen if onboarding was interrupted before credentials were fully saved.

03No models are listed

Check provider credentials, account access, network connectivity, and any compatible-provider base URL. For Ollama, make sure the server is running and a model is installed. For LM Studio, start the local server and load a model.

04A command is denied

Run /permissions and /rules. You can approve the prompt, add a session override with /allow, or change workspace configuration.

05The agent cannot read a file

Check that the path is inside the workspace and not excluded by .stemcode/.stemcodeignore or secret-protection rules.

06Undo did not reverse a shell side effect

/undo and /redo only cover tracked file edit transactions, not arbitrary shell, package, network, or external-tool side effects.

07Need a diagnostics report

Run stemcode --doctor or /doctor inside an active session.

08Need to update StemCode

Use /update to check, or /update now to install the latest release and then restart StemCode.

21 / SOURCE BUILD

Build and test the repository locally.

The cross-platform core uses the .NET SDK; extension projects add their platform-specific toolchains.

dotnet restore StemCode.CrossPlatform.slnx
dotnet build StemCode.CrossPlatform.slnx
dotnet test StemCode.Tests/StemCode.Tests.csproj
dotnet pack StemCode/StemCode.csproj -c Release

Main projects

ProjectPurpose
StemCodeCore application, domain, infrastructure, tools, providers, and storage.
StemCode.CLITerminal UI and one-shot CLI.
StemCode.DesktopDesktop app.
StemCode.VsCodeVS Code extension driven through ACP.
StemCode.VSVisual Studio extension.
StemCode.JetBrainsIntelliJ-platform plugin.
StemCode.VoiceLocal Whisper-powered voice dictation runtime.
StemCode.TestsTest suite.
Solution files

StemCode.CrossPlatform.slnx covers the cross-platform core, CLI, desktop, and tests. StemCode.slnx additionally includes the voice runtime and Windows-only Visual Studio extension.

22 / SUPPORT

Go deeper in the source repository.

This page is a web-friendly guide built from the current StemCode repository documentation. The repository remains the source of truth for the newest command flags, integrations, release assets, implementation details, and issue tracking.