architecture
Skill1.2k starsChanged 5 months agoMITView on GitHub
Architecture deep-dive for poku covering project structure, execution flow, config discovery, runtime detection, and competitive context. Use when navigating the codebase or understanding how components fit together.
We split this skill into the rules it gives an agent
2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 111 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Read the src/ tree to understand module organization.
- Very specific: line 41
Read the runtime detection and runner resolution in src/parsers/:
“Common” is measured: kept by at least 6 in 10 of the 111 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
How the project is organized and where to look. Read the actual directories and source to confirm details, since file lists change over time.
1. Directory Structure
Read the src/ tree to understand module organization. Each directory has a clear responsibility:
src/modules/: public surface. The barrel files exposed to consumers are the ones listed underexportsinpackage.json(read it for the current entrypoints). Subfolders hold the essentials (corepoku/assert/strict) and the helper APIs (describe,it,test,skip,kill,env, etc.)src/services/: runtime services. The runner, per-file execution, watch mode, and reporters live heresrc/parsers/: CLI and config parsing. Argument reading, config discovery, runtime detection, and runner resolutionsrc/configs/: global state, including theGLOBALsingletonsrc/builders/: chainable builders (assert, reporter)src/polyfills/: cross-runtime compatibility shimssrc/bin/: CLI entry.src/bin/index.tsis the published binarysrc/@types/: TypeScript type definitions
To find a specific file, read the relevant directory rather than relying on a fixed list here.
2. Execution Flow
Trace the path from CLI invocation to test results:
- The CLI entry (
src/bin/index.ts) parses args, loads config, and callspoku() - The
poku()orchestrator in the essentials module starts the run - The runner service builds a concurrency-bounded queue and iterates the matched files
- Each test file is spawned in its own process with
shell: false - Child processes inherit
POKU_*environment variables set by the parent - The selected reporter renders results
3. Config System
- Auto-discovered files (in order):
poku.config.js,.pokurc.json,.pokurc.jsonc. The discovery logic lives in the options parser undersrc/parsers/.poku.config.cjsandpoku.config.tsare supported only via an explicit--config=flag, not auto-discovery - For the available options, read the config types in
src/@types/and the CLI help insrc/bin/. They are the source of truth and stay current as options evolve
4. Runtime Detection
Read the runtime detection and runner resolution in src/parsers/:
- Detection order:
POKU_RUNTIMEenv var, thentypeof Deno, thentypeof Bun, otherwise default'node' - Runner: Bun (
['bun']), Deno (['deno', 'run', ...perms]), Node (['node'], or['node', '--import=tsx']for TypeScript files)
5. Competitive Context
Poku differentiates from Jest/Vitest/Mocha/etc. by:
- No internal test mapping: tests are not registered or mapped internally, only their execution is reported. This is the core architectural decision that makes tests behave as plain JavaScript (see the Philosophy in
CLAUDE.md) - Zero runtime dependencies
- Faster than Jest and Vitest in the project's own benchmarks (see
benchmark/for current numbers and the caveats stated there) - Process-per-file isolation by default (
--isolation=noneruns all files in the same process, useful for debugging) - Cross-platform (Node/Bun/Deno) zero-config
- Built-in service management (
startService,waitForPort,kill, and related helpers)
Trending
Less talk lately.about the whole repository
Who's talking about wellwelwel/poku
- @weslley.io“Ninguém fez ainda, então bora compartilhar seus projetos mais dahora Começando pelo meu, um test runner que …”Bluesky · Sep 4, 2024 · 37 likes
- githubevents/open-source-friday-brasil“Open Source Friday Brasil - Poku - March 14th”GitHub · Mar 10, 2025 · 21 reactions
- nodejsbrazil/jsconf“Adicionar canal de segurança público”GitHub · May 11, 2026 · 2 reactions
- A Hacker News story“Poku makes testing easy for Node.js, Bun, Deno, and you at the same time”Hacker News · Aug 8, 2024 · 2 points
- jtemporal/old-blog-v2“Add projeto poku em TypeScript”GitHub · Sep 30, 2025 · 1 reactions
The biggest 5 of 53 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 53
Talked about on GitHub, Bluesky and Hacker News (53 times).
On GitHub · 50
- Mar 10, 2025Open Source Friday Brasil - Poku - March 14th — githubevents/open-source-friday-brasil21 reactions
- May 11, 2026Adicionar canal de segurança público — nodejsbrazil/jsconf2 reactions · 4 comments
- Sep 30, 2025Add projeto poku em TypeScript — jtemporal/old-blog-v21 reaction
- Oct 22, 2026fix: preserve scoped lifecycles and isolate retry state — Lojhan/poku0 reactions
- Jun 19, 2026build(deps-dev): bump the website-dev-dependencies group in /website with 2 updates — sidorares/node-mysql20 reactions
45 more on GitHub
- Jun 19, 2026build(deps-dev): bump the dev-dependencies group with 2 updates — sidorares/node-mysql20 reactions
- Jun 9, 2026build(deps-dev): bump the website-dev-dependencies group in /website with 2 updates — sidorares/node-mysql20 reactions
- Jun 9, 2026build(deps-dev): bump the dev-dependencies group with 4 updates — sidorares/node-mysql20 reactions
- May 25, 2026build(deps-dev): bump poku from 4.3.1 to 4.3.2 in /website in the website-dev-dependencies group — sidorares/node-mysql20 reactions
- May 25, 2026build(deps-dev): bump the dev-dependencies group with 3 updates — sidorares/node-mysql20 reactions
- May 12, 2026build(deps-dev): bump the website-dev-dependencies group in /website with 2 updates — sidorares/node-mysql20 reactions
- May 12, 2026build(deps-dev): bump the dev-dependencies group with 2 updates — sidorares/node-mysql20 reactions
- Apr 26, 2026temp: that's debugging — wellwelwel/node-mysql20 reactions
- Apr 20, 2026build(deps-dev): bump poku from 4.2.1 to 4.3.0 in /website in the website-dev-dependencies group — sidorares/node-mysql20 reactions
- Apr 20, 2026build(deps-dev): bump the dev-dependencies group with 2 updates — sidorares/node-mysql20 reactions
- Apr 10, 2026build(deps-dev): bump the website-dev-dependencies group across 1 directory with 4 updates — sidorares/node-mysql20 reactions
- Apr 10, 2026build(deps-dev): bump the website-dev-dependencies group across 1 directory with 5 updates — sidorares/node-mysql20 reactions · 3 comments
- Apr 10, 2026build(deps-dev): bump the website-dev-dependencies group across 1 directory with 6 updates — sidorares/node-mysql20 reactions · 3 comments
- Apr 10, 2026build(deps-dev): bump the website-dev-dependencies group in /website with 7 updates — sidorares/node-mysql20 reactions · 2 comments
- Mar 23, 2026chore(deps-dev): bump poku from 3.0.2 to 4.1.0 — pokujs/c80 reactions · 1 comment
- Mar 11, 2026build(deps-dev): bump poku from 4.0.0 to 4.1.0 in /website — sidorares/node-mysql20 reactions
- Mar 9, 2026"Shared Resources" prevents child processes from printing to stdout — pokujs/shared-resources0 reactions
- Mar 6, 2026build(deps-dev): bump poku from 3.0.2 to 4.0.0 in /website — sidorares/node-mysql20 reactions
- Feb 19, 2026build(deps-dev): bump poku from 3.0.3-canary.8f374795 to 3.0.3-canary.75164492 — sidorares/node-mysql20 reactions · 1 comment
- Oct 12, 2025[WIP] Add projeto poku in TypeScript — jtemporal/old-blog-v20 reactions · 1 comment
- Mar 19, 2025build(deps-dev): bump poku from 3.0.1 to 3.0.2 in /website — sidorares/node-mysql20 reactions
- Mar 19, 2025build(deps-dev): bump poku from 3.0.1 to 3.0.2 — sidorares/node-mysql20 reactions
- Feb 5, 2025build(deps-dev): bump poku from 3.0.0 to 3.0.1 — sidorares/node-mysql20 reactions
- Feb 5, 2025build(deps-dev): bump poku from 3.0.0 to 3.0.1 in /website — sidorares/node-mysql20 reactions
- Jan 27, 2025build(deps-dev): bump poku from 2.7.1 to 3.0.0 in /website — sidorares/node-mysql20 reactions · 1 comment
- Jan 27, 2025build(deps-dev): bump poku from 2.7.1 to 3.0.0 — sidorares/node-mysql20 reactions · 1 comment
- Oct 28, 2024build(deps-dev): bump poku from 2.7.0 to 2.7.1 in /website — sidorares/node-mysql20 reactions
- Oct 28, 2024build(deps-dev): bump poku from 2.7.0 to 2.7.1 — sidorares/node-mysql20 reactions
- Sep 23, 2024build(deps-dev): bump poku from 1.21.0 to 2.7.0 — ameliazz/mozz.env0 reactions
- Sep 17, 2024build(deps-dev): bump poku from 2.6.2 to 2.7.0 — sidorares/node-mysql20 reactions
- Sep 17, 2024build(deps-dev): bump poku from 2.6.2 to 2.7.0 in /website — sidorares/node-mysql20 reactions
- Sep 16, 2024build(deps-dev): bump poku from 1.21.0 to 2.6.2 — ameliazz/mozz.env0 reactions · 1 comment
- Sep 12, 2024Poku — email-reciever/website0 reactions
- Sep 10, 2024build(deps-dev): bump poku from 2.6.1 to 2.6.2 in /website — sidorares/node-mysql20 reactions
- Sep 10, 2024build(deps-dev): bump poku from 2.6.1 to 2.6.2 — sidorares/node-mysql20 reactions
- Sep 9, 2024build(deps-dev): bump poku from 2.6.0 to 2.6.1 in /website — sidorares/node-mysql20 reactions
- Sep 9, 2024build(deps-dev): bump poku from 2.6.0 to 2.6.1 — sidorares/node-mysql20 reactions
- Sep 9, 2024build(deps-dev): bump poku from 1.21.0 to 2.6.0 — ameliazz/mozz.env0 reactions · 1 comment
- Sep 6, 2024Bump the npm group across 1 directory with 4 updates — poad/llm-ts-example0 reactions
- Sep 5, 2024build(deps-dev): bump poku from 2.5.0 to 2.6.0 in /website — sidorares/node-mysql20 reactions
- Sep 5, 2024build(deps-dev): bump poku from 2.5.0 to 2.6.0 — sidorares/node-mysql20 reactions
- Aug 26, 2024build(deps-dev): bump poku from 1.21.0 to 2.5.0 — ameliazz/mozz.env0 reactions · 1 comment
- Aug 19, 2024build(deps-dev): bump poku from 1.21.0 to 2.4.4 — ameliazz/mozz.env0 reactions · 1 comment
- Jul 18, 2024Add Poku — michaelrambeau/bestofjs0 reactions · 1 comment
- Mar 11, 2024Different results when using GitHub Actions and TypeScript — bcoe/c80 reactions · 4 comments
On Bluesky · 2
- Sep 4, 2024Ninguém fez ainda, então bora compartilhar seus projetos mais dahora Começando pelo meu, um test runner que tenta tornar os testes… — @weslley.io37 likes and reposts · 4 replies
- Jul 17, 2024結構良さそう "wellwelwel/poku: 🐷 Poku makes testing easy for Node.js, Bun, Deno, and you at the same time." https://github.com/wellwelwel/poku — @azu.bsky.socialsays it tested it1 likes and repost
On Hacker News · 1
- Aug 8, 2024Poku makes testing easy for Node.js, Bun, Deno, and you at the same timesays it tested it2 points
Other versions126 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 126
- anthropics/knowledge-work-plugins★ 34ksame name
- iOfficeAI/AionUi★ 34ksame name
- vudovn/ag-kit★ 8.2ksame name
- vudovn/antigravity-kit★ 8.2ksame name
- nativewind/nativewind★ 8.1ksame name
- PaulWoitaschek/Voice★ 3.2ksame name
- Alwurts/simple-ai★ 755same name
- patrickjaja/claude-desktop-extra★ 696same name
- ktnyt/cclsp★ 673same name
- matrixorigin/Memoria★ 614same name
116 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use intelligent-routing, bash-linux and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
SKB3002Skillintelligent-routing
Automatic agent selection and intelligent task routing. Analyzes user requests and automatically selects the best specialist agent(s) without requiring explicit user mentions.
Also in 6 projects that use this
xenitV1Skillbash-linux
Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.
Also in 8 projects that use this
xenitV1Skillred-team-tactics
Red team tactics principles based on MITRE ATT&CK. Attack phases, detection evasion, reporting.
Also in 8 projects that use this
xfstudioSkillrust-pro
Master Rust 1.75+ with modern async patterns, advanced type system
Also in 6 projects that use this
- +8 more from xenitV1
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- benchmarkingSkill
- documentationSkill
- engineeringSkill
- pre-commitSkill
- testingSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

