Metadata-Version: 2.4
Name: galangal-orchestrate
Version: 0.38.2
Summary: AI-driven development workflow orchestrator
Project-URL: Homepage, https://github.com/Galangal-Media/galangal-orchestrate
Project-URL: Repository, https://github.com/Galangal-Media/galangal-orchestrate
Project-URL: Issues, https://github.com/Galangal-Media/galangal-orchestrate/issues
Author: Galangal Media
License-Expression: MIT
License-File: LICENSE
Keywords: ai,claude,development,orchestrator,workflow
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.10
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0.0
Requires-Dist: sentence-transformers>=2.2.0
Requires-Dist: sqlite-vss>=0.1.2
Requires-Dist: structlog>=24.0.0
Requires-Dist: textual>=0.40.0
Requires-Dist: websockets>=12.0
Provides-Extra: dev
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: hub
Requires-Dist: aiosqlite>=0.19.0; extra == 'hub'
Requires-Dist: cryptography>=41.0.0; extra == 'hub'
Requires-Dist: fastapi>=0.109.0; extra == 'hub'
Requires-Dist: jinja2>=3.1.0; extra == 'hub'
Requires-Dist: python-multipart>=0.0.6; extra == 'hub'
Requires-Dist: uvicorn>=0.27.0; extra == 'hub'
Requires-Dist: websockets>=12.0; extra == 'hub'
Description-Content-Type: text/markdown

# Galangal Orchestrate

**Turn AI coding assistants into structured development workflows.**

Galangal wraps [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) to execute a deterministic, multi-stage development pipeline with approval gates, validation, and automatic rollback.

## Why Use This?

Instead of open-ended AI coding sessions, you get a structured workflow:

1. **PM** - AI writes requirements, you approve before code is written
2. **Design** - AI proposes architecture, you approve the approach
3. **Dev** - AI implements according to approved specs
4. **Test/QA/Review** - Automated validation with rollback on failure
5. **Docs** - AI updates documentation

If anything fails, the workflow rolls back with context about what went wrong.

## Quick Start

```bash
# Install
pip install galangal-orchestrate

# Initialize in your project
cd your-project
galangal init

# Start a task
galangal start "Add user authentication with JWT"

# Check status / resume
galangal status
galangal resume
```

## Requirements

- Python 3.10+
- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) (`claude` command)
- Git

## Commands

| Command | Description |
|---------|-------------|
| `galangal init` | Initialize in current project |
| `galangal start "desc"` | Start new task |
| `galangal status` | Show task status |
| `galangal resume` | Continue active task |
| `galangal list` | List all tasks |
| `galangal index stats` | Show task index DB stats |
| `galangal index rebuild` | Rebuild task index from task folders |
| `galangal index migrate-artifacts` | Import legacy artifact files into DB and delete file copies |
| `galangal index compact-done` | Keep only `PLAN.md` and `SUMMARY.md` in `tasks/done/*` |
| `galangal complete` | Finalize & create PR |

**Interactive controls during execution:**
- `^Q` Quit/pause
- `^I` Interrupt with feedback
- `^N` Skip stage
- `^B` Go back
- `^E` Pause for manual edit

## Galangal Hub

Monitor and control workflows remotely across multiple machines.

```bash
# Deploy hub server (Docker)
docker run -d -p 8080:8080 \
  -e HUB_USERNAME=admin \
  -e HUB_PASSWORD=your-password \
  -e HUB_API_KEY=your-api-key \
  -v galangal-hub-data:/data \
  ghcr.io/galangal-media/galangal-hub:latest
```

```yaml
# Enable in your project (.galangal/config.yaml)
hub:
  enabled: true
  url: ws://your-server:8080/ws/agent
  api_key: your-api-key  # Must match HUB_API_KEY on server
```

See [Hub Documentation](docs/hub/README.md) for full setup instructions.

## Documentation

| Topic | Link |
|-------|------|
| **Getting Started** | [docs/getting-started.md](docs/getting-started.md) |
| **Configuration** | [docs/guide/configuration.md](docs/guide/configuration.md) |
| **Workflow Stages** | [docs/guide/workflow-pipeline.md](docs/guide/workflow-pipeline.md) |
| **Hub (Remote Control)** | [docs/hub/README.md](docs/hub/README.md) |
| **Troubleshooting** | [docs/troubleshooting.md](docs/troubleshooting.md) |
| **Architecture** | [docs/local-development/architecture.md](docs/local-development/architecture.md) |

## Task Types

| Type | Stages | Use Case |
|------|--------|----------|
| **Feature** | All stages | New functionality |
| **Bug Fix** | PM → PREFLIGHT → DEV → TEST → TEST_GATE → QA → REVIEW → SUMMARY | Fixing bugs |
| **Refactor** | PM → DESIGN → PREFLIGHT → DEV → TEST → TEST_GATE → REVIEW → SUMMARY | Code restructuring |
| **Chore** | PM → PREFLIGHT → DEV → TEST → TEST_GATE → REVIEW → SUMMARY | Config, dependencies |
| **Docs** | PM → DOCS → SUMMARY | Documentation only |
| **Hotfix** | PM → DEV → TEST → TEST_GATE → SUMMARY | Critical fixes |

## License

MIT License - see LICENSE file.
