summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorSzymon Szukalski <szymon@szymonszukalski.com>2026-04-07 18:04:22 +1000
committerSzymon Szukalski <szymon@szymonszukalski.com>2026-04-07 18:04:22 +1000
commit550eb3ab53398b5caac72617f9afe1b359a9aa7c (patch)
treeaa2266430a31abf1d13acc276fd69be7564901a7 /README.md
parenta6e912a4b4ec9caf71abc0dc912b1e1b1a3758e5 (diff)
feat: add org people rolodex
Diffstat (limited to 'README.md')
-rw-r--r--README.md37
1 files changed, 22 insertions, 15 deletions
diff --git a/README.md b/README.md
index 5579d60..23519d2 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ The note system lives under `~/org/` and is organized like this:
- `daily/` for plain daily Org files.
- `projects/` for project notes.
- `areas/` for area notes.
-- `areas/people/` for people-related notes.
+- `people.org` for the lightweight people rolodex.
- `resources/` for reference material.
- `archives/` for archived notes.
@@ -56,20 +56,24 @@ The minibuffer stack is intentionally small:
- `marginalia` adds annotations.
- `corfu` handles in-buffer completion popups for text and Org buffers.
-Name entry uses fixed abbrevs plus the roster:
+Name entry uses fixed abbrevs plus the rolodex:
- `abbrev` provides deterministic one-shot shortcuts for fixed name expansions.
-- a CAPF feeds Corfu name variants from the legacy shortcut list and from the
- structured people roster in `~/org/areas/people/roster.org`.
-- `M-x ss/name-dictionary-add-name` and `M-x ss/name-dictionary-remove-name` update the legacy shortcut file and refresh the current prose buffers.
-- `M-x ss/name-dictionary-add-name-from-region` uses the active region as the name being added.
-- `M-x ss/people-find` opens a roster entry.
-- `M-x ss/people-insert-summary` inserts a compact roster summary at point.
+- people-specific abbrevs are generated dynamically from top-level cards in `~/org/people.org`.
+- a CAPF feeds Corfu canonical names from `people.org`, while alias matching stays available for lookup and completion.
+- Marginalia annotates person candidates with `role | location | engagement | current focus`.
+- `M-x ss/people-open` opens `people.org` in overview mode.
+- `M-x ss/people-find` opens a person card narrowed to that subtree.
+- `M-x ss/people-overview` exits card view by widening and restoring the overview.
+- `M-x ss/people-insert-name` inserts the canonical name at point.
+- `M-x ss/people-insert-summary` inserts a compact single-line summary at point.
+- `M-x ss/people-add` adds a new person card directly to `people.org`.
+- `M-x ss/people-report-by-relationship`, `M-x ss/people-report-by-engagement`, `M-x ss/people-report-by-role`, and `M-x ss/people-report-by-location` render grouped Org reports in a read-only buffer.
### Persistent abbrevs
Persistent abbrevs live in `abbrev_defs` at the repository root. The config loads that file on startup, enables abbrev mode only in text-like buffers, and saves learned abbrevs back to the same file silently when buffers are saved.
-The legacy name shortcut list lives in `name-dictionary.el`, and the structured roster in `~/org/areas/people/roster.org` is the source of truth for people records, including name, role, employee time, engagement, team, abbrev, aliases, manager, email, and location.
+People-specific abbrevs are not stored in a separate file. They are rebuilt from `~/org/people.org` whenever the rolodex changes, and missing `ABBREV` properties fall back to a generated default trigger.
### Babel tangle process
@@ -120,13 +124,12 @@ This means the agenda reflects the current project and area files at runtime ins
- daily tasks
- daily notes
- daily meetings
-- Denote-backed captures for generic notes, projects, areas, people, and resources
-- structured roster captures for manager-facing people data
+- Denote-backed captures for generic notes, projects, areas, and resources
Daily task capture writes under `Tasks`. Daily note capture and daily meeting capture both write under `Notes`, and the meeting template prefixes the heading with a timestamp and the word `meeting`.
-Denote captures still prompt for title, keywords, and subdirectory placement where appropriate, but folder placement does most of the classification work. The project capture template prepopulates the `project` keyword. Area, person, and resource captures do not inject structural keywords automatically, and there is no Denote-backed meeting capture template.
-The people roster capture template writes to `~/org/areas/people/roster.org` and records name, abbrev trigger, aliases, role, engagement, team, manager, email, and location. `C-c n f` opens the roster lookup prompt, and `C-c n r` opens the roster file directly. `M-x ss/people-report-by-engagement`, `M-x ss/people-report-by-role`, and `M-x ss/people-report-by-manager` generate filtered roster views.
+Denote captures still prompt for title, keywords, and subdirectory placement where appropriate, but folder placement does most of the classification work. The project capture template prepopulates the `project` keyword. Area and resource captures do not inject structural keywords automatically, and there is no Denote-backed meeting capture template.
+The people rolodex is intentionally outside `org-capture`: `M-x ss/people-add` writes a compact card directly into `~/org/people.org`, keeping the rolodex as a fast reference file instead of another capture sink.
### Note creation and linking
@@ -135,10 +138,14 @@ Denote handles long-lived notes. The main bindings are:
- `C-c n n` to open or create a Denote note.
- `C-c n l` to insert a Denote link.
- `C-c n M` to open the central MOC note.
-- `C-c n f` to search the people roster.
+- `C-c n f` to find a person card.
+- `C-c n i` to insert a canonical person name.
+- `C-c n I` to insert a compact person summary.
- `C-c n m` to create a PARA subdirectory from the minibuffer before capturing into it.
- `C-c n d` to open today's daily note.
-- `C-c n r` to open the roster file.
+- `C-c n o` to restore the rolodex overview.
+- `C-c n p` to open `people.org`.
+- `C-c n P` to add a new person card.
Keyword prompts and directory placement are part of the workflow, not an afterthought. The config is set up so structure is created first, then capture writes into it, with folder placement carrying most of the durable type information.