The only prerequisite is mise. It manages Node.js, Rust, Python, pnpm, and all other tooling automatically.
git clone https://github.com/vadimpiven/node_reqwest.git
cd node_reqwest
mise trust # approve the mise.toml config
mise install # install all tools defined in mise.toml
mise run test # auto-fix, build, type-check, run all tests--force bypasses mise task caching to ensure a clean run:
mise run --force testKeep all dependencies in the workspace root.
- Node.js: Use
pnpm-workspace.yamlto define dependencies and refer to them ascatalog:orworkspace:*inpackage.json. - Rust: Use
[workspace.dependencies]to define dependencies in rootCargo.tomland refer to them asdependency.workspace = truein packages.
- License Headers: Every new source file must start with:
SPDX-License-Identifier: Apache-2.0 OR MIT - Imports: Keep
useorimportstatements at the top of the module (not inside functions). Use thenode:prefix for Node.js built-in imports (import { readFile } from "node:fs/promises"). - Assertions: Always place the expected value first:
assert_eq!(expected, actual). - Type Declarations (TypeScript): Extract complex inline
types into named
typealiases. Prefertype Foo = (x: string) => voidover inlineconst fn: (x: string) => void = .... - Formatting: Run
mise run fixto auto-format all files. - Dependencies: Pin exact versions in
pnpm-workspace.yaml(no^or~) and reference them ascatalog:inpackage.json.
-
For new features or architectural changes, open an issue first.
-
Fork the repository and create a branch from
main. -
Run the full suite before submitting:
mise run --force test -
Open a pull request against
main. Describe what changed and why, and link to the related issue.
https://github.com/vadimpiven/node_reqwest/issues
Include reproduction steps, Node.js version (node -v), and
OS.
Contributions are licensed under Apache-2.0 OR MIT (Apache-2.0, MIT).