docs: snapshot WIP

Amolith created

Change summary

.rumdl.toml | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
README.md   | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 107 insertions(+)

Detailed changes

.rumdl.toml 🔗

@@ -0,0 +1,52 @@
+# rumdl configuration file
+
+# Global configuration options
+[global]
+# List of rules to disable (uncomment and modify as needed)
+# disable = ["MD013", "MD033"]
+
+# List of rules to enable exclusively (if provided, only these rules will run)
+# enable = ["MD001", "MD003", "MD004"]
+
+# List of file/directory patterns to include for linting (if provided, only these will be linted)
+# include = [
+#    "docs/*.md",
+#    "src/**/*.md",
+#    "README.md"
+# ]
+
+# List of file/directory patterns to exclude from linting
+exclude = [
+    # Common directories to exclude
+    ".git",
+    ".github",
+    "node_modules",
+    "vendor",
+    "dist",
+    "build",
+
+    # Specific files or patterns
+    "CHANGELOG.md",
+    "LICENSE.md",
+]
+
+# Respect .gitignore files when scanning directories (default: true)
+respect_gitignore = true
+
+# Markdown flavor/dialect (uncomment to enable)
+# Options: mkdocs, gfm, commonmark
+flavor = "commonmark"
+
+[MD003]
+style = "atx"  # Heading style (atx, atx_closed, setext)
+
+[MD004]
+style = "dash"  # Unordered list style (asterisk, plus, dash, consistent)
+
+[MD007]
+indent = 2  # Unordered list indentation
+
+[MD013]
+line_length = 80  # Line length
+code_blocks = false  # Exclude code blocks from line length check
+reflow = true

README.md 🔗

@@ -0,0 +1,55 @@
+# nasin pali (the way of work)
+
+[![REUSE status](https://api.reuse.software/badge/git.secluded.site/nasin-pali)](https://api.reuse.software/info/git.secluded.site/nasin-pali)
+[![Go Report Card](https://goreportcard.com/badge/git.secluded.site/nasin-pali)](https://goreportcard.com/report/git.secluded.site/nasin-pali)
+
+**This README is aspirational!** None of the code exists yet, I'm just getting
+my ideas down.
+
+---
+
+_nasin pali_, installed as `np`, is a CLI tool that encourages LLMs in agentic
+coding tools (specifically coding, I don't think we want to support generic
+workflows) to do a bit more planning before going off and making a bunch of
+changes. It is _both_ meant for humans and LLMs; there are subcommands that
+produce instructions for the model and subcommands that let the human inspect
+what the model's doing.
+
+The todo systems built into agentic coding tools are often just that: todo and
+nothing else. They also, if I understand correctly, have the LLM reproduce the
+entire task list with each `todo_write` invocation, which just seems crazy to
+me. What if it decides it doesn't want to do a task because it's "too hard" and
+it just omits that task next time it writes the list? _nasin pali_ does things a
+little differently.
+
+- Start a new session with `np s` . It adds details to the global sqlite
+  database and produces output to guide the LLM through its next steps. Instead
+  of telling the model up-front about everything it can do with _nasin pali_,
+  all the sub-commands and flags, we only reveal the sub-commands and flags it
+  might actually need once it needs them. It shouldn't ever use the interactive
+  commands, so we don't tell them model about them.
+
+  - There can be one active session per working directory and the previous
+    session must be archived before starting a new one. This is so the model
+    doesn't have to provide a session ID or something for each invocation.
+
+- `np s` tells the model about the goal and task sub-commands and their flags
+  and to begin the session by turning the user's request, bug report, issue
+  contents, spec, etc. into a concise overarching goal with a thorough
+  description
+- `np g s` accepts title and description arguments and tells the model to, if
+  necessary, look around at additional relevant files before adding some tasks
+  with `np t a`
+
+When multi-line inputs are required, use
+
+```text
+np goal set "Sentence case title" "$(cat <<'EOF'
+Multi-line
+
+- Body
+- Here
+
+EOF
+)"
+```