Specification Sheet Document 002 Revision 2.2.2 2026-05-13
Status: Shipping

Frame

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

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

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

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

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

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

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

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) ───────────────────────────────────────────────┐
                                                                             
      ptyManager    tasksManager   specManager     githubManager          
      aiToolManager frameProject   workspace       gitBranchesManager     
      fileTree      fileEditor     pluginsManager  claudeUsageManager     
      structureBootstrap ◀──── new ── ships parser + hook to .frame/bin/      
                                                                             
   └──┬───────────────────────────────────────────────────────────────────────┘
      
         115+ IPC channels · bidirectional · typed via shared/ipcChannels.js
      
   ┌─ RENDERER  (browser) ────────────────────────────────────────────────────┐
                                                                             
      multiTerminalUI  terminalGrid    tasksDashboard   specsDashboard    
      githubPanel      overviewPanel   structureMap     historyPanel      
      commandPalette   aiToolSelector  pluginsPanel     cheatSheet        
                                                                             
   └──┬───────────────────────────────────────────────────────────────────────┘
      
      
   ┌─ 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

Multi-terminal grid (up to 9 panes)Shipped
Spec-driven dev — spec · plan · tasks · outcomeShipped
Frame project standard (AGENTS, STRUCTURE…)Shipped
Plugins panel for Claude CodeShipped
Multi-AI: Claude Code, Codex, GeminiShipped
Overview / visual structure mapShipped
STRUCTURE.json bootstrap for user projectsShipped
GitHub panel — issues, PRs, branchesShipped
In-app auto-update via electron-updaterSpec'd
Non-standard layouts (monorepo, TS, Python)Spec'd
Web platform (IPC → WebSocket migration)Planned
Drag-image into terminal for AI visionDiscussed