Turn chaos into clarity. Evolving Ideas helps developers and creators capture, structure, and evolve their thoughts into real, buildable systems.
- Classic brainstorming method with structured prompts
- YAML versioning for ideas
- Stores context, questions, answers, and summaries
- OpenAI integration
- CLI-first interface
improve: refine and push your ideas furtherevolve: branch and explore new directions- Visual idea trees, idea templates, and more
evolving-ideas/
β
βββ .env-example # Example .env file
βββ manage.py # Dev entry point
βββ requirements.txt # Dependencies
βββ .store/ # Ideas and cache
β βββ cache.yaml # Cache store
β βββ ideas/ # Idea folders
βββ evolving_ideas/ # Main app
β βββ app.py # Main entry logic
β βββ cli.py # CLI interface
β βββ common/ # Cache & logging
β βββ domain/ # Models, services, repos
β βββ infra/ # OpenAI & transport
β βββ prompts/ # Prompt templates & builder
β βββ interface/ # Chat logs & presenters
β βββ sessions/ # Session state
β βββ strategies/ # Brainstorming methodsEvolving Ideas provides a streamlined setup for Windows environments using a Makefile.
- Requires python>=3.9<=3.11
- OpenAI API Key in .env
- Windows only support for now
If you're on Windows and have Python 3.9β3.11 installed:
make setupThis will:
- Check your Python version (must be between 3.9 and 3.11)
- Create a virtual environment at .venv
- Install all dev and docs dependencies
- Set up pre-commit hooks for linting and formatting
After that, activate your environment with:
.venv\Scripts\activateIf you're not on Windows or prefer manual steps:
# Create and activate the virtual environment
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install -r requirements-docs.txt
# (Optional but recommended) Set up pre-commit
pre-commit installWe use pre-commit to ensure consistent formatting and linting across the codebase. Hooks include:
**isort**(withblackprofile)- black
- pylint (with several warnings disabled)
- pytest
To run them manually on all files:
pre-commit run --all-filesIf you skip pre-commit installation, you'll need to run the formatters and linters manually before committing.
python manage.py addTo build the docs locally:
# Create virtualenv and install docs dependencies
python -m venv .venv
source .venv\Scripts\activate
pip install -r requirements-docs.txt
# Build docs
cd docs
make.bat htmlThen open: docs/build/html/index.html in your browser.
MIT β see LICENSE
We welcome contributions! Please read the contributing guide and code of conduct before getting started.