- Node.js 22 or later
- npm
git clone --recursive https://github.com/uhop/list-toolkit.git
cd list-toolkit
npm installThe --recursive flag is needed to clone the wiki submodule under wiki/.
See ARCHITECTURE.md for a detailed module map and dependency graph.
src/— all source code (ESM)tests/— automated tests (test-*.js)bench/— benchmarkswiki/— GitHub wiki (git submodule)
npm test # Run all tests (tape-six, parallel workers)
node tests/test-<name>.js # Run a single test file directly
npm run test:bun # Run with Bun
npm run test:deno # Run with Deno
npm run test:seq # Run sequentially (no workers)
npm run test:proc # Run using subprocesses- ESM-only: use
import/exportsyntax. - No runtime dependencies: do not add any packages to
dependencies. - Formatting: Prettier — 160 char width, single quotes, no bracket spacing, no trailing commas, arrow parens "avoid".
- Indentation: 2 spaces.
See ARCHITECTURE.md for core concepts (circular lists, hosted vs external, value vs node, pointers, caches, heaps, method aliases, etc.).
- Add implementation in the appropriate
src/subdirectory. - Add a top-level re-export module if needed.
- Add tests to
tests/test-<name>.js. - Run
npm testto verify.
If you are an AI coding agent, see AGENTS.md for detailed project conventions, commands, and architecture.