Mockup · Code Raven · 1 September 2026
Mockup · Code Raven · 1 September 2026

Personal

A default workspace for light coding, loose ideas, and conversations with AI that aren't attached to a project. Same object model as a project, different verbs on top of it.

The four decisions this rests on

It is a real project on disk. Project.path is a non-optional let, and projectPath appears in 1,548 places across the app. Personal gets a real folder with a real .claude/ inside it, so every store, importer and bridge works untouched on day one. Seed path: ~/Documents/Code Raven/Personal. Finder-visible, and covered by iCloud Desktop & Documents sync if you ever want the phone to reach it.

It is seeded, never created. Personal exists on first launch and arrives by migration for your current install. There is no intake modal, no folder picker, no "Add Personal" button. AddProjectFlow opens on "Choose a project folder to get started", which is the wrong first sentence for a workspace that should already be there.

It differs by verb, not by object. A Note in Personal is the same ScratchNote with the same store and the same Move to Project support. What changes is the primary action on it. Widgets whose only verb is plan-shaped come out entirely.

One new field. Project.kind: ProjectKind with cases .project and .personal, defaulting to .project.

Decode trap. A non-optional field with an inline default is still required under synthesized Codable and will throw keyNotFound on every existing projects.json. Project already has a hand-written init(from:), so add kind = (try? container.decodeIfPresent(ProjectKind.self, forKey: .kind)) ?? .project there. This is the same failure that blanked the ideation Features layer over a missing audience.

Where it sits

Code Raven — sidebar
Workspace
Personal
Projects
Code Raven
Press Raven
Venture Raven
Howl
Its own section above Projects — so it never sorts into the project list,
and never competes for "which project am I in" attention.

Personal is pinned. It has no status dot, no progress ring, and no last-commit line, because none of those mean anything here.

Setup — three steps, inline, all skippable

Setup happens on Personal's own dashboard as a dismissible card, not in a 680×640 modal. Nothing here blocks you from using the workspace, and the card returns from the header menu if you skip it.

Set up Personal
Three optional steps. Everything works without them.
✓
Where it lives
Already created. Change it if you'd rather keep it somewhere that syncs.
~/Documents/Code Raven/Personal Change…
2
Your profile
The Developer Dossier is already app-global and already filled in. Point Personal at it rather than answering the questions again.
Use my existing Dossier Start fresh…
3
Your Claude setup
Found ~/.claude/ — 24 commands, 9 skills, 14 agents, and a CLAUDE.md. Link it to browse and edit from here.
Link ~/.claude Not now
Why not a wizard. Project intake asks you to choose a folder, name it, pick a color and category, and set an analysis scope, because a project genuinely needs all of that before agents can run. Personal needs none of it. Making its setup look like project setup would teach you that the two are the same kind of thing.

Dashboard — ten widgets become six

The current project grid renders NotesWidget, TasksWidget, ToDosWidget, FoundationWidget, ExpertsStripWidget, DocumentsHubWidget, WorkflowPipelineWidget, ChronicleWidget, BlueprintsWidget and ReferenceDocsWidget — ten. That grid is already sitting in your triage queue as a critical finding from cognitive_load_analyst. Personal should not inherit it.

Project — today

PROJECTS
Code Raven
master · 3 active plans · built 4m ago
Notes
12 open
Turn into a plan
Tasks
7 queued
To-Dos
3 from testing
Foundation
9 layers
Experts
24 findings
Documents
Plans · Guides
Workflow
Stage 3 of 7
Chronicle
5 this week
Blueprints
11 subsystems
Reference
4 artifacts

Personal

WORKSPACE
Personal
Last capture 2 hours ago
New noteClaude Setup
Notes new verb
Bedroom redesign ideas · 5 more
Talk this through →
Tasks absorbs To-Dos
4 open
Profile was Foundation
Dossier · 6 sections
Experts
3 conversation partners
Documents
9 files
Chronicle
Journal · 2 this week
Workflow
no plans here
Blueprints
no codebase

Claude Setup lives in the header rather than the grid — it is reference material you visit deliberately, not a number you glance at.

What changes name, and why

ProjectPersonalReason
FoundationProfile Backed by the Developer Dossier, which is already app-global and portable. Right now its only real surface is buried in Ideation profile setup, so this gives it a home.
Notes → "Turn into a plan"Notes → "Talk this through" Same ScratchNote, same store. NotePlanningPromptBuilder is bypassed; the note text opens a conversation instead of a planning prompt.
Tasks + To-DosTasks The two split on plan-derived versus ad-hoc. With no plans, the distinction has nothing to stand on.
Blueprints, Reference DocsClaude Setup (header) Browses ~/.claude/: CLAUDE.md, commands, skills, agents, settings.
Workflow Pipeline— Seven stages built on plan → checkin → complete → align. It would render permanently empty and train you to ignore that region of the screen.
ChronicleChronicle Unchanged. /cr-entry already writes journal entries with a nil planSnapshotId, which is exactly the Personal case.

The one that earns its place

Claude Setup is the piece worth building carefully rather than as a file browser. The cr-* commands exist in two locations — ~/.claude/commands/ and the bundled Code Raven/Resources/Commands/ — and they have drifted from each other. A surface that diffs the two and shows which commands are out of sync would pay for itself the first time you open it. cognitive_load_analyst also has "Slash-command surface area" open as critical, and this is where that gets visible.

Open questions