summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Szukalski <szymon@szymonszukalski.com>2026-04-07 21:29:37 +1000
committerSzymon Szukalski <szymon@szymonszukalski.com>2026-04-07 21:29:37 +1000
commitd234df7277a53333204af44e6d02b76606067314 (patch)
tree39d37c2dc1aaaa882de8fefb029428d8306509a9
parenta28e8cac4bcba8aa052572fe67e4c7007d599ead (diff)
fix: move people rolodex into areas
-rw-r--r--AGENTS.md2
-rw-r--r--README.md14
-rw-r--r--config.org10
3 files changed, 13 insertions, 13 deletions
diff --git a/AGENTS.md b/AGENTS.md
index e2830d3..0c11b3e 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -9,7 +9,7 @@ This repository is for the creation and maintenance of Emacs 30 configuration fi
- `config.org` is the single hand-edited source of truth for the configuration.
- `init.el` and `early-init.el` are generated from `config.org` and should not be edited directly.
- Structure the literate config by startup responsibility first, then by workflow domain.
-- The current Org workflow lives under `~/org/` with `daily/`, `projects/`, `areas/`, `people.org`, `resources/`, and `archives/`.
+- The current Org workflow lives under `~/org/` with `daily/`, `projects/`, `areas/`, `areas/people/people.org`, `resources/`, and `archives/`.
- Daily notes stay as plain Org files under `~/org/daily/`; longer-lived notes are handled through Denote in the same root.
- Agenda files are discovered dynamically from the project, area, and resource directories rather than from a fixed file list.
- The config also includes a small gptel workflow that uses GitHub Copilot as the backend.
diff --git a/README.md b/README.md
index 45b8454..0ffa1fe 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.
-- `people.org` for the lightweight people rolodex.
+- `areas/people/people.org` for the lightweight people rolodex.
- `resources/` for reference material.
- `archives/` for archived notes.
@@ -59,21 +59,21 @@ The minibuffer stack is intentionally small:
Name entry uses fixed abbrevs plus the rolodex:
- `abbrev` provides deterministic one-shot shortcuts for fixed name expansions.
-- people-specific abbrevs are generated dynamically from top-level cards in `~/org/people.org`.
+- people-specific abbrevs are generated dynamically from top-level cards in `~/org/areas/people/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-open` opens `~/org/areas/people/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-add` adds a new person card directly to `~/org/areas/people/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.
-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.
+People-specific abbrevs are not stored in a separate file. They are rebuilt from `~/org/areas/people/people.org` whenever the rolodex changes, and missing `ABBREV` properties fall back to a generated default trigger.
### Babel tangle process
@@ -129,7 +129,7 @@ This means the agenda reflects the current project and area files at runtime ins
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 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.
+The people rolodex is intentionally outside `org-capture`: `M-x ss/people-add` writes a compact card directly into `~/org/areas/people/people.org`, keeping the rolodex as a fast reference file instead of another capture sink.
### Note creation and linking
@@ -147,7 +147,7 @@ Denote handles long-lived notes. The main bindings are:
- `C-c n d` to open today's daily note.
- `C-c n o` to restore the rolodex overview.
- `C-c n O` to show people grouped by role.
-- `C-c n p` to open `people.org`.
+- `C-c n p` to open `~/org/areas/people/people.org`.
- `C-c n P` to add a new person card.
- `C-c n R` to show people grouped by relationship.
diff --git a/config.org b/config.org
index 56f1738..4a5c426 100644
--- a/config.org
+++ b/config.org
@@ -279,7 +279,7 @@ annotations.
* Name shortcuts
-The people workflow is a lightweight rolodex backed by a single =~/org/people.org=
+The people workflow is a lightweight rolodex backed by a single =~/org/areas/people/people.org=
file. Each top-level heading is a compact card with properties for lookup,
completion, reports, and abbrevs. Abbrev remains the fast path for names you
type all the time, while CAPF plus Corfu remains the discovery path. The
@@ -292,7 +292,7 @@ machine-facing layer only reads heading text and properties; the =Context= and
(require 'marginalia nil t)
(defconst ss/people-file
- (expand-file-name "people.org" "~/org/")
+ (expand-file-name "areas/people/people.org" "~/org/")
"Single source of truth for the lightweight people rolodex.")
(defconst ss/people-engagement-values
@@ -527,7 +527,7 @@ machine-facing layer only reads heading text and properties; the =Context= and
(file-truename ss/people-file))))
(defun ss/people--open-entry (entry)
- "Open people.org and narrow to ENTRY."
+ "Open the people rolodex file and narrow to ENTRY."
(find-file (ss/people--ensure-file))
(widen)
(let ((position (org-find-exact-headline-in-buffer
@@ -723,7 +723,7 @@ machine-facing layer only reads heading text and properties; the =Context= and
(add-hook 'completion-at-point-functions #'ss/people-capf nil t)))
(defun ss/people--maybe-overview-buffer ()
- "Reset people.org to overview when visiting it directly."
+ "Reset the people rolodex file to overview when visiting it directly."
(when (and buffer-file-name
(string= (file-truename buffer-file-name)
(file-truename ss/people-file)))
@@ -935,7 +935,7 @@ integration so note identity, metadata, and directories stay under Denote's
control rather than custom code. The convenience templates keep the familiar
entry points, but only project capture injects a structural keyword by default.
The people rolodex lives outside =org-capture=: adding a person uses the
-dedicated =ss/people-add= command so =~/org/people.org= stays a compact,
+dedicated =ss/people-add= command so =~/org/areas/people/people.org= stays a compact,
structured card file rather than turning into another capture target.
#+begin_src emacs-lisp