@yourfam/yf-wip
v0.1.0
Published
WIP git commit from file counts — no AI. Bare yf-wip is add -A then commit. --staged commits the index only.
Readme
yf-wip
WIP git commit from file counts — no AI. Bare yf-wip is add -A then commit. --staged commits the index only. Node 20+.
The message is counts and paths grouped by extension. It is not yf-commit (no LLM, no conventional-commits). Does not run your test suite. No GitHub token.
- Source / README: https://github.com/YourFam/yf-wip
- npm: https://www.npmjs.com/package/@yourfam/yf-wip
- Unscoped alias: https://www.npmjs.com/package/yf-wip
- Issues: https://github.com/YourFam/yf-wip/issues
Install
Node 20+.
npm install -g @yourfam/yf-wipThen from any git repo:
yf-wipThe command is yf-wip.
Alternate modes of install
-g = on your machine (global).
-D = in this project (devDependency).
| | npm install -g @yourfam/yf-wip | npm install -D @yourfam/yf-wip |
|---|---|---|
| Where it goes | Global npm prefix (your user/system) | node_modules/ + package.json of the current repo |
| Command | yf-wip from any folder | npx yf-wip (or a script) in that repo |
| Other repos | Works | Not installed there |
| Git | Not committed | Listed in package.json; teammates get it with npm install |
| Typical use | A CLI you want everywhere | A tool this project uses in scripts/CI |
For yf-wip as a daily command, use -g. Use -D only if this one repo should own the tool.
With -D, the binary lives in that repo’s node_modules/.bin/. Your shell PATH does not include that, so plain yf-wip will not work. From that repo:
npx yf-wipNo install (npm fetches the published package):
npx @yourfam/yf-wip
npx yf-wipnpx yf-wip is the unscoped alias of @yourfam/yf-wip (same CLI, same version). After -g, the command is yf-wip.
If npm rejected unscoped yf-wip at publish time, the alias is yf-git-wip instead (npx yf-git-wip).
Main uses
Exactly one mode per run. Bare yf-wip is commit all. --staged is index only.
yf-wip
git add -A, then commit the index with a count-only WIP message.
Use this when you want every change in the work tree (tracked, untracked, deletions) in one WIP commit.
npx yf-wipSubject looks like 🚧 3 files · +1 new · ~2 mod. Body lists Modified, then New, then Deleted, grouped by extension.
If the index is still empty after add -A, prints Warning: Nothing to commit. on stderr and exits 1.
yf-wip --staged
Commit the current index only. Does not git add. Unstaged and untracked files stay dirty.
Use this when you already staged the paths you want.
npx yf-wip --staged-s is the same as --staged. If the index is empty, prints Warning: No staged changes to commit. on stderr and exits 1. It will not stage leftover dirty files to “help.”
Other arguments
| Argument | What it does |
|---|---|
| --print-alias | Print two git config --global lines that map git ca / git cs to this CLI. Exit 0. Does not write ~/.gitconfig. Does not commit. |
| --help, -h | Usage. No git. |
| --version, -V | Package version. No git. |
npx yf-wip --print-aliasExample output (paste yourself if you want those aliases; this command does not install them):
git config --global alias.ca "!npx --yes @yourfam/yf-wip"
git config --global alias.cs "!npx --yes @yourfam/yf-wip --staged"Unknown flags abort with exit 1 and do not run git. There is no --message, --amend, or --no-verify in v1. Commit hooks still run.
Development
This is the GitHub repo, not a second package. Docs and source live here; npx / npm install still install whatever version is published on npm.
git clone https://github.com/YourFam/yf-wip.git
cd yf-wip
npm test
node ./bin/yf-wip.js --helpMaintainer: YourFam (kamal-yourfam on npm). MIT.
Publish the unscoped alias (maintainers)
The GitHub repo publishes two npm packages at the same version:
npm publish --access publicfrom the repo root →@yourfam/yf-wip- Then from
alias/, with matchingversionanddependencies["@yourfam/yf-wip"]:
cd alias
npm publish --access publicThat second package is named yf-wip and only shims the scoped CLI so npx yf-wip cannot be squatted. If npm returns 403 similar to an existing package, publish unscoped yf-git-wip instead.
License
MIT © 2026 YourFam. See LICENSE.
