Metadata-Version: 2.4
Name: hexdag-forge
Version: 0.2.0.dev2
Summary: Generate operational systems from prompts — code generator powered by hexDAG
Project-URL: Homepage, https://hexdag.ai
Project-URL: Repository, https://github.com/omniviser/hexdag
Project-URL: Documentation, https://hexdag.ai/docs/forge
Project-URL: Bug Reports, https://github.com/omniviser/hexdag/issues
Author-email: hexDAG Team <developers@omniviser.ai>
License: Apache-2.0
License-File: LICENSE
Keywords: ai,code-generation,crm,erp,forge,hexdag,operational-systems,tms
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.12
Requires-Dist: hexdag>=0.7.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: typer>=0.9.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>=5.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: mcp
Requires-Dist: mcp>=1.0.0; extra == 'mcp'
Description-Content-Type: text/markdown

# hexDAG Forge

**Generate operational systems from prompts.** Describe your business → get a complete, runnable system with YAML pipelines, Python services, Django models, and a `kind: System` manifest.

```bash
pip install hexdag-forge

hexdag-forge generate "I run a freight brokerage that matches shippers with carriers"
```

Output:
```
./generated/
├── system.yaml              # kind: System manifest (LifecycleRunner)
├── pipelines/
│   ├── load_lifecycle.yaml   # Pipeline per entity lifecycle
│   └── escalation.yaml
├── services/
│   └── freight_service.py    # @tool/@step CRUD + domain stubs
├── models/
│   └── models.py             # Django models
├── state_machines.py         # StateMachineConfig definitions
├── manage.py                 # Django manage.py
├── settings.py               # Django settings
├── urls.py                   # URL config
├── admin.py                  # Admin registration
└── profile.json              # BusinessProfile (for refinement)
```

## What it generates

- **YAML Pipelines** — entity lifecycle workflows using hexDAG nodes
- **Python Services** — `@tool`/`@step` CRUD methods (implemented) + domain-specific stubs (`NotImplementedError`) for the builder agent to fill
- **Django Models** — proper ORM models with fields, relationships, state choices
- **System Manifest** — `kind: System` with state machines, `on_enter` process mappings, terminal states
- **State Machines** — `StateMachineConfig` definitions with validated transitions

## CLI

```bash
# Generate from prompt
hexdag-forge generate "I run a freight brokerage" --output ./my-erp/

# Refine existing system
hexdag-forge refine ./my-erp/ "Add an Escalation entity with severity field"

# Validate generated files
hexdag-forge validate ./my-erp/

# MCP server for Claude Code
hexdag-forge mcp serve
```

## MCP + Claude Code

```bash
hexdag-forge mcp serve
```

Skills:
- `/forge "I run a freight brokerage"` — generate system
- `/forge:entity "add Carrier with mc_number, score"` — add entity
- `/forge:implement "fill in negotiate_rate"` — implement stub

## License

Apache 2.0
