clawdex/docs/notes.md
Peter Steinberger be315dd311
docs: add clawdex.sh feature pages and Rolodex-themed site
Adds 14 per-feature docs pages under docs/ covering install, quickstart,
people, notes, timeline, search, avatars, imports, vCard export, git
sync, markdown storage, doctor, and config. Replaces the placeholder
landing page with a single-page Rolodex/index-card site that fetches and
renders the docs client-side via marked + highlight.js, with code syntax
highlighting and dark-mode support. .nojekyll keeps GitHub Pages serving
the markdown files raw to the SPA.
2026-05-08 16:50:41 +01:00

85 lines
2.6 KiB
Markdown

# Notes
A *note* is a timestamped event attached to a person. Notes capture what
contacts can't: what you talked about, when, and where it happened.
Notes live under `people/<slug>/notes/`. Each note is a single markdown file
named `<occurred-at>-<source>.md`, e.g.
`2026-05-08T09-15-00Z-whatsapp.md`.
**Notes are local-only.** They are never written to Apple Contacts, Google
Contacts, or anywhere else. They are pushed only to your private backup
remote when you run [`clawdex git push`](git-sync.md).
## Add
```bash
clawdex note add sally \
--kind dm \
--source whatsapp \
--text "Follow up about dinner next Thursday" \
--topic dinner --topic logistics
```
Flags:
- `--kind` *(required)* — type of interaction: `dm`, `call`, `meeting`,
`email`, `event`, etc. Free-form; clawdex doesn't enforce a vocabulary.
- `--source` *(required)* — where it happened: `whatsapp`, `imessage`,
`discord`, `x`, `email`, `inperson`, etc.
- `--text` *(required)* — note body. Multiline is fine; quote it.
- `--occurred-at` — ISO 8601 (`2026-05-08T09:15:00Z`), `2026-05-08 09:15`,
or `2026-05-08`. Defaults to *now*.
- `--topic` — repeatable, becomes the `topics:` frontmatter array.
`--dry-run` shows the resolved note as JSON without writing.
## List
```bash
clawdex note list sally
clawdex note list sally --json
```
The default output is a TSV of `occurred-at<TAB>kind<TAB>source<TAB>body`.
Note bodies are flattened to a single line for TSV; use `--json` to get the
full body.
## Note file format
```markdown
---
id: 2026-05-08T09-15-00Z-whatsapp
kind: dm
source: whatsapp
occurred_at: 2026-05-08T09:15:00Z
created_at: 2026-05-08T09:15:00Z
topics: [dinner, logistics]
---
Follow up about dinner next Thursday.
```
You can edit notes directly with `$EDITOR` — clawdex reads them back. If
the frontmatter gets damaged, [`clawdex doctor --repair`](doctor.md)
salvages known fields and preserves the body verbatim under a *Recovered
metadata* heading.
## Conventions that pay off
- **Use stable `--source` values.** `whatsapp`, not `WhatsApp`. Search and
imports both rely on lowercase source slugs.
- **Tag topics, not relationships.** Topics are about the *content*; tags
on the person are about the *role*. A `dinner` topic is fine; a
`friend` topic is probably a person tag instead.
- **Don't store secrets in notes.** They sync to your private backup repo,
but they're still in plain markdown on disk. Treat them like a Git repo,
not a vault.
## Related pages
- [People](people.md), [Timeline](timeline.md), [Search](search.md)
- [Imports](imports.md) — birdclaw and discrawl create one note per imported
DM thread head.
- [Markdown Storage](markdown-storage.md)