Skip to content

riftzen-bit/ander

Repository files navigation

Ander

Scan your codebase. Describe your idea. Get a prompt so good the AI nails it first try.

Stop wrestling with context. Let Ander read your code, understand your architecture, and generate a blueprint that makes Claude, Cursor, or ChatGPT build exactly what you want — on the first attempt.

MIT License Stars Platforms Rust TypeScript Tauri


Pick a folder → Select files → Describe what you want → Get a perfect blueprint → Paste into any AI


The Problem

You open Claude / Cursor / ChatGPT. You want it to add a feature. So you start copying files, explaining your folder structure, describing your patterns, listing your dependencies...

20 minutes later, you're still writing the prompt. And when the AI finally responds, it hallucinated half your architecture.

Sound familiar?

The Fix

Ander scans your codebase, understands your conventions, and generates a zero-code architectural blueprint — a prompt so detailed and precise that any AI coding assistant can implement your feature correctly on the first try.

No code in the output. Just pure intent, specification, and design. The receiving AI doesn't copy-paste — it understands.


How It Works

 ┌─────────┐    ┌──────────┐    ┌──────────┐    ┌───────────┐    ┌──────────────┐
 │  1. Pick │───▶│ 2. Scan  │───▶│ 3. Curate│───▶│ 4. Describe│───▶│ 5. Generate  │
 │  Folder  │    │  Files   │    │  Context │    │  Feature   │    │  Blueprint   │
 └─────────┘    └──────────┘    └──────────┘    └───────────┘    └──────────────┘
                 Respects         AI-powered       "Add OAuth      Copy & paste
                .gitignore       smart select      with Google"    into any AI

Then paste the blueprint into Claude, Cursor, ChatGPT, Copilot — whatever you use. It just works.


Features

Feature Description
🔍 Smart Project Scanner Walks your codebase respecting .gitignore. Skips binaries, lock files, and node_modules. Prioritizes source code over configs.
🔒 Security-Aware Auto-excludes .env, secrets, private keys, and certificates. Your sensitive files never touch the AI.
🧠 AI-Powered File Selection Click "Smart Select" and let the AI recommend which files matter for your feature. You stay in control.
Real-Time Streaming Watch your blueprint generate token-by-token. No waiting for batch responses.
🔄 Dual AI Providers Switch between Gemini 2.5 Pro (1M context) and Claude (Opus / Sonnet / Haiku) with one click.
🧩 Extended Thinking Opus uses 32K thinking tokens, Sonnet uses 16K — deeper reasoning for complex architectures.
💬 Follow-up & Refinement Ask clarifying questions or refine the blueprint without starting over. Full conversation context preserved.
📋 One-Click Copy Copy the blueprint to clipboard or send it directly to a Claude Code window.
📁 Conversation History Every generation saved to local SQLite. Search, filter, and revisit past blueprints.
🖥️ Desktop-Native No server. No SaaS. No rate limits. Runs locally with your own API quota.
📱 Responsive UI Works on any screen — desktop, tablet, or a tiny laptop.

Generation Modes

  • Feature Implementation — "Add dark mode to the settings page"
  • New Project — "Design a REST API for a task manager"
  • Bug Fix — "This error happens when I click submit" (paste the stack trace)
  • Follow-up — "What about error handling for the OAuth flow?"
  • Refinement — "Make it use Redis instead of in-memory cache"

Quick Start

Prerequisites

Install & Run

git clone https://github.com/riftzen-bit/ander.git
cd ander
pnpm install
pnpm start

That's it. The app opens, you authenticate with Google (for Gemini) or paste a Claude API key, and you're generating blueprints.

Build for Production

pnpm tauri build

Tech Stack

Layer Technology Why
Desktop Framework Tauri v2 Tiny binary, native performance, secure IPC
Backend Rust (2021 edition) Memory safety, async I/O with Tokio, fast file scanning
Frontend React 19 + TypeScript 5.8 Modern hooks, strict types, component architecture
Build Tool Vite 7 Instant HMR, fast builds
Styling Tailwind CSS v4 Utility-first, responsive, dark mode
AI (Primary) Gemini 2.5 Pro 1M token context via Google Code Assist API
AI (Secondary) Claude (Opus / Sonnet / Haiku) Extended thinking, flexible model selection
Auth Google OAuth 2.0 + Claude API keys Same OAuth as Gemini CLI, auto-detect Claude credentials
Database SQLite (rusqlite, bundled) Local history, zero config
File Watching notify + debouncer Live project updates with loop prevention

Project Structure

ander/
├── src/                    # React frontend
│   ├── components/wizard/  # 5-step wizard UI
│   ├── hooks/              # Auth, scanning, generation, context tracking
│   ├── lib/                # Wizard state & types
│   └── App.tsx             # Root component
├── src-tauri/              # Rust backend
│   ├── src/
│   │   ├── scanner.rs      # .gitignore-aware file walker
│   │   ├── gemini.rs       # Gemini API integration
│   │   ├── anthropic.rs    # Claude API integration
│   │   ├── auth.rs         # OAuth + token management
│   │   ├── prompts.rs      # Shared system prompts
│   │   ├── db.rs           # SQLite history
│   │   └── watcher.rs      # File system watcher
│   └── tauri.conf.json     # App configuration
├── package.json
└── Cargo.toml

How the Blueprint Works

Ander doesn't just dump your files into a prompt. It instructs the AI to think like a staff engineer reverse-engineering an unfamiliar codebase:

  1. Analyze — Understand the architecture, patterns, and conventions from the selected files
  2. Design — Plan the implementation respecting existing patterns, naming conventions, and project structure
  3. Specify — Output a precise blueprint: file paths, function signatures, data flow, edge cases, error handling
  4. No code — The blueprint describes what and why, never how. The receiving AI writes the code.

This separation of concerns is what makes the output reliable. The generating AI focuses on understanding; the implementing AI focuses on building.


Contributing

Contributions welcome! Whether it's a bug fix, new feature, or documentation improvement:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

Please follow Conventional Commits for commit messages.


If Ander saves you from writing one more 500-line prompt, give it a star.

Star on GitHub

Report Bug · Request Feature · Discussions


MIT License · Built with Rust, React, and an unreasonable hatred for copy-pasting files into ChatGPT.

About

Scan your codebase. Describe your idea. Get a prompt so good the AI nails it first try. Desktop-native, local-first AI prompt generator for Claude, Cursor, ChatGPT. Built with Tauri v2, React 19, Rust.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors