Metadata-Version: 2.4
Name: ccmd
Version: 2.0.8
Summary: ccmd — Agentic Project Hub. Pick a project, pick an agent, launch.
Author-email: De Catalyst <Robert5560newton@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/Wisyle/ccmd
Project-URL: Repository, https://github.com/Wisyle/ccmd
Project-URL: Documentation, https://github.com/Wisyle/ccmd#readme
Keywords: cli,tui,terminal,agent,mcp,project-hub,claude,codex,grok,developer-tools
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyYAML>=6.0
Requires-Dist: textual>=0.80.0
Requires-Dist: rich>=13.0.0
Requires-Dist: rapidfuzz>=3.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: bandit>=1.7; extra == "dev"
Requires-Dist: ruff>=0.4; extra == "dev"
Provides-Extra: mcp
Requires-Dist: mcp>=1.0.0; extra == "mcp"
Dynamic: license-file

# ccmd 2.0 — Agentic Project Hub

Pick a project. Pick an agent. Launch.

```
   ██████╗ ██████╗███╗   ███╗██████╗
  ██╔════╝██╔════╝████╗ ████║██╔══██╗
  ██║     ██║     ██╔████╔██║██║  ██║
  ██║     ██║     ██║╚██╔╝██║██║  ██║
  ╚██████╗╚██████╗██║ ╚═╝ ██║██████╔╝
   ╚═════╝ ╚═════╝╚═╝     ╚═╝╚═════╝
        project hub  ·  v2.0
```

ccmd is a local control plane for coding agents — Claude Code, Grok Build, Codex, Cursor Agent, Goose, Aider, and ChatGPT (browser). It is not another coding agent. It prepares the room and opens the door.

## Install

```bash
pip install -e .
# or: pip install ccmd  (when published)
ccmd doctor
ccmd migrate --apply   # import 1.x shortcuts + custom commands
ccmd                   # vibrant TUI
```

Python 3.11+.

## Daily use

| Command | What |
|---------|------|
| `ccmd` | Project hub TUI |
| `ccmd open flow --agent claude` | Headless launch |
| `ccmd list` | Projects |
| `ccmd agents` | Detect installed agents |
| `ccmd sessions` | Launch history / kill |
| `ccmd ssh import` | Pull hosts from `~/.ssh/config` |
| `ccmd aliases import` | Pull aliases from `~/.bashrc` |
| `ccmd mcp` | Stdio MCP tool server |
| `ccmd doctor` | Paths + agent diagnostics |

### TUI keys

`↵` open · `a` agents · `n` new project · `s` sessions · `h` ssh · `/` filter · `q` quit

## Config

| Path | Role |
|------|------|
| `~/.ccmd/config.toml` | Global |
| `~/.ccmd/projects/*.yaml` | Registry |
| `~/.ccmd/ssh/hosts.yaml` | SSH profiles |
| `~/.ccmd/aliases.yaml` | Aliases + PATH |
| `~/.ccmd/sessions.jsonl` | Sessions |

Override home with `CCMD_HOME`.

## MCP

```bash
ccmd mcp
```

Tools: `projects.list`, `projects.get`, `agents.list`, `agents.launch`, `sessions.list`, `sessions.kill`, `ssh.list`.

NDJSON on stdio (works without the optional `mcp` package).

## Security

- No shell-function-per-command / `eval cd` (removed from 1.x)
- Subprocess argv lists only
- SSH IdentityFile paths only — never private key contents
- Env file secrets redacted from MCP payloads
- Atomic config writes mode `0600`

## Migrate from 1.x

```bash
ccmd migrate          # dry-run
ccmd migrate --apply  # write projects + aliases, backup to ~/.ccmd/legacy/
```

Your `go X >>> claude` customs become projects with `default_agent: claude`.

## Dev

```bash
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q
ccmd doctor
```

## License

MIT
