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.4.tar.gz (43.8 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.4-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mai_cli-1.10.4.tar.gz
  • Upload date:
  • Size: 43.8 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.4.tar.gz
Algorithm Hash digest
SHA256 6c57918425a878e6c19266cc96796aba2f787fa1d91b72dce0b41830810617dc
MD5 bdb73e5cfc0b803f69ee2221b7eb25dd
BLAKE2b-256 0f1350506c174a2a399c0865829717b563acea40e2889a0196dd35e7aa1c3de2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mai_cli-1.10.4-py3-none-any.whl
  • Upload date:
  • Size: 39.6 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 670c1670620cf85b9b5b3ab4070cf6844583585158e68b9c52b3deb90c2a7b5c
MD5 1a30d28b440184609ff0fca55e230e2e
BLAKE2b-256 0b196b7ce8f51e1c970d2a9dfd9dd7e03093a406660f3ff195789c78edbfb688

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