Frame.cool
Electron · macOS · Win · Linux
MIT · Open Source
Maintainer · Kaan Özhan
CategoryAgentic Development IDE
SurfaceTerminal-first · Native
CompatibilityClaude · Codex · Gemini
StandardFiles, not databases
¶
A workshop for working alongside AI agents.
Frame brings structure, context, and
memory to the way you ship code with Claude, Codex, and Gemini.
NB.
Designed around one premise — that the git commit is the only reliable moment to capture what an agent just did.
— Principle I
Git commit as the context anchor
Sessions are fuzzy. Commits are real. Frame's entire context system hangs off the pre-commit moment — STRUCTURE.json refreshes, tasks reconcile, notes get the right boundary. Commit often, stay oriented.
— Principle II
Files over databases
Markdown and JSON on disk. Any AI can read it, any teammate can grep it, git versions it, PRs review it. No proprietary store, no vendor lock-in. Frame is a coordinator, not a silo.
— Principle III
Optional, never forced
Spec-driven mode is opt-in. Telemetry is opt-out. Plugins are off by default. Frame respects existing workflows — hooks append, templates merge, your config is never overwritten without consent.
01
Project Standardization
7 entries Init · 5 sec
01.01
AGENTS.md
Single source of truth for project rules. Auto-symlinked as CLAUDE.md and GEMINI.md so every AI tool reads identical instructions.
Core —
01.02
STRUCTURE.json
Module map regenerated on every commit. Tracks exports, dependencies, IPC channels, and a queryable intentIndex of features.
Core AUTO
01.03
PROJECT_NOTES.md
Free-form journal for decisions and architecture rationale. Frame nudges you at the right moments — agent never invents a summary.
Core —
01.04
tasks.json
Structured task tracking with title, description, original user request, acceptance criteria, notes, status, and provenance.
Core —
01.05
.frame/bin/
Per-project tooling shipped at init: parser scripts, AI wrappers, and the fast-lookup binary. Lives inside the project, travels with it.
Infra —
01.06
Initialize on existing code
Detects existing CLAUDE.md / GEMINI.md / AGENTS.md, merges their content forward. Never overwrites — appends and asks.
Safety —
01.07
First-fill scan
After init, STRUCTURE.json is populated in one shot — modules, exports, IPC channels, and intent index ready before you type a thing.
Quality NEW
02
AI Tool Orchestration
5 entries 3 tools native
02.01
Claude Code integration
Launches with CLAUDE.md context already wired. Usage tracking, session history, and Plugins panel built natively into the IDE.
Multi-AI —
02.02
Codex CLI wrapper
Wrapper script injects AGENTS.md as initial prompt. Codex behaves as if it natively understood Frame's standard.
Multi-AI —
02.03
Gemini CLI integration
GEMINI.md symlinked to AGENTS.md so Gemini reads your project rules without configuration.
Multi-AI —
02.04
AI Tool Selector
Hot-swap between agents from the sidebar. Menu adapts, shortcuts adapt, terminal context follows.
UI —
02.05
Prompt history logger
Every prompt you type into an AI session is captured with timestamp and project context. Searchable across sessions.
Memory —
03
Terminal Workbench
6 entries Up to 9 PTYs
03.01
Real PTY engine
node-pty backend with full VT100/ANSI support. Not a shell-out, not a shim — a proper terminal that runs anything zsh/bash can run.
Engine —
03.02
Up to 9 terminals
Tab view or 2×1, 2×2, 3×1, 3×2, 3×3 grid layouts. Resize borders by drag. One AI agent per pane is the canonical pattern.
Layout —
03.03
Project-aware sessions
Every new terminal opens in the active project directory. Switch projects → new terminals follow. No more cd-ing into nested folders.
UX —
03.04
Per-project terminal cap
The 9-terminal limit is scoped per project, not global. You can keep four projects open with four agents each running in parallel.
UX 2.2.1
03.05
Cheat sheet overlay
Quick keyboard-shortcut reference summoned on demand. Ctrl-K launches an AI, Ctrl-1..9 jumps between panes, Ctrl-Shift-G toggles grid.
UX —
03.06
Command palette
Spotlight-style launcher with a registry of project, terminal, git, and AI commands. Extensible — registries take new entries at runtime.
UX —
04
Tasks & Specifications
7 entries spec → plan → tasks → outcome
04.01
Tasks dashboard
Kanban-style board with pending / in-progress / completed columns. Drag cards across columns; order persists to tasks.json.
UI —
04.02
Discuss a task
One click opens a fresh AI terminal scoped to the task. Agent interviews you to flesh out empty fields, then writes back to tasks.json.
AI NEW
04.03
Send-to-AI handoff
Per-card "Run" action drops a templated prompt into your AI of choice — task title, acceptance criteria, and notes pre-loaded.
AI —
04.04
Spec-driven workflow
Each spec is four markdown files: spec · plan · tasks · outcome. Auto-imports tasks into tasks.json tagged with provenance.
Method —
04.05
Outcome journaling
After each implemented task, the agent appends 2-3 sentences to outcome.md — what shipped, what diverged, what to follow up on.
Memory —
04.06
Phase lifecycle watcher
Status reconciles from filesystem state. Write spec.md → phase = specified. Write plan.md → planned. No manual state-flipping.
Infra —
04.07
Slash-command surface
/spec.new, /spec.plan, /spec.tasks, /spec.implement — natural-language gates between phases your AI agent already understands.
UX —
05
Git & Source Control
6 entries commit = checkpoint
05.01
Pre-commit STRUCTURE sync
Hook regenerates STRUCTURE.json against staged changes and folds it into the same commit. Map is always exactly one commit fresh.
Auto FLAGSHIP
05.02
Safe hook installation
Detects husky, lefthook, custom vanilla hooks. Appends idempotently for husky, leaves config tools alone, never overwrites user content.
Safety NEW
05.03
Branches panel
List, switch, create, delete branches from the sidebar. Live status indicator on the current branch.
UI —
05.04
Worktrees
Spin up a parallel worktree for an experiment, ship-blocker, or AI spike. Manage adds/removes without leaving Frame.
UI —
05.05
GitHub panel
Issues, pull requests, branches, and labels surfaced directly in the IDE. Open an issue → drop it into a fresh AI terminal in one click.
UI —
05.06
Git status indicator
Repo state polled and surfaced in the status bar — staged, modified, untracked counts always visible while you work.
UX —
06
Navigation & Memory
5 entries O(1) feature lookup
06.01
intentIndex
Concept-to-file mapping in STRUCTURE.json. Type a feature name, get the exact files instantly. No grep, no scan.
Speed —
06.02
find-module CLI
node .frame/bin/find-module <keyword> — designed for AI agents. Walks intentIndex, falls back to deep-search across descriptions and exports.
CLI —
06.03
Overview panel
Visual map of modules and their relationships drawn from STRUCTURE.json. See architecture at a glance, click a node to open the file.
UI —
06.04
File tree
Standard tree view rooted at project. Renders large repos with virtualization, syncs with editor.
UI —
06.05
Session notes capture
Agent watches for decision moments — "let's go with X", "we'll defer Y" — and asks once whether to log to PROJECT_NOTES.md.
Memory —
07
Power Tools
6 entries Opt-in surfaces
07.01
Claude Code plugins
Browse, install, enable, and disable Claude Code plugins from a dedicated panel. Plugin discovery without leaving the IDE.
Ext —
07.02
Claude Code sessions
List and resume past Claude Code conversations. Every session in your project, indexed and reopenable.
Ext —
07.03
Usage tracking
Live token-burn meter for Claude Code. Know when a session is nearing the limit before it cuts off mid-task.
Insight —
07.04
Workspace manager
Multiple projects open simultaneously, each with its own isolated context, task list, and notes. Quick-switch via the sidebar.
Core —
07.05
Settings & preferences
User-level overrides — preferred AI tool, telemetry opt-out, terminal defaults, panel layouts. Persisted across launches.
UX —
07.06
Update checker
Polls releases passively; surfaces a non-blocking dot when a new version ships. In-app auto-update on the roadmap.
Infra —
Fig. A — system schematic · main process / renderer / project filesystem
┌─ MAIN PROCESS (Node.js) ───────────────────────────────────────────────┐│││ptyManagertasksManagerspecManagergithubManager││aiToolManagerframeProjectworkspacegitBranchesManager││fileTreefileEditorpluginsManagerclaudeUsageManager││structureBootstrap ◀──── new ── ships parser + hook to .frame/bin/ │││└──┬───────────────────────────────────────────────────────────────────────┘││115+ IPC channels · bidirectional · typed via shared/ipcChannels.js
▼┌─ RENDERER (browser) ────────────────────────────────────────────────────┐│││multiTerminalUIterminalGridtasksDashboardspecsDashboard││githubPaneloverviewPanelstructureMaphistoryPanel││commandPaletteaiToolSelectorpluginsPanelcheatSheet│││└──┬───────────────────────────────────────────────────────────────────────┘│▼┌─ PROJECT FILESYSTEM ────────────────────────────────────────────────────┐│AGENTS.md project rules · single source · symlinked ││STRUCTURE.json module map · intentIndex · auto-updated on commit ││tasks.json kanban state · with provenance + acceptance fields ││PROJECT_NOTES.md decision journal · agent-prompted, human-curated ││.frame/specs/<slug>/ spec · plan · tasks · outcome (markdown only) ││.frame/bin/ parser scripts · find-module · ai wrappers ││.git/hooks/ pre-commit · safe append-mode for husky/lefthook │└──────────────────────────────────────────────────────────────────────────┘
49↗
Features Indexed
69
Source Modules
115+
IPC Channels
3
AI Tools Supported
9
Terminals Per Project
Shipped & in-flight
Live snapshot v2.2.2 · 2026-05
Multi-terminal grid (up to 9 panes)Shipped
Spec-driven dev — spec · plan · tasks · outcomeShipped
Frame project standard (AGENTS, STRUCTURE…)Shipped