SDLC automation platform - strategic project management with CI/CD integration and automated bug-fix loops
Project description
Planfile
Planfile is an SDLC automation platform that provides strategic project management with CI/CD integration and automated bug-fix loops. It manages sprints and strategies across external ticket systems like GitHub, Jira, and GitLab.
โจ Features
- ๐ฏ Strategy Modeling: Define strategies and sprints in YAML with task patterns
- ๐ Automated CI/CD Loop: Test โ Ticket โ Fix โ Retest automation
- ๐ Multi-Backend Support: Integrates with GitHub Issues, Jira, GitLab, and generic HTTP APIs
- ๐ค LLM-Powered: AI-driven bug reports and auto-fix capabilities
- ๐ Progress Tracking: Review strategy execution with detailed metrics
- ๐ CLI Tool: Easy-to-use command-line interface for applying and reviewing strategies
- ๐จ Rich Output: Beautiful terminal output with progress bars and tables
- ๐ณ Docker Support: Containerized deployment with Ollama integration
- ๐ง Extensible: Easy to add new backends and custom integrations
๐ฆ Installation
# Basic installation
pip install planfile
# With all backend integrations
pip install planfile[all]
# Or with specific backends
pip install planfile[github,jira]
pip install planfile[gitlab]
๐ Quick Start
1. Create a Strategy
Create a strategy.yaml file:
name: "My Project Strategy"
project_type: "web"
domain: "fintech"
goal: "Launch a secure payment processing platform"
sprints:
- id: 1
name: "Core Infrastructure"
length_days: 14
objectives:
- Set up project structure
- Implement authentication
tasks:
- type: "feature"
title: "Setup project structure"
description: "Create basic project layout and configuration"
estimate: 2
priority: "high"
- id: 2
name: "Payment Processing"
length_days: 21
objectives:
- Implement payment gateway
- Add security measures
tasks:
- type: "feature"
title: "Payment gateway integration"
description: "Integrate with payment provider API"
estimate: 5
priority: "critical"
2. Configure Environment
# GitHub
export GITHUB_TOKEN=your_token
export GITHUB_REPO=owner/repo
# Jira
export JIRA_URL=https://company.atlassian.net
export JIRA_EMAIL=your@email.com
export JIRA_TOKEN=your_token
export JIRA_PROJECT=PROJ
# GitLab
export GITLAB_TOKEN=your_token
export GITLAB_PROJECT_ID=123
3. Run CI/CD Auto-Loop
# Run automated bug-fix loop
planfile auto loop \
--strategy ./strategy.yaml \
--project . \
--backend github \
--max-iterations 5 \
--auto-fix
# Check CI status
planfile auto ci-status
# Review strategy progress
planfile strategy review \
--strategy ./strategy.yaml \
--project . \
--backend github
4. Using Makefile
# Run CI loop with strategy
make ci-loop STRATEGY=strategy.yaml BACKENDS=github MAX_ITERATIONS=5
# Run examples
make example-github
make example-jira
# Full pipeline
make pipeline-docker
๐ CI/CD Automation
Planfile provides complete automation for the bug-fix lifecycle:
- Test Execution: Run your test suite
- Bug Detection: Identify failing tests and code issues
- AI Analysis: Generate detailed bug reports using LLM
- Ticket Creation: Create tickets in your PM system
- Auto-Fix: Optionally fix bugs automatically with AI
- Verification: Re-run tests to verify fixes
- Loop: Repeat until all tests pass
๐ณ Docker Support
# Build Docker image
make docker-build
# Run with Docker Compose
docker-compose up -d
# Run auto-loop in container
docker-compose exec sprintstrat-runner planfile auto loop \
--strategy /app/strategy.yaml \
--project /workspace \
--backend github \
--max-iterations 5
๐ Documentation
๐ง Configuration
Strategy Schema
The strategy.yaml file supports:
- Sprints: Time-boxed development periods
- Task Patterns: Reusable task templates
- Quality Gates: Definition of done criteria
- Success Metrics: KPIs for strategy completion
Backend Configuration
Each backend requires specific configuration:
# GitHub backend
github:
token: ${GITHUB_TOKEN}
repo: ${GITHUB_REPO}
# Jira backend
jira:
url: ${JIRA_URL}
email: ${JIRA_EMAIL}
token: ${JIRA_TOKEN}
project: ${JIRA_PROJECT}
๐ค AI Integration
Planfile integrates with LLM services for:
- Bug Analysis: Detailed error analysis and root cause identification
- Auto-Fix: Automatic code generation for bug fixes
- Strategy Optimization: AI-powered recommendations for strategy improvements
# Enable AI features
export OPENAI_API_KEY=your_key
export ANTHROPIC_API_KEY=your_key
# Run with auto-fix
planfile auto loop --strategy strategy.yaml --auto-fix
๐ Examples
Web Project Strategy
name: "E-commerce MVP"
project_type: "web"
domain: "ecommerce"
goal: "Launch minimum viable e-commerce platform"
sprints:
- id: 1
name: "Foundation"
length_days: 10
tasks:
- type: "feature"
title: "Setup project structure"
estimate: 1
- type: "feature"
title: "Database schema"
estimate: 3
Mobile App Strategy
name: "Mobile App MVP"
project_type: "mobile"
domain: "healthcare"
goal: "Launch health tracking mobile app"
sprints:
- id: 1
name: "Core Features"
length_days: 14
tasks:
- type: "feature"
title: "User authentication"
estimate: 3
- type: "feature"
title: "Health data tracking"
estimate: 5
๐ Integrations
Version Control
- GitHub: Issues, Projects, Actions
- GitLab: Issues, CI/CD, Merge Requests
- Bitbucket: Issues, Pipelines
Project Management
- Jira: Issues, Epics, Sprints
- Linear: Issues, Projects, Teams
- ClickUp: Tasks, Lists, Spaces
- Asana: Tasks, Projects, Portfolios
CI/CD Platforms
- GitHub Actions: Workflow automation
- GitLab CI: Pipeline integration
- Jenkins: Build automation
- Azure DevOps: Release management
๐ ๏ธ Development
Setup Development Environment
# Clone repository
git clone https://github.com/semcod/strategy
cd strategy
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Run linting
ruff check src/ tests/
ruff format src/ tests/
Project Structure
strategy/
โโโ strategy/ # Main package
โ โโโ cli/ # CLI commands
โ โโโ integrations/ # Backend integrations
โ โโโ loaders/ # YAML/JSON loaders
โ โโโ utils/ # Utilities
โโโ examples/ # Example strategies
โโโ tests/ # Test suite
โโโ docs/ # Documentation
โโโ docker/ # Docker files
๐ License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
๐ Support
- ๐ Documentation
- ๐ Issue Tracker
- ๐ฌ Discussions
๐ Acknowledgments
- Built with Typer for CLI
- Styled with Rich for terminal output
- Validated with Pydantic for data models
Planfile - Your strategic partner in SDLC automation. ๐
License
Apache License 2.0 - see LICENSE for details.
Author
Created by Tom Sapletta - tom@sapletta.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file planfile-0.1.17.tar.gz.
File metadata
- Download URL: planfile-0.1.17.tar.gz
- Upload date:
- Size: 68.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46cd553497c51b236e703e9c2b594c6f33cf3ff18019eb848c93a321cddf7431
|
|
| MD5 |
a21bb396d6c40a2b68896360c2845f22
|
|
| BLAKE2b-256 |
1d9e554266e31186f6d7576f86a3033a50b4ec0ebfedc98cd214c5da16f99f6b
|
File details
Details for the file planfile-0.1.17-py3-none-any.whl.
File metadata
- Download URL: planfile-0.1.17-py3-none-any.whl
- Upload date:
- Size: 80.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7ba9f91b65ec60eb55b2c2aeb700ff1ce0cca4da1631223ea4bbd015256dd42
|
|
| MD5 |
bbbd66d0f092b0a030687e8f2368023f
|
|
| BLAKE2b-256 |
45eae1c53e075aef0d111517dc2dbca62a43519464babe93ce64f1d10adcc5e0
|