READMEΒΆ
Turn chaos into clarity. Evolving Ideas helps developers and creators capture, structure, and evolve their thoughts into real, buildable systems.
π FeaturesΒΆ
Classic brainstorming method with structured prompts
YAML versioning for ideas
Stores context, questions, answers, and summaries
OpenAI integration
CLI-first interface
π¦ Coming SoonΒΆ
improve
: refine and push your ideas furtherevolve
: branch and explore new directionsVisual idea trees, idea templates, and more
π Project StructureΒΆ
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 methods
π SetupΒΆ
Evolving 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
β Automated Setup (Windows only)ΒΆ
If youβre on Windows and have Python 3.9β3.11 installed:
make setup
This 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\activate
π Manual Setup (Linux/Mac or fallback)ΒΆ
If 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 install
β¨ Pre-commitΒΆ
We use pre-commit to ensure consistent formatting and linting across the codebase. Hooks include:
**isort**
(withblack
profile)black
pylint (with several warnings disabled)
pytest
To run them manually on all files:
pre-commit run --all-files
If you skip pre-commit installation, youβll need to run the formatters and linters manually before committing.
π§ͺ UsageΒΆ
python manage.py add
π DocumentationΒΆ
To 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 html
Then open: docs/build/html/index.html
in your browser.
π LicenseΒΆ
MIT β see LICENSE
π€ ContributingΒΆ
We welcome contributions! Please read the contributing guide and code of conduct before getting started.