Project-lifecycle CLI for AgentSeek (scaffold, run, build, deploy, skills, api)
Project description
agentseek-cli
Project-lifecycle CLI for AgentSeek. Ships an agentseek console script
that can run on its own via uvx, and registers the same command groups
as a Bub plugin on the main agentseek framework CLI.
At A Glance
| Field | Value |
|---|---|
| Distribution name | agentseek-cli |
| Python package | agentseek_cli |
| Bub entry point | cli (agentseek_cli.plugin:main) |
| Console script | agentseek (agentseek_cli.standalone:app) |
| Install path | pip install agentseek-cli / uvx agentseek-cli |
| Test target | make test-agentseek-cli |
Top-level command groups: create, run, build, deploy, api, ctx,
skills.
When To Use It
Use agentseek-cli when you want a single front door for AgentSeek project
work — scaffold a project, run it locally, build & deploy it, install
shared skill packs, and forward to the optional agentseek-api runtime —
without committing your environment to the full agentseek framework.
This package does not own:
- The
agentseekframework runtime (lives insrc/agentseek). - The Bub plugin model itself.
- Skill content. Skills are pulled from the upstream
vercel-labs/skillsecosystem throughnpx-skills. - The
agentseek-apiruntime;agentseek apiis a thin passthrough to it.
Install
Standalone (uvx)
uvx agentseek-cli --help
# or pin to this repo's working copy
uvx --from ./contrib/agentseek-cli agentseek --help
Under uvx the package is installed in an isolated environment, so its
agentseek console script does not collide with the main framework's
script.
As part of the AgentSeek monorepo
The root pyproject.toml ships agentseek-cli as a workspace member and
as the optional cli extra:
uv sync # editable workspace install
uv pip install 'agentseek[cli]' # explicit extra
When installed alongside the main agentseek package, the framework's
own agentseek script wins and this package's command groups are mounted
through the Bub register_cli_commands hook.
Configure
agentseek-cli has no configuration of its own. The forwarded tools have
their own settings:
npx-skillshonors flags forwarded byagentseek skills(see vercel-labs/skills).agentseek-apireads its own environment / config when invoked throughagentseek api.contextseeksettings can be passed with either nativeSTORAGE_*/OB_*variables orAGENTSEEK_CTX_*aliases (whenagentseek-contextseekis installed alongside this package).
The only CLI-level option exposed by this package is
agentseek skills --dir <path>, which chdirs before delegating.
Run
# discover the surface
agentseek --help
agentseek skills --help
agentseek api --help
agentseek ctx --help
# skills (functional; requires uvx on PATH and a platform-supported
# npx-skills wheel)
agentseek skills add vercel-labs/agent-skills --list
agentseek skills add vercel-labs/agent-skills -s frontend-design -a claude-code -y
agentseek skills list
agentseek skills find typescript
agentseek skills update
agentseek skills remove frontend-design
# api passthrough (requires agentseek-api in the env)
agentseek api version
agentseek api dev --port 9911
# contextseek surface (requires contextseek in the env)
agentseek ctx init --backend memory
agentseek ctx retrieve --scope acme/db/eng --query "distributed database"
agentseek ctx serve --port 8001 --mcp
# create — scaffold a project from a bundled cookiecutter template
agentseek create # interactive type + template
agentseek create deepagents # default template (no prompt for type)
agentseek create langchain --list-templates # list templates under a type
agentseek create --list-templates # list every bundled template
agentseek create bub --template default --no-input
# run — start the project locally and open the frontend
agentseek run # auto-detect compose / python entry
agentseek run --no-browser # skip opening a browser tab
agentseek run --mode compose --port 8080 # explicit mode override
agentseek run --wait-timeout 60 # extend readiness budget
# build — package the project into a Docker image
agentseek build # default tag: <cwd-slug>:latest
agentseek build --tag myproj:1.0 --no-cache
agentseek build --platform linux/amd64,linux/arm64 --tag myproj:multi # uses buildx
agentseek build --build-arg PYTHON_VERSION=3.12 --push
agentseek build --dry-run # print resolved docker command
# deploy — render docker-compose / k8s manifests (dry-run only in v1)
agentseek deploy --dry-run # both, ./deploy/
agentseek deploy --dry-run --mode docker-compose --output ./deploy --image myproj:1.0
agentseek deploy --dry-run --mode k8s --replicas 3 --namespace platform
agentseek deploy --dry-run --mode both --slug myproj --port 9000
Runtime Behavior
- Dual entrypoints. Both the standalone
agentseekconsole script (agentseek_cli.standalone:app) and the Bub plugin (agentseek_cli.plugin:main) callagentseek_cli.app.build_app()/iter_command_groups(), so the surface stays in lockstep. - Idempotent plugin mount.
register_cli_commandsskips any group whose name is already attached to the root Typer, matching the existing pattern inagentseek-langchain. It additionally skipsFRAMEWORK_OWNED_NAMES(currently{"run"}) because Typer silently overwrites duplicate group names and the framework's own built-inrun(driven bybub.builtin.cli) is far more useful than this package's v1 stub.agentseek runtherefore behaves like:- under
uvx agentseek-cli(framework absent) — our v1 "coming soon" stub; - under monorepo / shared env (framework present) — the framework's
run("Run one inbound message through the framework pipeline").
- under
skillsis a thin pass-through. It invokesuvx npx-skills <subcommand> [...args].npx-skillsships its own Node runtime, so no global Node install is required, butuvx(shipped withuv) must be onPATH.apimigrated fromagentseek-langchain. The same Protocol-based duck-typing forwardsdev / serve / dockerfile / build / up / versiontoagentseek_api.cli.main(argv, prog, cwd). A missing dependency exits with1and a clear install hint instead of a traceback.ctxmigrated fromagentseek-contextseek.agentseek-clinow owns the wholeagentseek ctxgroup (passthrough +init/serve/sync) so command discovery is centralized in one CLI plugin.- Stubs exit cleanly. All commands accept the documented arguments;
deployexits with 2 when called without--dry-run, since v1 only supports dry-run mode. deployrenders inline templates. v1 emitsdocker-compose.yamland/ork8s/deployment.yaml+k8s/service.yamlunder--output(default./deploy). The slug defaults to a docker-friendly form of the cwd directory name;--imageoverrides the default<slug>:latest. Existing files are listed before they are overwritten so manual edits are not lost silently. Real cluster / registry interaction lands in a follow-up PR.buildwraps docker.agentseek buildshells out todocker build(single platform / no--platform) ordocker buildx build(multi-platform). The default tag is<cwd-slug>:latest;--pushrunsdocker push <tag>after a successful build;--dry-runprints the resolved command(s) without invoking docker. Missingdockerexits with1and a clear install hint; a missingDockerfileexits with2and points atagentseek create.runauto-detects launch mode. The presence ofdocker-compose.yml/compose.yamlselects compose mode; otherwise the command looks forpyproject.tomlplus anapp.py/main.pyentry or aserve/devscript.--mode compose|pythonoverrides detection. The frontend URL is built from--host(default127.0.0.1) and--port(defaults toPORTfrom.env, then3000);agentseek runpolls it once per second until the readiness timeout (--wait-timeout, default30s) and then opens the default browser unless--no-browseris passed. On exit (Ctrl-C or child termination) the spawned process isterminate()d with a 5-second grace period beforekill(), and compose mode runsdocker compose downfor cleanup.
Verify
# unit tests
make test-agentseek-cli
# direct
uv run pytest contrib/agentseek-cli/tests
# lint + types (auto-discovered targets, see repo Makefile)
make check-agentseek-cli
End-to-end smoke checks:
uv sync && uv run agentseek --help # plugin mount
uv build contrib/agentseek-cli # build wheel
uvx --from contrib/agentseek-cli/dist/agentseek_cli-0.1.0-*.whl agentseek --help
Limitations
agentseekconsole-script collision. Both the main framework and this package declare a[project.scripts] agentseek = ...entry. Underuvx-isolated installs there is no conflict. In a shared environment where both packages are installed, the last installer wins; if you want the rich framework CLI, installagentseeklast. The plugin path (which is how monorepo developers actually consume the new commands) is not affected.skillsinstall layout follows the upstream tool. Project-scope skills land in./<agent>/skills/(e.g../.claude/skills/,./.codex/skills/) and global skills in~/<agent>/skills/. AgentSeek does not rewrite those paths.--dir <path>only controls the working directoryuvx npx-skillsruns in.deployis dry-run only in v1. The flags and rendered manifest shape are stable; future versions will add--apply(kubectl apply / docker compose up) and registry interaction. For now, generate the YAML, review/commit it, and apply it with your existing toolchain.createships bundled templates. Templates live underagentseek_cli/templates/<type>/<name>/and are listed by directory scan; add new templates by dropping a folder with acookiecutter.json. Bundled today:deepagents/default,langchain/default,langchain/cli-remote,bub/default.- No Windows wheels for
npx-skillsuntil upstream publishes them; see npx-skills for current platform support.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentseek_cli-0.0.1.tar.gz.
File metadata
- Download URL: agentseek_cli-0.0.1.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0924a958ec23007ba28efdb5ed7f7f6967886c8d7f7c34d304bad4399cff82ad
|
|
| MD5 |
7443216cb1dfa2cb48c5b3ec4e6fb840
|
|
| BLAKE2b-256 |
b68f1b12363fa4f8fbf1cc670b4749bc4b17f325e40b916cb6855d2838942403
|
Provenance
The following attestation bundles were made for agentseek_cli-0.0.1.tar.gz:
Publisher:
on-release-cli.yml on ob-labs/agentseek
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentseek_cli-0.0.1.tar.gz -
Subject digest:
0924a958ec23007ba28efdb5ed7f7f6967886c8d7f7c34d304bad4399cff82ad - Sigstore transparency entry: 1664376511
- Sigstore integration time:
-
Permalink:
ob-labs/agentseek@2790acdf880c2e72abf502227ab9b03c96b9aa36 -
Branch / Tag:
refs/tags/cli-v0.0.1 - Owner: https://github.com/ob-labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
on-release-cli.yml@2790acdf880c2e72abf502227ab9b03c96b9aa36 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentseek_cli-0.0.1-py3-none-any.whl.
File metadata
- Download URL: agentseek_cli-0.0.1-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cc0ca108da766348db0a8e62f7f5f73dd7604b04c482408d49abaa2e2bdd9fd
|
|
| MD5 |
7f5a87afbeebadf4333518ef67e8dabe
|
|
| BLAKE2b-256 |
761ad19fddef578e55db2177462899fb0edc74144710ae45d801c0b3f3b4ac2a
|
Provenance
The following attestation bundles were made for agentseek_cli-0.0.1-py3-none-any.whl:
Publisher:
on-release-cli.yml on ob-labs/agentseek
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentseek_cli-0.0.1-py3-none-any.whl -
Subject digest:
7cc0ca108da766348db0a8e62f7f5f73dd7604b04c482408d49abaa2e2bdd9fd - Sigstore transparency entry: 1664376589
- Sigstore integration time:
-
Permalink:
ob-labs/agentseek@2790acdf880c2e72abf502227ab9b03c96b9aa36 -
Branch / Tag:
refs/tags/cli-v0.0.1 - Owner: https://github.com/ob-labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
on-release-cli.yml@2790acdf880c2e72abf502227ab9b03c96b9aa36 -
Trigger Event:
push
-
Statement type: