Skip to main content

Install agent tool packages into global or project OpenCode configurations

Project description

OpenCode Agent Deploy

opencode-agent-deploy installs existing agent packages from public PyPI into isolated Python environments and generates their OpenCode skills, tools, plugins, and configuration with absolute runtime paths.

Version 0.2.0 supports these already published deploy packages:

  • pdf: agent-pdf-workspace==0.1.1
  • mapper: agent-codinglanguage-mapper==1.1.0
  • memory: opencode-markdown-memory==0.1.0

The upstream packages are not copied or republished. The deploy command downloads the selected, pinned distributions directly from https://pypi.org/simple.

Requirements

  • Python 3.11 through 3.14
  • An OpenCode installation
  • Network access to public PyPI during deployment

Install the deploy command with an isolated application installer:

uv tool install opencode-agent-deploy

Alternatively, use pipx install opencode-agent-deploy or install it into your own virtual environment.

Interactive installation

Run:

opencode-agent-deploy install

The command shows all three package names and pinned versions. Select 1, 2, 3, or a comma-separated combination such as 1,2,3, then select global or project scope and confirm the plan. Global scope writes to the OpenCode config directory. Project scope writes to opencode.json and .opencode/ below the selected project.

Automated installation

Install all three packages into the current project:

opencode-agent-deploy install \
  --package pdf \
  --package mapper \
  --package memory \
  --scope project \
  --target "$PWD" \
  --yes

Install only the PDF workspace globally:

opencode-agent-deploy install \
  --package pdf \
  --scope global \
  --yes

Use an explicit global OpenCode config directory when automatic discovery is not appropriate:

opencode-agent-deploy install \
  --package mapper \
  --scope global \
  --config-dir "$HOME/.config/opencode" \
  --yes

Install only Markdown memory globally:

opencode-agent-deploy install \
  --package memory \
  --scope global \
  --yes

For automation, every selected package is supplied with a repeated --package flag and the scope is supplied with --scope. --json emits a machine-readable result. --dry-run downloads and validates the packages in temporary environments and performs collision checks without writing OpenCode files or managed environments.

Managed files and environments

Each deploy package gets a separate virtual environment under the platform data directory for opencode-agent-deploy. Global environments use venvs/global/<package>. Project environments use venvs/projects/<project-hash>/<package>, so project dependencies cannot collide.

Generated OpenCode artifacts contain the absolute Python or console-script path from their managed environment. The PDF skill and TypeScript tool therefore call the selected pdfws executable directly. The mapper skill, plugin, and agent configuration use the selected mapper environment's Python interpreter directly. The Markdown memory TypeScript tool calls its managed opencode-markdown-memory executable directly. No shell activation or ambient PATH modification is required.

Markdown memory configuration and data are scope-local. Global deployment uses <opencode-config>/opencode-markdown-memory/; project deployment uses <project>/.opencode/opencode-markdown-memory/. The generated config.toml is deploy-owned. The mutable MEMORY.md is initialized atomically on first use and is never placed under deploy ownership, so later deployments cannot overwrite memories.

The installer owns only files recorded in opencode-agent-deploy-manifest.json. It preserves unrelated OpenCode configuration and refuses to overwrite:

  • an existing destination it does not own;
  • an owned destination changed locally since the previous deployment;
  • a symlink in a managed path;
  • malformed or unexpected exporter output.

Artifact updates and the ownership manifest are committed atomically. Existing package environments are restored if preparation or validation fails.

OpenCode verification

Restart OpenCode after a successful deployment so it reloads project or global integrations. Confirm that the installed PDF skills/tools, mapper skill/plugin/agent, and five markdown_memory_* CRUD tools appear in the intended scope. The command output identifies the config file, manifest, environments, and generated artifacts; --json is useful for scripted verification.

Trust boundary

Deployment installs and executes the pinned upstream exporters. Only use releases you trust. Subprocesses are invoked as argument arrays without a shell, and package downloads are restricted to the public PyPI simple index. The deploy command does not read or print credential files and does not manage PyPI credentials.

Security reporting and supported-version policy are in SECURITY.md. The reproducible maintainer procedure is in docs/release.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opencode_agent_deploy-0.2.0.tar.gz (82.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opencode_agent_deploy-0.2.0-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file opencode_agent_deploy-0.2.0.tar.gz.

File metadata

File hashes

Hashes for opencode_agent_deploy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 19cd5797bd5feb377789028a64a7767ed9951da92b0519517c2f1428c9021f97
MD5 9dfdffc6cea1734b8654e389e54731b1
BLAKE2b-256 7f18c0391630396f7144688bda16832b4e459735b0e329ed6cbf6dacf707d3ef

See more details on using hashes here.

File details

Details for the file opencode_agent_deploy-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for opencode_agent_deploy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3543fede98ead841624963095538bbe792a5eaaee07c99af94b1b5daca6c74c
MD5 42393c9a1eb0daf6f895d36f1935ed22
BLAKE2b-256 9277ffda233260ddcc3b6b2aaaac6280d2ffb69b359edc56e08a466e6438a1bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page