Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ dist/
test-results/
playwright-report/
playwright/.cache/
.superpowers/
11 changes: 7 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,20 +67,23 @@ src/
├── shell/ # Command routing + builtins
│ ├── parser.ts # Input tokenization
│ ├── router.ts # Git vs builtin dispatch
│ ├── builtins.ts # ls, cat, touch, rm, mv, clear, help
│ ├── builtins.ts # ls, cat, touch, rm, mv, mkdir, clear, help
│ ├── history.ts # Command history
│ ├── complete.ts # Tab autocomplete
│ └── prompt.ts # Powerlevel10k-style prompt
├── ui/ # Svelte 5 components
│ ├── Terminal.svelte
│ ├── Graph.svelte
│ ├── FilePanel.svelte
│ ├── FileTree.svelte
│ ├── Layout.svelte
│ ├── Prompt.svelte
│ ├── CommitDetail.svelte
│ └── MobileToolbar.svelte
│ ├── GithubLink.svelte
│ └── ResetButton.svelte
├── graph/ # D3 layout logic
├── store/ # Svelte stores
│ ├── files.ts # File-tree model derived from engine state
│ └── actions.ts # Command planners for explorer buttons
├── persistence/ # IndexedDB save/load
├── App.svelte
└── main.ts
Expand All @@ -93,7 +96,7 @@ tests/
## Key Design Decisions

- **No shell emulation** — terminal handles git commands + minimal file builtins only
- **Simulated file changes** — no text editing; "Simulate Changes" button/command mutates tracked files
- **Simulated file changes** — no text editing; the explorer's "✎ Simulate changes" button appends a line to tracked files via real `echo >>` commands run through the terminal
- **Flat + 1 level VFS** — files and one level of directories max
- **Left-to-right DAG** — mermaid gitGraph style, SVG rendered by Svelte, d3-dag for layout
- **Layered UI** — graph as background, terminal as semi-transparent overlay, toggle focus
Expand Down
Loading
Loading