This repository is the official implementation of the concepts discussed in the article Generative Project Management.
Generative Project Management is a paradigm shift in how we approach project planning and execution. By leveraging large language models (LLMs) and structured prompting, we can transform vague project ideas into comprehensive, actionable plans in minutes rather than days or weeks.
The system takes a basic project description and team context as input, and generates:
- A detailed project plan with title, description, and objectives
- A structured roadmap with execution steps
- Task breakdown with assigned team members, dependencies, and time estimates
- A realistic project calendar/schedule
- Project analytics including workload distribution and timeline projections
- The Article provides the theoretical foundation, explains the architecture, and demonstrates the potential of AI-driven project management.
- This Repository provides the practical implementation with working code that you can use, customize, and extend for your own projects.
The system follows a pipeline architecture with three main blocks:
- Project Details: Processes user input and team context to generate project information
- Task Generation: Creates detailed tasks with assignments and dependencies
- Generative Calendar: Schedules tasks with realistic dates and times
generative_project_management.py- The main Python script with all the implementationrun_modular.py- Entry point for the modular implementationmodules/- Directory containing modular components (see modules/README.md for details)input_data/- Directory containing input files:company_data.json- Example company/team data in JSON formatuser_input.txt- Example project description as plain text
requirements.txt- Required Python dependenciesprompts/- Directory containing all text prompts used by the system
- Python 3.7+
- OpenAI API key
-
Clone this repository
-
Install required dependencies:
pip install -r requirements.txt -
Set up your OpenAI API key as an environment variable:
export OPENAI_API_KEY='your-api-key'Alternatively, create a
.envfile in the project root with:OPENAI_API_KEY='your-api-key'
-
Prepare your company data in JSON format following the structure in
input_data/company_data.json:{ "organization": { "name": "Your Company", "about": "Description of your company" }, "team_members": [ { "name": "Team Member 1", "role": "Role 1", "responsibilities": "Responsibilities" }, ... ] } -
Create a text file with your project description in
input_data/user_input.txt:A detailed description of the project you want to plan -
Run the script:
python generative_project_management.py -
The script will generate a comprehensive project plan and save it as
project_plan.json
The generated output includes:
- Project summary (title, description, objectives)
- Roadmap with execution phases
- Detailed task list with assignments and dependencies
- Calendar with start/end dates for each task
- Analytics on task categories and team workload
This repository includes both a single-file implementation (generative_project_management.py) and a modular implementation in the modules/ directory. The modular version breaks the functionality into separate components that can be used independently:
modules/preprocessing.py: Step 1 - Preprocessing user input and team contextmodules/project_details.py: Step 2 - Generating detailed project informationmodules/tasks_generation.py: Step 3 - Generating tasks based on project detailsmodules/calendar_generation.py: Step 4 - Creating a calendar/schedule for tasksmodules/output_processor.py: Step 5 - Processing and aggregating output data
To use the modular version, run:
python run_modular.py
# Import module
from generative_project_management import run_generative_project_management
# Load team context
with open('input_data/my_company.json', 'r') as f:
team_context = json.load(f)
# Define project
project_description = "Build a mobile app that helps users track their fitness goals"
# Generate project plan
project_plan = run_generative_project_management(project_description, team_context)
# Use the plan
print(f"Project title: {project_plan['project']['title']}")You can customize the system by:
- Modifying the prompt text files in the
prompts/directory - Adjusting the API parameters in the Python code
- Adding additional processing steps
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For a deep dive into the concepts, architecture, and potential of Generative Project Management, read the full article at alexnix.com/blog/posts/en/generative-project-management.
