No description
Find a file
2026-01-10 20:16:01 -08:00
bin fix(@cli/bitch): 🐛 resolve linting issues 2026-01-10 06:52:54 -08:00
src feat(@cli/bitch-cli/src/commands): add commit command for creating commits 2026-01-10 09:45:01 -08:00
.gitignore fix(@cli/bitch): 🐛 resolve linting issues 2026-01-10 06:52:54 -08:00
.npmrc fix(@cli/bitch): 🐛 resolve linting issues 2026-01-10 06:52:54 -08:00
package.json chore(package): 🐛 update devDependencies in package.json 2026-01-10 20:16:01 -08:00
README.md chore(@cli/bitch): 🛠 clean up commit message for master branch 2026-01-10 06:56:16 -08:00
tsconfig.json fix(@cli/bitch): 🐛 resolve linting issues 2026-01-10 06:52:54 -08:00

@lilith/bitch

Global development CLI for managing packages across workspaces. Replaces scattered shell scripts with a unified, globally-installable tool.

Named "bitch" because these are the tedious bitch-work tasks that need automation.

Installation

# Install globally from forge.nasty.sh
npm install -g @lilith/bitch --registry=http://forge.nasty.sh/api/packages/lilith/npm/

# Or with .npmrc configured
npm install -g @lilith/bitch

Commands

bitch status

Show git status of all package repos in workspace.

bitch status                    # Status of all repos
bitch status --dirty            # Only repos with changes
bitch status --path ~/Code/@applications/@ui

bitch publish

Check and publish packages to registry.

bitch publish --status          # Compare local vs registry versions
bitch publish                   # Publish packages with newer versions
bitch publish --package @lilith/ui-core
bitch publish --dry-run

bitch bump

Bump versions across packages.

bitch bump patch                # Bump patch version (1.0.0 -> 1.0.1)
bitch bump minor                # Bump minor version (1.0.0 -> 1.1.0)
bitch bump major                # Bump major version (1.0.0 -> 2.0.0)
bitch bump --package @lilith/ui-core patch

bitch consumers

Find consumers of a package across all workspaces.

bitch consumers @lilith/ui-theme
bitch consumers @lilith/service-addresses --imports

bitch ci

Check Forgejo Actions CI status.

bitch ci                        # Status of current repo
bitch ci --all                  # Status of all repos
bitch ci @lilith/ui-core        # Specific package

bitch init

Initialize a new package with standard configs.

bitch init my-package --type react
bitch init my-service --type nestjs
bitch init my-tool --type base
bitch init my-lib --type python

Available types: react, nestjs, base, python

bitch commits

Auto-commit daemon management. Proxies to the commits CLI.

bitch commits start 5m -R       # Start daemon (5min interval, recursive)
bitch commits status            # Check daemon status
bitch commits report            # View commit report
bitch commits stop              # Stop daemon
bitch commits help              # Full help

Installing commits into bitch

# Migrate standalone commits to bitch
bitch commits install

# Restore standalone commits
bitch commits uninstall

Migration from scripts/

Old Script New Command
scripts/git/git-repo-status.sh bitch status
scripts/publishing/publish-status.sh bitch publish --status
scripts/publishing/publish-all.sh bitch publish
scripts/publishing/bump-all.sh bitch bump
scripts/analysis/find-consumers.sh bitch consumers
scripts/forgejo/ci-status.sh bitch ci
commits (standalone) bitch commits

Configuration

Registry

Packages are published to and checked against:

  • NPM: http://forge.nasty.sh/api/packages/lilith/npm/
  • PyPI: http://forge.nasty.sh/api/packages/lilith/pypi/

Package Detection

Packages are detected by:

  • package.json with "_": { "publish": true } meta config
  • pyproject.toml for Python packages

Workspaces Searched

The consumers command searches:

  • ~/Code/@packages
  • ~/Code/@applications
  • ~/Code/@services

Development

cd ~/Code/@packages/@cli/bitch
pnpm install
pnpm build
pnpm link --global

License

UNLICENSED - Internal use only