Commit df7e112

HPCesia <me@hpcesia.com>
2026-10-11 12:50:56
style: add rumdl config and format docs
1 parent c5ba7f6
Changed files (7)
modules
dev
agents
skills
grilling
jujutsu
flake-parts
modules/dev/agents/skills/grilling/SKILL.md
@@ -7,14 +7,16 @@ description: >
 
 # Grilling Me
 
-Interview me relentlessly about every aspect of this plan until we reach a shared
-understanding. Walk down each branch of the design tree, resolving dependencies
-between decisions one-by-one. For each question, provide your recommended answer.
+Interview me relentlessly about every aspect of this plan until we reach a
+shared understanding. Walk down each branch of the design tree, resolving
+dependencies between decisions one-by-one. For each question, provide your
+recommended answer.
 
 Ask the questions one at a time, waiting for feedback on each question before
 continuing. Asking multiple questions at once is bewildering.
 
-If a *fact* can be found by exploring the codebase, look it up rather than asking
-me. The *decisions*, though, are mine — put each one to me and wait for my answer.
+If a *fact* can be found by exploring the codebase, look it up rather than
+asking me. The *decisions*, though, are mine — put each one to me and wait for
+my answer.
 
 Do not enact the plan until I confirm we have reached a shared understanding.
modules/dev/agents/skills/jujutsu/SKILL.md
@@ -9,8 +9,8 @@ allowed-tools: Bash(jj *)
 
 # Jujutsu (jj) Version Control System
 
-This skill helps you work with Jujutsu, a Git-compatible VCS with mutable commits
-and automatic rebasing.
+This skill helps you work with Jujutsu, a Git-compatible VCS with mutable
+commits and automatic rebasing.
 
 **Tested with jj v0.37.0** - Commands may differ in other versions.
 
@@ -47,22 +47,24 @@ Editor-based commands will fail in non-interactive environments.
 ### The Working Copy is a Commit
 
 In jj, your working directory is always a commit (referenced as `@`). Changes
-are automatically snapshotted when you run any jj command. There is no staging area.
+are automatically snapshotted when you run any jj command. There is no staging
+area.
 
 There is no need to run `jj commit`.
 
 ### Commits Are Mutable
 
 **CRITICAL**: Unlike git, jj commits can be freely modified after creation. You
-can update descriptions, squash changes, rebase, and absorb — all without creating
-new commits. See "Essential Workflow" below for the recommended working pattern.
+can update descriptions, squash changes, rebase, and absorb — all without
+creating new commits. See "Essential Workflow" below for the recommended working
+pattern.
 
 ### Change IDs vs Commit IDs
 
-- **Change ID**: A stable identifier (like `tqpwlqmp`) that persists when a commit
-  is rewritten — prefer these when referencing commits
-- **Commit ID**: A content hash (like `3ccf7581`) that changes when commit content
-  changes
+- **Change ID**: A stable identifier (like `tqpwlqmp`) that persists when a
+  commit is rewritten — prefer these when referencing commits
+- **Commit ID**: A content hash (like `3ccf7581`) that changes when commit
+  content changes
 
 ### Revsets
 
@@ -83,8 +85,8 @@ Use revsets with `-r` flags: `jj log -r 'trunk()..@'`
 
 **Always create your commit message before writing code:**
 
-Validate that you're on a blank revision with `jj st`. If you are not, you should
-type:
+Validate that you're on a blank revision with `jj st`. If you are not, you
+should type:
 
 ```bash
 jj new
@@ -103,7 +105,8 @@ jj st
 
 ### Creating Atomic Commits
 
-Each commit should represent ONE logical change. Use this format for commit messages:
+Each commit should represent ONE logical change. Use this format for commit
+messages:
 
 ```text
 Examples:
@@ -129,11 +132,12 @@ jj --no-pager show <change-id>
 jj --no-pager diff --git
 ```
 
-**IMPORTANT: `jj diff` output format**: The default `jj diff` output uses a side-by-side
-line number format (e.g. `26   26:`) that looks very different from git's `+`/`-`
-prefix format. This is **normal and correct** — it is NOT corrupted or showing stale
-content. However, to avoid confusion, **always use `jj diff --git`** to get standard
-unified diff format with `+`/`-` lines.
+**IMPORTANT: `jj diff` output format**: The default `jj diff` output uses a
+side-by-side line number format (e.g. `26   26:`) that looks very different from
+git's `+`/`-` prefix format. This is **normal and correct** — it is NOT
+corrupted or showing stale content. However, to avoid confusion,
+**always use `jj diff --git`** to get standard unified diff format with `+`/`-`
+lines.
 
 ### Moving Between Commits
 
@@ -165,13 +169,14 @@ Move changes from current commit into its parent:
 jj squash
 ```
 
