Installation - Nidvue Teamwork¶
Owner: Technical Writer.
Related: Home · Quickstart · CLI reference
Nidvue Teamwork is a skill for your coding agent, not a standalone app. You install it by cloning this repository into the directory your host reads skills from; the host runs the bundled engine. Nothing is built, nothing is daemonised, nothing is sent to a service of ours.
Requirements¶
| Requirement | Value |
|---|---|
| Agent host | any host that loads a skill directory, or that can run a script and read AGENTS.md |
| Engine runtime | CPython 3.9 - 3.13, standard library only, no third-party dependencies |
| Platforms | Linux, macOS, Windows |
Install the skill¶
$ mkdir -p .agents/skills
$ git clone --depth 1 https://github.com/Nidvue/Teamwork.git .agents/skills/teamwork
$ rm -rf .agents/skills/teamwork/.git
Dropping the nested .git matters: a plain clone inside a repository is recorded
as a gitlink (a submodule without .gitmodules), so a fresh clone of your project
would contain an empty directory. The skill must be committed as plain files. A
real submodule is a valid alternative:
git submodule add https://github.com/Nidvue/Teamwork.git .agents/skills/teamwork.
That is the whole install: SKILL.md, the 15 role charters, references/,
templates/, the engine and the docs arrive in one directory.
A skill is a directory. The only host-specific question is which directory that host scans, and the portable conventions are:
| Scope | Path | Use it when |
|---|---|---|
| Project | .agents/skills/teamwork/ |
Commit it so every teammate, session and worktree gets the same protocol |
| User | ~/.agents/skills/teamwork/ |
The team should be available in every project |
If your host names its own skills directory, clone there instead; nothing else
changes. A host with no skill loader uses the same protocol through AGENTS.md
(teamwork agents-md). Where a host maps skills to slash commands, the request
is /teamwork <prompt>; everywhere else, naming the skill in the request loads
it:
Re-scan or reload skills after adding the directory. The skill is advertised at startup and loaded on demand. The optional mapping of host operations (spawn, message, schedule) is in references/Adapters.md.
Updating the skill: follow the remote, not a checklist
The host reads the copy in its skills directory, so a git pull in a
checkout somewhere else changes nothing the agent sees. One command does both
halves - fast-forward a source checkout from the remote, then mirror it into
the installed directory:
$ teamwork refresh # fetch origin/main, then mirror into ~/.pi/agent/skills/teamwork
$ teamwork refresh --dest ~/.agents/skills/teamwork
$ teamwork refresh --check # drift check: writes nothing, exits 1 when stale
$ teamwork refresh --dry-run # what it would copy, deletes and writes nothing
It refuses to clobber a dirty checkout (it mirrors the checkout as it stands
instead and says so), deletes files the source no longer ships (a renamed
engine module must not shadow the new one), and never touches a file outside
the bundle trees, so an operator note in the skills directory survives. With no
checkout in use it keeps a tool-managed mirror at
~/.pi/.teamwork-source, created once with --repo <url> and updated from then
on:
After a refresh, reload the skill (restart the host session, or re-scan
skills) so the new SKILL.md is read - the command prints that reminder
whenever it wrote something. Pin a tag (--branch v1.0.2) when you want a
fixed protocol revision instead of main.
Optional: install the engine on PATH¶
The skill always works from its own directory. Install the same engine as a package only when you want to drive the team yourself from a terminal, or when your host cannot run a bundled script.
The distribution name is teamwork-agents (the name teamwork is taken on
PyPI); the import name is teamwork and the console script is teamwork.
PyPI status
PyPI publishing is prepared but not enabled for this release. Until the
package is published, install from the GitHub release
wheel or from source. The pip/pipx/uvx commands below apply once the
release is on PyPI.
Install with pip¶
Verify:
Install with pipx (isolated, on PATH)¶
pipx installs the CLI into its own environment and puts
teamwork on your PATH:
Run without installing (uvx)¶
uv can run the console script from an ephemeral environment:
Install from source¶
For development, install the package in editable mode with the test and docs extras (see CONTRIBUTING.md):
You can also run the engine straight from a checkout, or from the cloned skill directory, without installing anything:
Platform notes¶
Use python3 if python is not on PATH. No system packages are needed.
Use the python.org installer or Homebrew Python. If pip refuses with an
"externally managed environment" error, use pipx or a virtual environment.
Verify the installation¶
Check the skill first: reload the host and confirm the skill is listed. Then run the engine's offline smoke check - no network, no workspace needed:
$ python3 .agents/skills/teamwork/scripts/teamwork.py selftest
PASS bundled skill assets ok
PASS core helpers ok
PASS workspace init ok
PASS task queue round-trip ok
PASS stop-condition gate ok
teamwork selftest: 5/5 checks passed
version: 1.0.2
python: 3.12.13 (posix)
skill: /path/to/Teamwork
With the package installed, teamwork selftest runs the identical check. Exit
code 0 means the install is sound. If the skill assets are missing, the
directory is incomplete; re-clone it.
Uninstall¶
$ rm -rf .agents/skills/teamwork # the skill (project)
$ rm -rf ~/.agents/skills/teamwork # the skill (user)
$ python -m pip uninstall teamwork-agents # the optional engine (pip)
$ pipx uninstall teamwork-agents # the optional engine (pipx)
Next: Quickstart.