Thanks for considering a contribution. The bar: real use case, deterministic workflow, MCP-tool calls visible in the command file, no hidden dependencies.
- Native notifications for Linux and macOS —
scripts/nlm-auth-check.shcurrently only fires Windows toast notifications. Addosascript -e 'display notification ...'for macOS andnotify-send(withdunstifyfallback) for Linux. Detect the platform viauname -sand branch. - Expanded URL dictionary in
/init-notebook— current list covers 30+ frameworks. PRs welcome to extend with: Solid.js, SvelteKit, Astro, Hono, NestJS, Bun, Deno, tRPC, TanStack Query, Zod, Pydantic, SQLAlchemy, Polars, DuckDB, ClickHouse, Temporal, Hatchet, Convex. - New slash commands that map cleanly onto the three-phase pattern:
/pdf-research <topic>— PDF papers → NotebookLM → analysis/podcast-to-notebook <feed-url>— podcast feed → episode transcripts (via NotebookLM) → topic-aware analysis/csv-research <file>— CSV / TSV / Parquet → analytics queries against the data
- Translation of command files — currently command bodies are bilingual where it matters but a few are Russian-only. Extract user-visible strings into a small translation table or duplicate each command with
.en.md/.ru.mdsuffix. - Telegram chunker improvements — current chunker is forum-aware, but could also handle:
- WhatsApp exports (different format)
- Discord channel exports (also has thread structure)
- Slack channel exports (per-channel JSON)
- Changes that introduce a non-stdlib dependency in
scripts/telegram-chunker.py. The whole point is "drop-in script, zero install." If you need a non-stdlib lib, write a sister script. - Changes that bypass
wait=truesemantics in command files. The deterministic workflow contract depends on it. - Slash commands that wrap a single MCP tool call with no added value. If it is one-call, it is not a workflow — the user should call the MCP tool directly.
- Pull requests that rename existing commands without a CHANGELOG entry under "Breaking changes" and a deprecation alias kept for at least one minor version.
- If you added a slash command: it has a clear
## Phase 1/## Phase 2/## Phase 3structure (or a documented reason for fewer) - If you touched
scripts/telegram-chunker.py:python -m py_compileclean, stdlib-only,--list-topicssmoke test passed locally - If you touched
scripts/nlm-auth-check.sh:bash -nclean, ShellCheck severityerrorclean -
README.mdupdated ANDREADME.ru.mdmirrored -
CHANGELOG.mdentry added under Unreleased or a new minor version -
validate.ymlworkflow passes locally
- Command files: imperative voice ("Create a notebook", "Add each source"). Phase headings are bold and numbered.
- Bash:
bash -nand ShellCheck-error clean.[[ ]]over[ ],$()over backticks, quoted variable expansions. - Python: stdlib only, type hints on public functions, no print debugging in committed code.
- One feature per PR. Stack PRs if you have multiple.
@CreatmanCEO — Nick Podolyak. Open an issue first for anything larger than one command file or one chunker improvement.