diff --git a/README.md b/README.md index 9da9a26d014f38264b42f3330c6c7ae0af15c321..0962a7da990a5596a850c89568966dd4d946b1fb 100644 --- a/README.md +++ b/README.md @@ -12,22 +12,23 @@ _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. +produce output for the model and subcommands for the human to inspect the +model's progress. 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. +nothing else. I think (backed by no evidence) that they do better when they can +also set a goal. If I understand the coding tools correctly, they also have the +LLM reproduce the entire task list with each `todo_write` invocation, which just +seems wasteful and careless 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_ helps force the model into a different flow. - 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. + of telling the model up-front about everything it can do with _nasin pali_ + though AGENTS.md or tool definitions or something, 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 never 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 @@ -41,15 +42,24 @@ little differently. necessary, look around at additional relevant files before adding some tasks with `np t a` -When multi-line inputs are required, use +## The name -```text -np goal set "Sentence case title" "$(cat <<'EOF' -Multi-line +Is [toki pona](https://tokipona.org/). [_nasin_](https://nimi.li/nasin) occupies +the semantic space of "method, doctrine, tradition; path, road, way" while +[_pali_](https://nimi.li/pali) covers "work, activity; create, build, design; +put effort toward, take action on". Together and in this context, _nasin pali_ +could be translated as "the way of work", "the doctrine of design", etc. -- Body -- Here +## Random thoughts -EOF -)" -``` +- When providing multiple lines for the body, use + + ```bash + np goal set "Sentence case title" "$(cat <<'EOF' + Multi-line + - Body + - Here + + EOF + )" + ```