-**Note**: `jj squash -i` opens an interactive UI and will hang in agent environments.
-Avoid it.
+**Note**: `jj squash -i` opens an interactive UI and will hang in agent
+environments. Avoid it.
 
 ### Splitting Commits
 
-**Warning**: `jj split` is interactive and will hang in agent environments. To divide
-a commit, use `jj restore` to move changes out, then create separate commits manually.
+**Warning**: `jj split` is interactive and will hang in agent environments. To
+divide a commit, use `jj restore` to move changes out, then create separate
+commits manually.
 
 ### Absorbing Changes
 
@@ -259,9 +264,10 @@ multiple workspaces — each with its own working directory and working-copy
 commit (`@`) — all sharing the same commits, operations, and bookmarks. This is
 jj's equivalent of `git worktree`.
 
-Useful for running a long build or test in one workspace while editing in another.
-Workspaces are a rarely-needed feature; consult the [official docs](https://docs.jj-vcs.dev/latest/working-copy/#workspaces)
-for anything beyond the basics below.
+Useful for running a long build or test in one workspace while editing in
+another. Workspaces are a rarely-needed feature; consult the
+[official docs](https://docs.jj-vcs.dev/latest/working-copy/#workspaces) for
+anything beyond the basics below.
 
 ### Common commands
 
@@ -292,14 +298,14 @@ In `jj log`, each workspace's `@` appears as `<workspace-name>@`.
   workspace's files and reads the op log, so it sees commits/bookmarks made by
   other workspaces. There is no filesystem watcher.
 - **Stale working copy.** If another workspace rewrites this workspace's `@`
-  (e.g. via `jj squash`, `rebase`, `abandon`), jj refuses commands here until you
-  run `jj workspace update-stale`. Same recovery path if a command was interrupted
-  mid-update.
+  (e.g. via `jj squash`, `rebase`, `abandon`), jj refuses commands here until
+  you run `jj workspace update-stale`. Same recovery path if a command was
+  interrupted mid-update.
 - **Shared `@` is sharp-edged.** `jj edit <id>` lets two workspaces point at the
   same change without warning. When one mutates it, the other goes stale; if the
-  stale one had un-snapshotted edits, `update-stale` preserves them as a **divergent
-  commit** (same change ID, shown as `xyz??` in `jj log`) that you must resolve.
-  Avoid sharing `@` unless both workspaces are read-only.
+  stale one had un-snapshotted edits, `update-stale` preserves them as a
+  **divergent commit** (same change ID, shown as `xyz??` in `jj log`) that you
+  must resolve. Avoid sharing `@` unless both workspaces are read-only.
 
 ### Agent guidance
 
@@ -339,7 +345,8 @@ After fetching, rebase your work onto the updated trunk: `jj rebase -d main`
 ### Switching Between jj and git (Colocated Repos Only)
 
 **This section only applies to colocated repos** (where both `.jj/` and `.git/`
-exist). In non-colocated repos, do not use git commands — they will corrupt jj state.
+exist). In non-colocated repos, do not use git commands — they will corrupt jj
+state.
 
 In a colocated repository, you can use both jj and git commands with care:
 
@@ -365,7 +372,8 @@ jj edit <change-id>
 - Git may complain about uncommitted changes if jj's working copy differs from
   the git HEAD
 - ALWAYS ensure your work is committed in jj before switching to git
-- After git operations, jj will detect and incorporate the changes on next command
+- After git operations, jj will detect and incorporate the changes on next
+  command
 
 ### Pushing Changes
 
@@ -416,22 +424,22 @@ jj allows committing conflicts — you can resolve them later:
 jj st
 ```
 
-**Agent conflict resolution**: Do not use `jj resolve` (interactive). Instead, edit
-the conflicted files directly to remove conflict markers, then run `jj st` to verify
-resolution.
+**Agent conflict resolution**: Do not use `jj resolve` (interactive). Instead,
+edit the conflicted files directly to remove conflict markers, then run `jj st`
+to verify resolution.
 
 ## Preserving Commit Quality
 
-**IMPORTANT**: Because commits are mutable, always refine them before considering
-work done:
+**IMPORTANT**: Because commits are mutable, always refine them before
+considering work done:
 
 1. **Review your commit**: `jj --no-pager show @` or `jj --no-pager diff --git`
 2. **Is it atomic?** One logical change per commit
 3. **Is the message clear?** Use imperative verb phrase in sentence case format
    with no full stop: e.g. "Add login endpoint", "Fix null pointer in payment
    processor", "Remove deprecated API endpoints"
-4. **Are there unrelated changes?** Use `jj restore` to move changes out, then create
-   separate commits
+4. **Are there unrelated changes?** Use `jj restore` to move changes out, then
+   create separate commits
 5. **Should changes be elsewhere?** Use `jj squash` or `jj absorb`
 
 ## Quick Reference
modules/flake-parts/treefmt.nix
@@ -10,7 +10,9 @@
     treefmt = {
       programs.alejandra.enable = true;
       programs.gofmt.enable = true;
-      programs.rumdl-format.enable = true;
+      programs.rumdl-format = {
+        enable = true;
+      };
     };
   };
 }
.editorconfig
@@ -6,3 +6,6 @@ indent_style = space
 indent_size = 2
 insert_final_newline = true
 trim_trailing_whitespace = true
+
+[*.md]
+max_line_length = 80
AGENTS.md
@@ -1,7 +1,8 @@
 # IX
 
-IX is a Nix configuration built with [Dendritic Pattern](https://github.com/mightyiam/dendritic)
-and [den](https://github.com/denful/den).
+IX is a Nix configuration built with
+[Dendritic Pattern](https://github.com/mightyiam/dendritic) and
+[den](https://github.com/denful/den).
 
 ## Code Style
 
README.md
@@ -11,13 +11,18 @@ configuration for all my machines, powered by [den].
 
 ## Stack
 
-- Shell: [Bash](https://www.gnu.org/software/bash/) (with [Flyline](https://github.com/HalFrgrd/flyline))
-- Terminal: [Foot](https://codeberg.org/dnkl/foot) and [Zellij](https://zellij.dev/)
-- Editor: [Helix](https://github.com/helix-editor/helix) (with [Steel plugins fork](https://github.com/mattwparas/helix/tree/steel-event-system))
+- Shell: [Bash](https://www.gnu.org/software/bash/) (with
+  [Flyline](https://github.com/HalFrgrd/flyline))
+- Terminal: [Foot](https://codeberg.org/dnkl/foot) and
+  [Zellij](https://zellij.dev/)
+- Editor: [Helix](https://github.com/helix-editor/helix) (with
+  [Steel plugins fork](https://github.com/mattwparas/helix/tree/steel-event-system))
 - WM: [Niri](https://github.com/niri-wm/niri)
 - Desktop Shell: [Noctalia](https://github.com/noctalia-dev/noctalia)
-- Browser: [Floorp](https://github.com/Floorp-Projects/Floorp); [Chromium](https://www.chromium.org/chromium-projects/)
-- IME: [Rime](https://rime.im/) (with [rime-frost](https://github.com/gaboolic/rime-frost))
+- Browser: [Floorp](https://github.com/Floorp-Projects/Floorp);
+  [Chromium](https://www.chromium.org/chromium-projects/)
+- IME: [Rime](https://rime.im/) (with
+  [rime-frost](https://github.com/gaboolic/rime-frost))
 - Icon: [WhiteSur](https://github.com/vinceliuice/WhiteSur-icon-theme)
 - Cursor: [Bibata Cursor](https://github.com/ful1e5/Bibata_Cursor)
 - Color Scheme: [Catppuccin Mocha](https://catppuccin.com/palette/#flavor-mocha)
@@ -28,7 +33,8 @@ The code regarding the internal mechanisms of the den framework was basically
 all written by LLMs. Some portions of certain [hjem] modules were ported from
 [home-manager] using LLMs.
 
-Commits assisted by LLM agents will add `Assisted-by: <agent>:<model>` as a trailer.
+Commits assisted by LLM agents will add `Assisted-by: <agent>:<model>` as a
+trailer.
 
 ## License
 
rumdl.toml
@@ -0,0 +1,7 @@
+#:schema https://github.com/rvben/rumdl/raw/refs/tags/v0.2.77/rumdl.schema.json
+
+[global]
+editorconfig = true
+
+[MD013]
+reflow = true