An AI-powered Python application that turns a natural-language request into a GitHub project. The agent generates a structured project specification, creates a GitHub Project v2, creates the related issues in a repository, and links those issues to the project.
- Generate a project specification from a user prompt.
- Create a GitHub Project v2 using the GitHub GraphQL API.
- Automatically create issues in a target GitHub repository.
- Link each created issue to the project.
- Choose between OpenAI, Anthropic Claude, or a local Ollama model.
- Python installed on your machine.
- A GitHub account with a valid personal access token.
- A target GitHub repository accessible with that token.
- API keys for OpenAI or Anthropic if you plan to use those providers.
Your GitHub token must have permission to create issues and projects (Scopes : repo, project, read:org, write:discussion)
- Clone the repository.
- Go to the project root.
- Run the
create_env.shscript to generate the.envfile:
bash create_env.sh- Open the generated
.envfile at the project root and replace the placeholder values with your real credentials. - Install the Python dependencies:
pip install -r requirements.txtThe create_env.sh script creates a .env file with the following variables:
GITHUB_TOKEN: your GitHub personal access token.OWNER: the GitHub username or organization that owns the target repository.GRAPHQL_ENDPOINT: GitHub GraphQL endpoint.OPENAI_API_KEY: OpenAI API key, if you use OpenAI.ANTHROPIC_API_KEY: Anthropic API key, if you use Claude.
The application also reads a system prompt from src/prompts/system_prompt.json.
Run the application from the src directory:
cd src
python main.pyWhen prompted, provide:
- the repository name, either as
owner/repoor justrepoifOWNERis set in.env; - a description of the project you want to create.
By default, the local model is used. You can explicitly choose a provider with one of these options:
python main.py --local
python main.py --openai
python main.py --claudeFor the local provider, make sure you have Ollama installed and you have downloaded the required model (qwen2.5-coder:14b).
You can install Ollama by running:
curl -fsSL https://ollama.com/install.sh | shand then download the model with:
ollama pull qwen2.5-coder:14bThe main flow is:
- Read the user request.
- Generate a structured project specification with the LLM.
- Create the GitHub Project.
- Create the issues described in the specification.
- Link each issue to the project.
Example prompt:
Create an e-commerce project with product management, a shopping cart, online payment, and a customer account area.
The agent will generate the corresponding GitHub project and repository issues.
- Make sure the
.envfile exists at the project root. - Check that
GITHUB_TOKENandOWNERare set correctly. - Make sure the target repository exists and is accessible with your token.
- If you use OpenAI or Claude, verify the corresponding API key is present.
See the LICENSE file.