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 further

  • evolve: branch and explore new directions

  • Visual 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** (with black 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.