fynjs is the monorepo for fyn and fynpo — a node.js package manager and a zero setup monorepo manager — plus the ~25 small packages they are built from.
- fyn — the node.js package manager. Installs from npm, and links local packages in a monorepo without symlink hacks.
- fynpo — zero setup monorepo/colorepo manager: bootstrap, run scripts in topological order, version, changelog, and publish.
- docs
See this express monorepo PoC, which puts express and all its dependencies in one monorepo, sources cloned straight from their own repos.
Everything lives in packages/ and is published independently.
| Tools | fyn, fynpo, @fynpo/base, fynpo-cli, @fynjs/run |
| CLI | @fynjs/cli-args, chalker, visual-logger, visual-exec, xsh, unwrap-npm-cmd |
| Async | aveazul, xaa, item-queue, xflight |
| Packaging | publish-util, pkg-preper, check-pkg-new-version, check-pkg-new-version-engine |
| Misc | @jchip/error, filter-scan-dir, optional-import, run-verify, string-array, xenv-config |
Requires node.js >=22.12.0 and fyn + fynpo installed globally.
npm install -g fyn fynpo # once
fyn bootstrap # clone forked deps, install, bootstrap all packages
fyn test # run every package's tests
fyn ci:check # what CI runs: typecheck + testsbootstrap clones two patched forks into _w/ over ssh. Without a github ssh key, clone them
with https first:
mkdir -p _w && cd _w
git clone https://github.com/jchip/npm-packlist.git
git clone https://github.com/jchip/ignore-walk.gitDesign and planning documents are in notes/.
Copyright (c) 2022-2026 Joel Chen
Licensed under the Apache License, Version 2.0.