Skip to main content

Bootstrap CLI that hoists the shared agentic-system surface into consumer repos.

Project description

agentic-bootstrap

Pip-installable CLI that hoists the shared agentic-system surface (typed protocol, two MCP servers, hooks, skills, generated agent workflows) into consumer repositories. Lives inside darce/agentic-protocol-monorepo.

Consumers run agentic-bootstrap install --target <path> once; it clones the monorepo, materializes the overlay, and registers both managed MCP servers (mcp-agent-handoff, mcp-agent-orchestrator) across .mcp.json, .vscode/mcp.json, and .codex/config.toml. No hand-edits required.

Install

From PyPI (recommended)

uvx --from agentic-bootstrap agentic-bootstrap install --target /path/to/your/repo
# or, persistent:
uv tool install agentic-bootstrap

From the monorepo source tree (development)

cd packages/agentic-bootstrap
python -m pip install -e ".[dev]"

Direct from git (private-repo phase, before PyPI release)

One-shot (no install — fetches each invocation):

uvx --from "git+ssh://git@github.com/darce/agentic-protocol-monorepo@agentic-bootstrap-v0.2.1#subdirectory=packages/agentic-bootstrap" \
    agentic-bootstrap install \
    --target /path/to/your/repo

Persistent (recommended once you start running status / doctor regularly — installs agentic-bootstrap onto $PATH):

uv tool install "git+ssh://git@github.com/darce/agentic-protocol-monorepo@agentic-bootstrap-v0.2.1#subdirectory=packages/agentic-bootstrap"
# then:
agentic-bootstrap status --target /path/to/your/repo
agentic-bootstrap doctor --target /path/to/your/repo
# upgrade later:
uv tool upgrade agentic-bootstrap

Hardlink warning on first install? If you see Failed to hardlink files; falling back to full copy, your uv cache and tool dir live on different filesystems. The install still succeeds; silence the warning with export UV_LINK_MODE=copy in your shell profile.

Subcommands

agentic-bootstrap install --target <path> [--remote-ref <tag>] [--mcp-servers <default|path>] [--no-mcp-servers]
agentic-bootstrap update  --target <path> --remote-ref <tag>
agentic-bootstrap status  --target <path>
agentic-bootstrap doctor  --target <path> [--mcp-servers <default|path>]
agentic-bootstrap repair  --target <path> [--force-dirty] [--mcp-servers <default|path>]
  • install: Clone the monorepo, materialize SHARED + GENERATED surfaces, write the three MCP-config files, run init-state to provision <target>/.task-state/handoff.db (skipped under --no-mcp-servers), set core.hooksPath, and write the overlay manifest.
  • update: Re-run install at a new --remote-ref; refresh GENERATED surfaces and, optionally, configs.
  • status: Print a summary of the installed overlay manifest. When the install registered MCP servers, also reports the resolved state_dir / db_path / exports_dir / schema_version via init-state --check.
  • doctor: Detect drift in SHARED, GENERATED, config, and initialized-state surfaces. Flags missing .task-state/handoff.db as state_drift only when the manifest recorded .mcp.json. Exit 1 when drift exists.
  • repair: Restore drifted surfaces flagged by doctor.

See docs/CONSUMER.md for the consumer-facing walkthrough (upgrade, drift handling, skill overrides, the current_task_auto_regen migration note).

Surfaces written by install

The canonical source of truth for bootstrap-managed surfaces is the installer implementation in src/agentic_bootstrap/install.py (SHARED_SURFACES and GENERATED_SURFACES). Keep this table aligned with those constants.

Surface Source Layer
scripts/hooks/ shared symlink
.github/hooks/ shared symlink
docs/agentic/contracts/ shared symlink
.claude/skills/ generated real dir
.claude/commands/ generated real dir
.github/prompts/ generated real dir
.codex/skills/ generated real dir
.mcp.json generated real file
.vscode/mcp.json generated real file
.codex/config.toml generated real file
core.hooksPath git config generated git config
.task-state/handoff.db runtime sqlite
.task-state/exports/ runtime dir
.agentic/remote/ bootstrap git clone
.agentic-overlay.json bootstrap manifest

.task-state/ is provisioned by the handoff server's init-state subcommand at install time and is gitignored — each fresh checkout regenerates it through agentic-bootstrap install.

Defaults

  • --remote-url defaults to git@github.com:darce/agentic-protocol-monorepo.git.
  • --remote-ref defaults to main (override with a release tag like v0.1.0).
  • --mcp-servers defaults to the built-in managed map registering mcp-agent-handoff and mcp-agent-orchestrator via uvx with --workspace-root . serve-stdio, so Codex, VS Code, and Claude clients start real MCP stdio servers from the generated config. Pass a JSON file path to override; pass --no-mcp-servers to skip the three config writers entirely.

Development

Tests live under tests/. From the monorepo root:

cd packages/agentic-bootstrap
PYTHONPATH=.:src:../agentic-protocol/src pytest tests -q

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

agentic_bootstrap-0.3.0.tar.gz (51.1 kB view details)

Uploaded Source

Built Distribution

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

agentic_bootstrap-0.3.0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file agentic_bootstrap-0.3.0.tar.gz.

File metadata

  • Download URL: agentic_bootstrap-0.3.0.tar.gz
  • Upload date:
  • Size: 51.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for agentic_bootstrap-0.3.0.tar.gz
Algorithm Hash digest
SHA256 96d3e67666fc92c86bbbd3577e77c3c7c77b8f866a1ef73fefe6b64e7e15db14
MD5 d462e5c88e5bf05cfebbcbe9ba74a8d4
BLAKE2b-256 adec6109b9ad2700aad091399ed3b9b344141795c59abd49ef37c6fcd1d7eb8d

See more details on using hashes here.

File details

Details for the file agentic_bootstrap-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentic_bootstrap-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3afbf03998be3f80e7cfb25c167e3872a8f222a33033dbf45f698e486eaf363
MD5 0991a0d2910bc9f3dadeb9de7c02e324
BLAKE2b-256 e826c0cbd46201161f6a5965ea5a4015c4b68d8dedd1c6cad62a8249ff438377

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