Skip to main content

Multi-Agent Collaboration CLI with flock-based locking and event-driven workflow

Project description

Mai CLI

English | 简体中文

PyPI Version License Python

Multi-Agent Coordination CLI — enables multiple AI agents to collaborate autonomously via a standardized command interface, backed by flock-based atomic locking.


✨ Features

  • 🔒 Atomic flock locks — race-condition-free claim/complete via POSIX fcntl.flock()
  • 📋 Standardized commands — full Issue lifecycle, queue scanning, lock management, audit logs, daily summaries
  • 📁 Dual-layer storage.mai/ as internal source, async/ as human-readable mirror
  • ⚙️ JSON configuration — queue SLA, agent heartbeat, issue ID prefix all in config.json
  • 🔄 Concurrent-safe daily summaries — multiple agents write simultaneously with flock protection
  • 🌍 Global Infrastructure — centralized management of global config and project registry in ~/.mai-cli/ (v1.10.3+)
  • Idempotent writes — repeating any operation preserves state
  • 📦 Zero dependencies — Python 3 stdlib only

🏗️ Architecture

flowchart TB
    subgraph Storage
        A[".mai/ — internal source"]
        B["async/ — human-readable mirror"]
    end
    subgraph Core
        C["Issue Queue"]
        D["flock Lock"]
        E["Heartbeat Guardian"]
    end
    subgraph Commands
        F["mai issue"]
        G["mai queue"]
        H["mai lock"]
        I["mai daily-summary"]
    end
    F --> C
    G --> C
    H --> D
    I --> C
    C --> A
    A --> B

🚀 Quick Start

Requirements

  • Python 3.8+ (stdlib only, no external dependencies)
  • Linux / macOS / WSL (POSIX environment)

Install

pip install mai-cli

Minimal Example

# 0. Global setup (v1.10.3+)
mai setup --root admin

# 1. Initialize project (Root required)
mai init -o admin

# 2. Register an agent
mai agent add alice --heartbeat-minutes 30

3. Create an issue

mai issue new questions "Technical review" -o alice

4. Claim issue (auto-locks)

mai issue claim REQ-001 -o alice

5. Complete issue

mai issue complete REQ-001 "Approved for implementation" -o alice

6. Check queue

mai queue check --overdue


---

## 📖 Documentation

| Document | Description |
|:---|:---|
| [Deployment](./docs/DEPLOYMENT.md) | Deployment guide |
| [Command Reference](./docs/references/commands.md) | Full command reference |

---

## 🤝 Contributing

PRs and Issues are welcome!

1. Fork this project
2. Create a feature branch `git checkout -b feature/AmazingFeature`
3. Commit your changes `git commit -m 'feat: Add some AmazingFeature'`
4. Push to the branch `git push origin feature/AmazingFeature`
5. Open a Pull Request

---

## 📄 License

MIT License — see [LICENSE](LICENSE).

---

*Mai CLI v1.10.4*

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

mai_cli-1.10.5.tar.gz (43.9 kB view details)

Uploaded Source

Built Distribution

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

mai_cli-1.10.5-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

Details for the file mai_cli-1.10.5.tar.gz.

File metadata

  • Download URL: mai_cli-1.10.5.tar.gz
  • Upload date:
  • Size: 43.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mai_cli-1.10.5.tar.gz
Algorithm Hash digest
SHA256 fce97bbca1b903243904be2c34569096a137ee6e635d75ca500ff988371179f1
MD5 725795a55eea7a48488016c4db6183f9
BLAKE2b-256 189e333a1dbbb15f9bf506dc0fd2d1b0de9b42656542590854830d749fb7585b

See more details on using hashes here.

File details

Details for the file mai_cli-1.10.5-py3-none-any.whl.

File metadata

  • Download URL: mai_cli-1.10.5-py3-none-any.whl
  • Upload date:
  • Size: 39.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mai_cli-1.10.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6f1a5ea16707b7afad678484fc5ec5da3936fdcb86ccafa432a8fccf366dcced
MD5 253ae1126b0cbc1b91d0c6869c720ed7
BLAKE2b-256 a86c2062d0784f5c1044142173c897f2b2d86646c5c714b0093ac077ef9d67b5

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