Skip to main content

AI Project Planning Engine - From Intent to Executable Task DAGs

Project description

OpenExec Planner

AI Project Planning Engine — From Intent to Executable Task DAGs

Python License


The OpenExec Planner module transforms high-level project intents (PRDs, specs, requirements) into structured, executable task hierarchies using AI-powered decomposition and goal tree analysis.

Features

  • Guided Intent Interviewer — Interactive chat to gather constraints and shape
  • Intent Parsing — Extracts goals and requirements from PRD documents
  • Goal Tree Decomposition — Breaks down objectives into atomic tasks
  • Story Generation — Creates user stories with acceptance criteria
  • Dependency Modeling — Infers and models execution prerequisites for parallel processing
  • Dependency Analysis — Identifies task relationships and ordering
  • Quality Gate Templates — Language-aware testing configurations
  • Context Awareness — Integrates with codebase analysis

How It Works

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│   INTENT    │────▶│    PARSER    │────▶│  GOAL TREE  │
│  (PRD.md)   │     │  (AI Agent)  │     │   (JSON)    │
└─────────────┘     └──────────────┘     └──────┬──────┘
                                                │
                    ┌───────────────────────────┘
                    ▼
┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│   STORIES   │────▶│    TASKS     │────▶│   SCHEDULE  │
│  (JSON)     │     │   (JSON)     │     │  (ordered)  │
└─────────────┘     └──────────────┘     └─────────────┘

Installation

git clone https://github.com/openexec/openexec-planner.git
cd openexec-planner
pip install -e .

CLI Dependencies

By default, the orchestration engine uses external CLI tools to call LLMs. Ensure you have the relevant tools installed and authenticated:

  • Claude Code: claude CLI
  • Codex: codex CLI
  • Gemini: gemini CLI
  • OpenCode: opencode (Ollama)

To use direct API calls instead, install the optional dependencies:

pip install "openexec-planner[llm]"

Usage

The orchestration engine follows a logical project lifecycle:

1. Gather Intent (Wizard)

Start a guided interview to define your project shape, platform, and contracts. This is the recommended first step for any new project or refactor.

openexec-planner wizard --message "I want to build a new mobile app for gym tracking"

The wizard will track state and ask follow-up questions until the intent is "Ready", then render an INTENT.md file.

2. Generate Plan (Generate)

Once you have an INTENT.md (either from the wizard or manual), transform it into structured user stories and tasks.

openexec-planner generate INTENT.md -o .openexec/stories.json

3. Analyze Architecture (Build Tree)

Decompose the goals into a hierarchical tree to visualize the project structure.

openexec-planner build-tree INTENT.md -o .openexec/goal_tree.json

4. Order Execution (Schedule)

Generate an optimized execution schedule based on task dependencies.

openexec-planner schedule .openexec/stories.json -o .openexec/schedule.json

Configuration

# openexec.yaml
orchestration:
  agent: claude                  # AI agent for planning
  model: sonnet                  # Model for decomposition
  max_depth: 4                   # Goal tree max depth
  min_task_granularity: 2h       # Minimum task size
  max_task_granularity: 8h       # Maximum task size

planning:
  include_tests: true            # Generate test tasks
  include_docs: false            # Generate doc tasks
  language_detection: auto       # Detect project language

Output Formats

stories.json

{
  "stories": [
    {
      "id": "US-001",
      "title": "User Registration",
      "description": "As a user, I want to register...",
      "acceptance_criteria": [
        "User can enter email and password",
        "Email validation is performed",
        "Success message is shown"
      ],
      "tasks": ["T-001", "T-002", "T-003"]
    }
  ]
}

tasks.json

{
  "tasks": [
    {
      "id": "T-001",
      "story_id": "US-001",
      "title": "Create registration form component",
      "description": "...",
      "status": "pending",
      "dependencies": [],
      "estimated_hours": 4
    }
  ]
}

goal-tree.json

{
  "root": {
    "goal": "Build user authentication",
    "children": [
      {
        "goal": "User registration",
        "children": [
          {"task": "T-001"},
          {"task": "T-002"}
        ]
      }
    ]
  }
}

Project Structure

openexec-planner/
├── src/
│   └── openexec_planner/
│       ├── __init__.py
│       ├── parser.py           # Intent parsing
│       ├── generator.py        # Story generation
│       ├── goal_tree.py        # Goal tree building
│       ├── scheduler.py        # Task scheduling
│       └── templates/          # Prompt templates
├── tests/
├── pyproject.toml
└── README.md

Language Detection

Automatically detects project language and configures appropriate:

  • Quality gates (lint, test, typecheck)
  • File patterns
  • Build commands

Supported languages:

  • Python (ruff, mypy, pytest)
  • Go (gofmt, golangci-lint, go test)
  • TypeScript/JavaScript (eslint, tsc, jest)
  • Rust (cargo fmt, clippy, cargo test)

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Lint
ruff check src/

# Type check
mypy src/

Related

License

MIT License

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

openexec_planner-0.1.0.tar.gz (66.2 kB view details)

Uploaded Source

Built Distribution

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

openexec_planner-0.1.0-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file openexec_planner-0.1.0.tar.gz.

File metadata

  • Download URL: openexec_planner-0.1.0.tar.gz
  • Upload date:
  • Size: 66.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for openexec_planner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ef1061aad7228de6666749893c9ae5fefbd9a0d0c3f5ab3df25aa425be7eb9c3
MD5 34c7d638e9fd6a7d75c552a0b3931d6a
BLAKE2b-256 471cb4e85d3591015fe47e0a66326ff44635a3dd6a6d7e8ef8fd614936de5cce

See more details on using hashes here.

File details

Details for the file openexec_planner-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openexec_planner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30bba24e0623d96c5f8a583018a5f111f60d082b4c2bc46e30955132dffe8a31
MD5 cc4c95fdf231330d0c120e7f625a0bb6
BLAKE2b-256 ba125f9ca293daa4c0a86583d8222b35b276380df78eb836eb70803aab3fe5fc

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