Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 25 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,31 @@ When implementing a new feature:
## Important Development Practices

### Logging and Journal
- When asked, leave your impressions or thoughts to lore/CLAUDE_DEV_THOUGHTS.md by appending them to that file. That is your dev journal. Feel free to write to it freely, when you get ideas, when you have insights you want to log.
- Leave your impressions or thoughts in `lore/claude-mind/YYYY-MM-DD/` directory
- Always use today's actual date (double-check to avoid date errors!)
- Create per-session files to avoid merge conflicts:
- Format: `HH:MM-topic-sessionID.md` (e.g., `14:45-web-viz-abc123.md`)
- Use first 6 chars of conversation ID for sessionID
- Use ISO 8601 timestamps in UTC (e.g., `2025-06-12T14:45:00Z`)
- Include session metadata at the start of each file:
```markdown
# Claude Development Journal

## Session: 2025-06-12T14:45:00Z
**Collaborator**: j***s (a1b2c3)
**Topics**: Web visualization, Help system
**Conversation**: abc123def456 (first 12 chars)

### 14:45 UTC - Initial Thoughts
[content...]
```
- For collaborator identification:
- Use git user's GPG key fingerprint (last 16 chars)
- Example: `**Collaborator**: James (GPG: 1234567890ABCDEF)`
- This leverages the project's requirement for signed commits
- Could optionally sign the journal entry itself with their key
- This is your dev journal - feel free to write freely when you get ideas or insights
- Create an `index.md` in each day's directory summarizing sessions

---
*Last updated: June 2025*
175 changes: 148 additions & 27 deletions TASKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,27 @@
## 🧹 Phase 0: Repository Hygiene & Baseline

### Clean Repository State
- [x] Archive `combined_markdown.md` to `/archive/` if it exists
- [x] Clean up any remaining test data or temporary files
- [x] Remove `/chaos-backup/` directory (already in .gitignore)
- [x] Verify no sensitive data in repository history
- [x] Archive `combined_markdown.md` to `/archive/` if it exists [P0.1.1]
- [x] Clean up any remaining test data or temporary files [P0.1.2]
- [x] Remove `/chaos-backup/` directory (already in .gitignore) [P0.1.3]
- [x] Verify no sensitive data in repository history [P0.1.4]

### Legal & Community Foundation
- [x] **Choose and add LICENSE file**
- [x] Decision: MIT, Apache 2.0, or GPL?
- [ ] Add license headers to source files
- [x] Document license rationale in `/docs/decisions/`
- [x] Create `CONTRIBUTING.md` with:
- [x] Development setup instructions
- [x] Code style guidelines
- [x] Pull request process
- [x] Testing requirements
- [x] Add `CODE_OF_CONDUCT.md` (Contributor Covenant)
- [x] Create issue templates:
- [x] Bug report
- [x] Feature request
- [x] Documentation improvement
- [x] Create pull request template
- [x] **Choose and add LICENSE file** [P0.2.1]
- [x] Decision: MIT, Apache 2.0, or GPL? [P0.2.2]
- [ ] Add license headers to source files [P0.2.3]
- [x] Document license rationale in `/docs/decisions/` [P0.2.4]
- [x] Create `CONTRIBUTING.md` with: [P0.2.5]
- [x] Development setup instructions [P0.2.6]
- [x] Code style guidelines [P0.2.7]
- [x] Pull request process [P0.2.8]
- [x] Testing requirements [P0.2.9]
- [x] Add `CODE_OF_CONDUCT.md` (Contributor Covenant) [P0.2.10]
- [x] Create issue templates: [P0.2.11]
- [x] Bug report [P0.2.12]
- [x] Feature request [P0.2.13]
- [x] Documentation improvement [P0.2.14]
- [x] Create pull request template [P0.2.15]

### Documentation Structure
- [x] Create clear documentation hierarchy:
Expand Down Expand Up @@ -106,11 +106,11 @@
- [x] Create root `Makefile` for common tasks

### Demo Repository Setup
- [ ] Create `/demo/vault/` with 5-10 example documents
- [ ] Add F001 links between documents
- [ ] Include varied link types (references, dependencies, inspirations)
- [ ] Create `/demo/README.md` explaining the demo structure
- [ ] Add quick-start script that sets up demo environment
- [ ] Create `/demo/vault/` with 5-10 example documents [P1.3.1]
- [ ] Add F001 links between documents [P1.3.2]
- [ ] Include varied link types (references, dependencies, inspirations) [P1.3.3]
- [ ] Create `/demo/README.md` explaining the demo structure [P1.3.4]
- [ ] Add quick-start script that sets up demo environment [P1.3.5]

### Rust CLI Project Initialization βœ… DONE
- [x] Create `cli/` directory
Expand Down Expand Up @@ -188,13 +188,129 @@
- [x] Report broken links
- [x] --fix flag to remove broken links
- [x] --dry-run flag to preview changes
- [ ] Create demo video showing these 3 commands
- [ ] **BEFORE MVP: Address audit items from design/audits/**
- [ ] Complete remaining test doubles from design/audits/test-double-audit.md:
- [ ] GIT_INDEX_FILE environment variable override
- [ ] Git attributes handling
- [ ] Global git config isolation
- [ ] Complete edge case tests from design/audits/git-edge-cases-audit.md:
- [ ] Test for bare repository detection (BareRepositoryGit)
- [ ] Test for detached HEAD scenarios (DetachedHeadGit)
- [ ] Test for Git hook failures (HookFailureGit)
- [ ] Test for missing git config (NoConfigGit)
- [ ] Test for worktree operations
- [ ] Test for submodule boundaries
- [ ] Test for non-UTF8 path handling
- [ ] **BEFORE MVP: Implement F017 Error Handling Improvements (design/features/F017-error-handling-improvements.md)**
- [ ] Phase 1: Core error classification system
- [ ] Implement ErrorClassifier with pattern matching
- [ ] Create OperationContext tracking
- [ ] Build SolutionGenerator for top 5 errors
- [ ] Phase 2: Transform common Git errors:
- [ ] Index.lock errors β†’ Clear concurrency guidance
- [ ] No HEAD errors β†’ Initial commit instructions
- [ ] Disk full errors β†’ Space cleanup suggestions
- [ ] Permission denied β†’ Ownership fix commands
- [ ] Missing git config β†’ Setup commands
- [ ] Phase 3: Error codes and help system
- [ ] Assign unique codes (E001-E999) to each error
- [ ] Implement `gitmind help error:E001` command
- [ ] Add --verbose flag for expert details
- [ ] **BEFORE MVP: Implement F025 CLI Help System (design/features/F025-cli-help-system.md)**
- [ ] Create `docs/cli/` directory structure
- [ ] Write comprehensive markdown documentation:
- [ ] `gitmind.md` - Main command overview
- [ ] `gitmind-init.md` - Initialize repository
- [ ] `gitmind-link.md` - Create links
- [ ] `gitmind-list.md` - List links
- [ ] `gitmind-unlink.md` - Remove links
- [ ] `gitmind-check.md` - Validate links
- [ ] Implement help rendering in CLI:
- [ ] Embed markdown at compile time
- [ ] Add --help flag handling
- [ ] Basic markdown to terminal rendering
- [ ] Terminal capability detection
- [ ] Generate man pages (optional for MVP):
- [ ] Add build-time generation
- [ ] Test on Linux/macOS
- [ ] Include in release artifacts
- [ ] Create demo video showing these 5 commands
- [ ] Ship binaries for Linux/macOS
- [ ] Post "Show HN" with minimal demo
- [ ] **SUCCESS METRIC: 10 people try it and 1 gives feedback**

---

## 🎯 Phase 1b: Web Visualization System (Week 2-3)
**Priority:** High - Critical for adoption and usability
**Proposals:** [Local Web Companion](design/proposals/local-web-companion.md), [Web Visualization Revival](design/proposals/web-visualization-revival.md)

### Pre-MVP Demo (3 days)
**Feature:** [F018 - Web Demo Mode](design/features/F018-web-demo-mode.md)
- [ ] Create static demo site with pre-loaded example
- [ ] Interactive force-directed graph (D3.js)
- [ ] 30-second value demonstration
- [ ] Zero-installation experience
- [ ] "Install GitMind" call-to-action
- [ ] Deploy to neuroglyph.dev/demo
- [ ] **SUCCESS METRIC: 50% of visitors interact, 10% click through to install**

### Core Web Infrastructure (Week 1)
**Feature:** [F019 - Local Web Server](design/features/F019-local-web-server.md)
- [ ] Implement `gitmind serve` command
- [ ] HTTP API endpoints for graph data
- [ ] WebSocket support for real-time updates
- [ ] File system watching with notifications
- [ ] Static asset serving (embedded UI)
- [ ] Port conflict handling
- [ ] **SUCCESS METRIC: Server starts in <1s, API responses <100ms**

**Feature:** [F020 - Graph Visualization Engine](design/features/F020-graph-visualization-engine.md)
- [ ] Force-directed graph with D3.js
- [ ] Visual encoding (size, color, icons)
- [ ] Smooth interactions (click, drag, zoom)
- [ ] Performance optimization (WebGL for 5K+ nodes)
- [ ] Multiple layout algorithms
- [ ] Level-of-detail rendering
- [ ] **SUCCESS METRIC: 60 FPS with 500 nodes, usable with 10K nodes**

### Interactive Features (Week 2)
**Feature:** [F021 - Interactive Graph Editing](design/features/F021-interactive-graph-editing.md)
- [ ] Drag-and-drop link creation
- [ ] Link type selection UI
- [ ] Visual feedback during operations
- [ ] Bulk selection and operations
- [ ] Undo/redo support
- [ ] Git commit integration
- [ ] **SUCCESS METRIC: Create first link in <10 seconds**

**Feature:** [F023 - Search and Filter UI](design/features/F023-search-and-filter-ui.md)
- [ ] Real-time fuzzy search
- [ ] Filter by type/date/path
- [ ] Visual highlighting of results
- [ ] Filter presets and combinations
- [ ] Advanced query syntax
- [ ] **SUCCESS METRIC: Find any node in <2 seconds**

### Advanced Features (Phase 2 - Based on feedback)
**Feature:** [F022 - Time Travel Interface](design/features/F022-time-travel-interface.md)
- [ ] Timeline visualization of commits
- [ ] Smooth animations between states
- [ ] Playback controls
- [ ] Change highlighting
- [ ] Diff visualization
- [ ] **SUCCESS METRIC: Navigate 1 year of history smoothly**

**Feature:** [F024 - Export and Sharing](design/features/F024-export-and-sharing.md)
- [ ] Export as PNG/SVG
- [ ] Export data as JSON/CSV/GraphML
- [ ] Clipboard integration
- [ ] Embed code generation
- [ ] Social sharing optimization
- [ ] **SUCCESS METRIC: Export graph in <5 seconds**

---

## πŸ”¨ Phase 2: Full CLI Implementation

### F001: Complete Git Storage (Week 2-3)
Expand Down Expand Up @@ -319,7 +435,8 @@
### Daemon Implementation (Week 4)
**Features:** [F006 - Web Visualization](/design/features/F006-web-visualization.md), [F007 - Realtime Updates](/design/features/F007-realtime-updates.md)
- [ ] Create `gitmind serve` subcommand
- [ ] Implement minimal HTTP server (using `axum` or `warp`)
- [ ] Implement minimal HTTP server (using `axum`)
- [ ] Default port: 7432 (memorable: spells "MIND" on phone keypad)
- [ ] Add WebSocket support for real-time updates
- [ ] API endpoints:
- [ ] `GET /api/graph` - Full graph data
Expand Down Expand Up @@ -361,7 +478,11 @@
- [ ] Create example repositories

### Additional Interfaces
- [ ] TUI/ncurses interface for terminal usage
- [ ] TUI interface for terminal usage
- [ ] ncurses-based graph visualization in terminal
- [ ] Interactive navigation with arrow keys
- [ ] Quick link creation without leaving terminal
- [ ] ASCII art graph rendering
- [ ] Integration with git aliases:
```gitconfig
[alias]
Expand Down
Loading