AI Agent Collaboration Protocol Generator - Create standardized .agent protocol for your projects
Project description
Cokodo Agent
A CLI tool and MCP server for the AI Agent Collaboration Protocol (.agent). Generate, lint, sync, and serve standardized project context to any MCP-compatible IDE.
Similar to create-react-app, this tool helps you quickly set up an .agent directory with best practices for AI-assisted development.
Installation
# Default install (minimal: typer, questionary, rich only)
pip install cokodo-agent
# With network fetch (GitHub release). Omit for offline-only use.
pip install cokodo-agent[network]
# Or use pipx (recommended)
pipx install cokodo-agent
pipx install "cokodo-agent[network]" # if you need co init to fetch from GitHub
Dependencies: Default install does not include httpx; use co init --offline or install with [network] to fetch the latest protocol from GitHub.
Quick Start
# Navigate to your project
cd my-project
# Run the generator (any of these commands work)
co init # Short alias
cokodo init # Full name
cokodo-agent init # Package name
# Or specify a path
co init ./new-project
Usage
Interactive Mode (Default)
$ co init
Cokodo Agent v1.3.0
====================
Fetching protocol...
OK Protocol v3.0.0
? Project name: my-awesome-app
? Brief description: A task management web application
? Primary tech stack:
> Python
Rust
Qt/C++
Mixed
Other
? AI tools to configure (at least one required):
[x] Cokodo (Protocol Only) # Default - only .agent/
[ ] Cursor
[ ] GitHub Copilot
[ ] Claude Projects
[ ] Gemini Code Assist
Generating .agent/
OK Created .agent/
Success! Created .agent in /path/to/my-awesome-app
Next steps:
1. Review .agent/project/context.md
2. Start coding with AI assistance!
Quick Mode
# Use defaults, skip prompts (Cokodo mode - protocol only)
co init --yes
# Specify options directly
co init --name "my-app" --stack python -y
Commands
| Command | Description |
|---|---|
co init [path] |
Create .agent in target directory |
co adapt <cursor|claude|copilot|gemini|all> [path] |
Generate IDE entry files from existing .agent |
co detect [path] |
Detect IDE instruction files (read-only) |
co import [path] |
Import rules from IDE files into .agent/project/ |
co lint [path] |
Check protocol compliance |
co diff [path] |
Compare local .agent with latest protocol |
co sync [path] |
Sync local .agent with latest protocol |
co context [path] |
Get context files based on stack and task |
co status [path] |
View or update project status |
co ref <action> |
Manage cross-project references (list/add/remove/check/fetch/cache) |
co collab <action> |
Manage collaborations (list/add/remove/status/diff/pull) |
co global <action> |
Manage global project registry (list/info/status/search/gc/unregister) |
co serve [path] |
Start MCP server (add --workspace for multi-project, --global for registry) |
co journal [path] |
Record a session entry to session-journal.md |
co version |
Show version information |
Options for co init
| Option | Description |
|---|---|
--yes, -y |
Skip prompts, use defaults |
--name |
Project name |
--stack |
Tech stack (python/rust/qt/mixed/other) |
--force |
Overwrite existing .agent directory |
--offline |
Use built-in protocol (no network) |
Options for co lint
| Option | Description |
|---|---|
--rule, -r |
Check specific rule only |
--format, -f |
Output format (text/json/github) |
Options for co context
| Option | Description |
|---|---|
--stack, -s |
Tech stack (python/rust/qt/mixed) |
--task, -t |
Task type (coding/testing/review/documentation/bug_fix) |
--output, -o |
Output format (list/paths/content) |
Options for co journal
| Option | Description |
|---|---|
--title, -t |
Session title (e.g., "Feature X implementation") |
--completed, -c |
Completed items (comma-separated) |
--debt, -d |
Technical debt items (comma-separated) |
--decisions |
Key decisions made (comma-separated) |
--interactive, -i |
Interactive mode with prompts |
MCP Server
cokodo-agent includes a built-in MCP (Model Context Protocol) server that exposes .agent/ project context to any compatible IDE.
Install
pip install "cokodo-agent[mcp]"
IDE Configuration
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"cokodo-agent": {
"command": "co",
"args": ["serve"]
}
}
}
Claude Code (.mcp.json):
{
"mcpServers": {
"cokodo-agent": {
"command": "co",
"args": ["serve"],
"type": "stdio"
}
}
}
VS Code (.vscode/mcp.json):
{
"servers": {
"cokodo-agent": {
"command": "co",
"args": ["serve"],
"type": "stdio"
}
}
}
Available Tools
| Tool | Description |
|---|---|
get_project_context |
Get context files based on stack and task type |
update_status |
Update project status with tasks, blockers, context |
lint_protocol |
Run protocol compliance check |
list_files |
List all .agent/ files with loading layers |
list_relations |
List cross-project references and collaborations |
get_related_context |
Read content from references (local or remote) |
get_collaboration_context |
Get shared content from collaboration partners |
get_collaboration_status |
Check collaboration sync status |
fetch_remote_references |
Fetch/refresh remote git references |
check_relation_health |
Verify all relationships are accessible |
list_global_projects |
List all cokodo projects registered on this machine |
get_global_project_context |
Get context files from any registered project by name or ID |
get_global_project_status |
Get status.md from any registered project |
global_search |
Search across all registered projects by keyword (name/stack/status) |
Workspace Mode
Serve multiple projects from a parent directory:
co serve --workspace /path/to/workspace
Adds workspace-level tools: list_workspace_projects, workspace_get_context, workspace_get_status, workspace_read_file, workspace_list_relations, workspace_health_check.
Global Registry Mode
Serve all cokodo projects registered on this machine, without needing to be inside a specific project directory:
co serve --global
Projects are registered automatically each time any co command is run inside a directory that has .agent/. No manual registration needed.
Global Project Registry
cokodo-agent maintains a local registry of all cokodo projects at ~/.cokodo/registry.db (SQLite). Registration is automatic — run any co command in a project to register it.
Registry Commands
co global list # List all registered projects
co global info <name> # Show full details for a project
co global status <name> # Show status.md for a project
co global search <keyword> # Search by name, stack, or status
co global gc # Remove stale entries (deleted projects)
co global unregister <name> # Remove a project from registry
Cross-project Context via MCP
When the MCP server is running (any mode), the AI can query all registered projects:
list_global_projects → discover all projects on this machine
get_global_project_context → load .agent/ context from any project
get_global_project_status → read status.md from any project
global_search "keyword" → find projects by name, stack, or status
Protocol Sources
The tool fetches the latest protocol from multiple sources with fallback:
| Priority | Source | Description |
|---|---|---|
| 1 | GitHub Release | Latest version from repository |
| 2 | Built-in | Bundled version in package |
Generated Structure
Cokodo Mode (Default)
Only generates .agent/ directory:
my-project/
+-- .agent/ # Protocol directory
+-- start-here.md # * Entry point
+-- quick-reference.md # Cheat sheet
+-- core/ # Governance rules
+-- project/ # Project-specific (customized)
+-- skills/ # Skill modules
+-- adapters/ # Tool adapter templates
+-- scripts/ # Helper scripts
With AI Tool Adapters
Run co adapt <tool> (or co adapt all) in a project that already has .agent/. Generated files follow each IDE’s official spec:
| Tool | Generated File |
|---|---|
| Cursor | .cursor/rules/agent-protocol.mdc (YAML frontmatter) |
| Claude Code | CLAUDE.md (project root) |
| GitHub Copilot | AGENTS.md (project root) |
| Gemini Code Assist | GEMINI.md (project root, supports @file imports) |
Configuration
Environment Variables
| Variable | Description |
|---|---|
COKODO_OFFLINE |
Force offline mode (1 or true) |
COKODO_CACHE_DIR |
Custom cache directory |
COKODO_HOME_DIR |
Custom home directory (default: ~/.cokodo/) |
Cache Location
Downloaded protocols and the project registry are stored at:
- All platforms:
~/.cokodo/(cache at~/.cokodo/cache/) - Existing
~/.cache/cokodo/is migrated automatically on first run
Development
# Clone repository
git clone https://github.com/dinwind/agent_protocol.git
cd agent_protocol/cokodo-agent
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
License
MIT License - see LICENSE for details.
Documentation
- Complete Usage Guide - Detailed usage instructions
- 使用指南 (中文) - Chinese documentation
- Agent Protocol Documentation
- Report Issues
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 cokodo_agent-1.8.1.tar.gz.
File metadata
- Download URL: cokodo_agent-1.8.1.tar.gz
- Upload date:
- Size: 133.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13b637f649cff74133ebb030fc17fd2062c49005e2888f2c1fae1c7200d45fc2
|
|
| MD5 |
c8a54f3d18169c4c529256461ffe36d7
|
|
| BLAKE2b-256 |
ce8aa23c24a4a7bcb89caeb7280afaf02ee3af654e40ed579720095139fb4860
|
Provenance
The following attestation bundles were made for cokodo_agent-1.8.1.tar.gz:
Publisher:
release.yml on dinwind/agent_protocol
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cokodo_agent-1.8.1.tar.gz -
Subject digest:
13b637f649cff74133ebb030fc17fd2062c49005e2888f2c1fae1c7200d45fc2 - Sigstore transparency entry: 1039016402
- Sigstore integration time:
-
Permalink:
dinwind/agent_protocol@0cff8ccaaef55b3702e244b216a73621bde8103d -
Branch / Tag:
refs/tags/v1.8.1 - Owner: https://github.com/dinwind
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0cff8ccaaef55b3702e244b216a73621bde8103d -
Trigger Event:
push
-
Statement type:
File details
Details for the file cokodo_agent-1.8.1-py3-none-any.whl.
File metadata
- Download URL: cokodo_agent-1.8.1-py3-none-any.whl
- Upload date:
- Size: 180.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64b542ee51f4966f577b40ed0fac0dbda66ceadf6b8fa37efa38fc3a1b811fd7
|
|
| MD5 |
ce98e18f2095a7daf64ef005e4118e81
|
|
| BLAKE2b-256 |
941e4a541794b47597beee8b4b6b88aaa8ea7d859f5e4b16bf175ae4c2b55e06
|
Provenance
The following attestation bundles were made for cokodo_agent-1.8.1-py3-none-any.whl:
Publisher:
release.yml on dinwind/agent_protocol
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cokodo_agent-1.8.1-py3-none-any.whl -
Subject digest:
64b542ee51f4966f577b40ed0fac0dbda66ceadf6b8fa37efa38fc3a1b811fd7 - Sigstore transparency entry: 1039016444
- Sigstore integration time:
-
Permalink:
dinwind/agent_protocol@0cff8ccaaef55b3702e244b216a73621bde8103d -
Branch / Tag:
refs/tags/v1.8.1 - Owner: https://github.com/dinwind
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0cff8ccaaef55b3702e244b216a73621bde8103d -
Trigger Event:
push
-
Statement type: