Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion wiki/agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Task playbooks ("skills") live as plain-markdown `SKILL.md` files under `.claude

Per-agent config is tracked for **every** agent, not just Claude: `.claude/settings.json` + `.claude/hooks/` (Claude Code), `.codex/config.toml` + `.codex/hooks.json` (Codex), and `.mcp.json` (the shared `chrome-devtools` MCP server). The two agents read different config files, so the `gh-comment-guard` hook script exists once per agent — `.githooks/pre-push` requires the copies stay byte-identical, and rejects a hook command that hardcodes an absolute home path. Codex sets no project-dir environment variable of its own — verified by dumping a live hook's environment: it received 79 vars, none of them `CODEX_*`, and no `CLAUDE_PROJECT_DIR` even though 11 unrelated `CLAUDE_*` vars had leaked in from the launching shell. It does run hooks with the working directory set to the project root and passes `cwd` in the stdin payload. So a Codex hook path uses `$(git rev-parse --show-toplevel)`, which additionally survives being invoked from a subdirectory.

When present, [`AGENTS.local.md`](../AGENTS.local.md) (gitignored, not in a clean checkout) adds maintainer-local orientation — orchestration workflow, dispatch policy, pull-request handling policy, and pointers into local-only directories. It is an optional overlay; this file is self-sufficient without it. **Read it whenever it exists: it carries binding maintainer policy that this file does not repeat**, including how to handle a contributor's PR (we push the changes ourselves rather than asking the author to amend) and the branch-protection merge override.
When present, `AGENTS.local.md` (gitignored, not in a clean checkout) adds maintainer-local orientation — orchestration workflow, dispatch policy, pull-request handling policy, and pointers into local-only directories. It is an optional overlay; this file is self-sufficient without it. **Read it whenever it exists: it carries binding maintainer policy that this file does not repeat**, including how to handle a contributor's PR (we push the changes ourselves rather than asking the author to amend) and the branch-protection merge override.

## Non-negotiables

Expand Down
24 changes: 23 additions & 1 deletion wiki/research/cold-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,29 @@ The bigger latency story for Nub is not `nub hello.js`, where Node is merely slo

Every number above comes from the nodejs/performance startup thread, one of the landmark PRs listed in the timeline, or Node's own snapshot README; the link definitions below resolve those references.

[perf180]: https://github.com/nodejs/performance/issues/180 [pr56275]: https://github.com/nodejs/node/pull/56275 [pr45659]: https://github.com/nodejs/node/pull/45659 [pr45716]: https://github.com/nodejs/node/pull/45716 [pr42466]: https://github.com/nodejs/node/pull/42466 [pr59550]: https://github.com/nodejs/node/pull/59550 [pr61769]: https://github.com/nodejs/node/pull/61769 [pr59473]: https://github.com/nodejs/node/pull/59473 [pr27321]: https://github.com/nodejs/node/pull/27321 [pr28181]: https://github.com/nodejs/node/pull/28181 [pr44715]: https://github.com/nodejs/node/issues/44715 [pr62267]: https://github.com/nodejs/node/pull/62267 [pr59517]: https://github.com/nodejs/node/pull/59517 [pr56980]: https://github.com/nodejs/node/pull/56980 [pr57307]: https://github.com/nodejs/node/pull/57307 [pr42566]: https://github.com/nodejs/node/issues/42566 [issue35711]: https://github.com/nodejs/node/issues/35711 [issue44014]: https://github.com/nodejs/node/issues/44014 [issue53787]: https://github.com/nodejs/node/issues/53787 [snapREADME]: https://github.com/nodejs/node/blob/main/tools/snapshot/README.md [preExec]: https://github.com/nodejs/node/blob/main/lib/internal/process/pre_execution.js [nodecc]: https://github.com/nodejs/node/blob/main/src/node.cc [quictls]: https://github.com/quictls/openssl
[perf180]: https://github.com/nodejs/performance/issues/180
[pr56275]: https://github.com/nodejs/node/pull/56275
[pr45659]: https://github.com/nodejs/node/pull/45659
[pr45716]: https://github.com/nodejs/node/pull/45716
[pr42466]: https://github.com/nodejs/node/pull/42466
[pr59550]: https://github.com/nodejs/node/pull/59550
[pr61769]: https://github.com/nodejs/node/pull/61769
[pr59473]: https://github.com/nodejs/node/pull/59473
[pr27321]: https://github.com/nodejs/node/pull/27321
[pr28181]: https://github.com/nodejs/node/pull/28181
[pr44715]: https://github.com/nodejs/node/issues/44715
[pr62267]: https://github.com/nodejs/node/pull/62267
[pr59517]: https://github.com/nodejs/node/pull/59517
[pr56980]: https://github.com/nodejs/node/pull/56980
[pr57307]: https://github.com/nodejs/node/pull/57307
[pr42566]: https://github.com/nodejs/node/issues/42566
[issue35711]: https://github.com/nodejs/node/issues/35711
[issue44014]: https://github.com/nodejs/node/issues/44014
[issue53787]: https://github.com/nodejs/node/issues/53787
[snapREADME]: https://github.com/nodejs/node/blob/main/tools/snapshot/README.md
[preExec]: https://github.com/nodejs/node/blob/main/lib/internal/process/pre_execution.js
[nodecc]: https://github.com/nodejs/node/blob/main/src/node.cc
[quictls]: https://github.com/quictls/openssl

## Changelog

Expand Down
17 changes: 16 additions & 1 deletion wiki/research/node-embedding-vs-spawn.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,22 @@ Node's own embedding and shared-library docs, the libnode tracking issues and PR
- [ESM loader hooks startup overhead (Medium)][loader-overhead]
- [ccifra/libelectron][libelectron]

[shlib-doc]: https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-shared-library-support.md [libnode-req]: https://github.com/nodejs/node/issues/52289 [cffi-pr]: https://github.com/nodejs/node/pull/57846 [napi-libnode]: https://github.com/napi-rs/napi-rs/issues/2869 [libnode-sys]: https://github.com/alshdavid/libnode_sys [edon]: https://crates.io/crates/edon [electron-node]: https://www.electronjs.org/blog/electron-internals-using-node-as-a-library [brew-split]: https://github.com/nexu-io/open-design/issues/1275 [osprim]: https://www.bitsnbites.eu/benchmarking-os-primitives/ [val-spawn]: https://blog.val.town/blog/node-spawn-performance/ [node24]: https://nodejs.org/en/blog/release/v24.0.0 [sea-doc]: https://nodejs.org/api/single-executable-applications.html [loader-discussion]: https://github.com/orgs/nodejs/discussions/51661 [loader-overhead]: https://medium.com/@Quaxel/esm-loader-hooks-can-quietly-wreck-startup-b6fa96be8629 [libelectron]: https://github.com/ccifra/libelectron [embed-doc]: https://nodejs.org/api/embedding.html
[shlib-doc]: https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-shared-library-support.md
[libnode-req]: https://github.com/nodejs/node/issues/52289
[cffi-pr]: https://github.com/nodejs/node/pull/57846
[napi-libnode]: https://github.com/napi-rs/napi-rs/issues/2869
[libnode-sys]: https://github.com/alshdavid/libnode_sys
[edon]: https://crates.io/crates/edon
[electron-node]: https://www.electronjs.org/blog/electron-internals-using-node-as-a-library
[brew-split]: https://github.com/nexu-io/open-design/issues/1275
[osprim]: https://www.bitsnbites.eu/benchmarking-os-primitives/
[val-spawn]: https://blog.val.town/blog/node-spawn-performance/
[node24]: https://nodejs.org/en/blog/release/v24.0.0
[sea-doc]: https://nodejs.org/api/single-executable-applications.html
[loader-discussion]: https://github.com/orgs/nodejs/discussions/51661
[loader-overhead]: https://medium.com/@Quaxel/esm-loader-hooks-can-quietly-wreck-startup-b6fa96be8629
[libelectron]: https://github.com/ccifra/libelectron
[embed-doc]: https://nodejs.org/api/embedding.html

## Changelog

Expand Down