Skip to content

ryacub/brain-salad

Repository files navigation

Brain-Salad

A telos-idea-matrix: score ideas against what actually matters to you

Language: Go (see go.mod for version) Status: Production Ready License: MIT

Note: The repository is named brain-salad (product name), but the Go module path is telos-idea-matrix (the underlying methodology). Both refer to the same project.

Overview

Brain-Salad helps you decide which ideas to pursue by scoring them against your telos — your goals, purpose, and what you're trying to achieve. Whether you're a potter, developer, event planner, or anyone with too many ideas — Brain-Salad learns your priorities through a quick interactive wizard and scores your ideas accordingly.

No configuration files to write. No AI/tech jargon. Just answer a few questions and start scoring.

Quick Start

# Install (one-liner)
curl -sSL https://raw.githubusercontent.com/rayyacub/brain-salad/main/scripts/install.sh | bash

# Or with Go installed:
go install github.com/ryacub/telos-idea-matrix/cmd/cli@latest

# Run the setup wizard (2 minutes)
tm init

# Score an idea
tm score "Sell pottery at the farmer's market"

# Save and analyze an idea
tm add "Build a mobile app for tracking inventory"

What the wizard asks

Q1: You have two project ideas. Which do you start?
    [A] Simple and done by next week
    [B] Ambitious and done in a few months

Q2: Which feels worse?
    [A] Finishing something nobody cared about
    [B] Never finishing at all

... (5 questions total, plus your goals)

Your answers determine how ideas are scored. Value finishing things? Completion likelihood weighs more. Care about money? Revenue alignment matters more.

Scoring Dimensions

Brain-Salad evaluates ideas across 6 universal dimensions:

Dimension Question Weight
Completion Will I actually finish this? Based on your answers
Skill Fit Can I do this with what I know? Based on your answers
Timeline How long until it's real? Based on your answers
Reward Does this give me what I want? Based on your answers
Sustainability Will I stay motivated? Based on your answers
Avoidance Does this dodge my pitfalls? Based on your answers

Example Output

────────────────────────────────────────────────────────────────
Sell pottery at the farmer's market

Score: 8.2/10.0 — STRONG FIT

  Completion   ████████░░  1.7/2.0  Will I finish this?
  Skill Fit    ████████░░  1.6/2.0  Can I do this?
  Timeline     █████████░  1.8/2.0  How long?
  Reward       ███████░░░  1.4/2.0  What I want?
  Sustainability████████░░  0.8/1.0  Stay motivated?
  Avoidance    █████████░  0.9/1.0  Dodges pitfalls?

Insights:
  • This looks achievable and well-scoped
  • Strong alignment with your stated goals
────────────────────────────────────────────────────────────────

Installation

Quick Install (Linux/macOS)

curl -sSL https://raw.githubusercontent.com/rayyacub/brain-salad/main/scripts/install.sh | bash

Manual Build

git clone https://github.com/ryacub/brain-salad.git
cd brain-salad
make build
./bin/tm --help

Docker

cd deployments/docker
docker compose up

Optional: Shell Aliases

For faster workflows, you can install shell aliases using the setup script:

# Run the alias setup script
./scripts/setup-aliases.sh

# Reload your shell
source ~/.zshrc  # or source ~/.bashrc

Available aliases:

  • tm - Main application
  • tma "idea" - Quick idea add (shortcut for tm add)
  • tml - List all ideas (shortcut for tm list)
  • tmb - Build project
    • tmb -d - Development build
    • tmb -r - Release build
    • tmb -c - Check compilation only (fastest)
  • tms - Start LLM service
  • tmst - Stop LLM service
  • tmm - Update LLM models

Example workflow with aliases:

# Capture ideas quickly
tma "Build a tool that helps analyze hotel review sentiment"

# List your ideas
tml

# Start LLM service for AI analysis
tms
tm add "idea with AI analysis" --ai

Commands

# Setup
tm init                     # Run the discovery wizard (creates ~/.brain-salad/profile.yaml)
tm profile                  # View your scoring profile
tm profile reset            # Re-run the wizard

# Scoring
tm score <idea>             # Score without saving
tm add <idea>               # Score and save to database
tm add --quick              # Fast capture, minimal output
tm add --ai                 # Use LLM for deeper analysis

# Review
tm list                     # Browse saved ideas
tm show <id>                # View idea details

# Management
tm prune                    # Clean up low-scoring ideas
tm link create <a> <b> <type>  # Link related ideas
tm bulk analyze             # Re-score multiple ideas

# Analysis
tm analytics trends         # Score trends over time
tm analytics anomaly        # Detect unusual patterns

Two Scoring Modes

Universal Mode (Default)

Uses your profile from ~/.brain-salad/profile.yaml. Created via tm init.

  • Works for anyone (potters, developers, writers, anyone)
  • 6 universal dimensions
  • Weights based on your wizard answers

Legacy Mode (Power Users)

Uses ~/.telos/telos.md for detailed goal configuration.

  • AI/tech-focused dimensions
  • Manual weight configuration
  • More granular control

Brain-Salad automatically detects which mode to use based on which config exists.

LLM Integration (Optional)

For deeper analysis, Brain-Salad supports multiple LLM providers:

# Ollama (local, private)
ollama serve
tm add "idea" --ai --provider ollama

# OpenAI
export OPENAI_API_KEY=sk-...
tm add "idea" --ai --provider openai

# Claude
export CLAUDE_API_KEY=sk-ant-...
tm add "idea" --ai --provider claude

LLM is optional — the rule-based scoring works great without it.

Development

# Run all CI checks before pushing
make check

# Individual commands
make test      # Run tests
make lint      # Run linters
make build     # Build binaries
make fmt       # Format code

See CLAUDE.md for development guidelines and common linter fixes.

Project Structure

brain-salad/
├── cmd/cli/              # CLI entry point
├── internal/
│   ├── profile/          # User preference system
│   ├── scoring/          # Scoring engines (universal + legacy)
│   ├── cli/wizard/       # Interactive setup wizard
│   ├── cli/              # Command implementations
│   ├── database/         # SQLite repository
│   ├── llm/              # LLM provider abstraction
│   └── ...
├── test/                 # Integration tests
└── deployments/docker/   # Docker configuration

Documentation

Contributing

# Fork and clone
git checkout -b feature/my-feature

# Make changes
make check  # Must pass before PR

# Commit with conventional commits
git commit -m "feat: add new feature"
git push origin feature/my-feature

See CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE

Support

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors