my-memory/README.md
Cal Corum 9356122591 docs: add CLAUDE.md, README, and fix desktop Exec path
Add project context file for AI agents and a user-facing README
covering features, installation, usage, and configuration. Update
the desktop file Exec to use the full uv path for autostart.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 14:54:46 -06:00

91 lines
2.3 KiB
Markdown

# My Memory
A low-friction capture app for thoughts, text, and voice. Lives in your system tray and lets you quickly jot down or dictate ideas, then organize them on a kanban board.
## Features
- **Text capture** — Type a thought and save it with Ctrl+Enter
- **Voice capture** — Record audio, auto-transcribed via Whisper
- **Kanban board** — Drag entries through On Docket, In Progress, and Complete
- **Collapsible Complete column** — Collapsed by default with count badge; expand to filter by 7 days, 30 days, or all time
- **Cancel entries** — Archive notes you no longer need without deleting the file
- **System tray** — Stays resident; click the icon to capture, right-click for menu
- **Single instance** — Running `my-memory --capture` or `--board` signals the existing instance
- **Plain files** — Entries are markdown with YAML frontmatter, stored in `~/.my-memory/entries/`
## Requirements
- Python 3.13+
- [uv](https://docs.astral.sh/uv/) for dependency management
- A working audio input device (for voice capture)
- CUDA toolkit (optional, for GPU-accelerated transcription; falls back to CPU)
## Installation
```bash
git clone https://git.manticorum.com/cal/my-memory.git
cd my-memory
uv sync
```
To pre-download the Whisper model:
```bash
uv run my-memory --download-model
```
## Usage
```bash
uv run my-memory # Launch (lives in system tray)
uv run my-memory --capture # Open capture window
uv run my-memory --board # Open kanban board
```
### Autostart
Copy or symlink the desktop file to autostart at login:
```bash
ln -s /path/to/my-memory/my-memory.desktop ~/.config/autostart/
```
## Configuration
Create `~/.my-memory/config.toml` to override defaults:
```toml
[whisper]
model_size = "base" # tiny, base, small, medium, large-v3
device = "auto" # auto, cuda, cpu
compute_type = "float16"
[audio]
sample_rate = 16000
channels = 1
```
## Data Format
Entries are stored as `~/.my-memory/entries/YYYY-MM-DD/{uuid}.md`:
```yaml
---
id: "550e8400-e29b-41d4-a716-446655440000"
timestamp: "2026-02-11T14:30:00"
source: "voice"
tags: []
status: "docket"
audio_file: "550e8400-...440000.wav"
duration_seconds: 12.5
---
The captured thought content here.
```
Voice entries have a paired `.wav` file in the same directory.
## License
Private project.