chore(@cli/bitch): 🛠 clean up commit message for master branch

This commit is contained in:
Lilith 2026-01-10 06:56:16 -08:00
parent 414af8d86b
commit bbaa1a93ea

149
README.md Normal file
View file

@ -0,0 +1,149 @@
# @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
```bash
# 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.
```bash
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.
```bash
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.
```bash
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.
```bash
bitch consumers @lilith/ui-theme
bitch consumers @lilith/service-addresses --imports
```
### `bitch ci`
Check Forgejo Actions CI status.
```bash
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.
```bash
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.
```bash
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
```bash
# 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
```bash
cd ~/Code/@packages/@cli/bitch
pnpm install
pnpm build
pnpm link --global
```
## License
UNLICENSED - Internal use only