Skip to content

Commit 613002f

Browse files
author
Rafael Vieiras
committed
chore: rename project from quality-ratchet to boatman and update all references
1 parent b53e09a commit 613002f

14 files changed

Lines changed: 49 additions & 47 deletions

.github/workflows/quality-gate.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# quality-gate.yml — Generated by quality-ratchet
2-
# https://github.com/rafaelvieiras/quality-ratchet
1+
# quality-gate.yml — Generated by boatman
2+
# https://github.com/rafaelvieiras/boatman
33
#
44
# This workflow runs the quality gate on every push to main branches and PRs.
55
# It compares metrics against baseline.json and blocks merges on regressions.

README.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
# quality-ratchet
1+
![boatman banner](https://raw.githubusercontent.com/rafaelvieiras/boatman/main/docs/boatman_banner.jpg)
2+
3+
# boatman
24

35
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
46

5-
**quality-ratchet** is a zero-dependency CLI that installs a smart quality gate with a *ratchet mechanism* into any JavaScript or TypeScript project. It detects your stack automatically, presents the viable options, and generates the necessary files: a standalone gate script, a CI workflow, and npm scripts — all tailored to your project.
7+
**boatman** is a zero-dependency CLI that installs a smart quality gate with a *ratchet mechanism* into any JavaScript or TypeScript project. It detects your stack automatically, presents the viable options, and generates the necessary files: a standalone gate script, a CI workflow, and npm scripts — all tailored to your project.
68

79
---
810

@@ -22,25 +24,25 @@ The key insight: **you can never silently regress**. Every merge either holds th
2224
## Quick Start
2325

2426
```bash
25-
npx quality-ratchet init
27+
npx boatman init
2628
```
2729

2830
Or target a specific directory:
2931

3032
```bash
31-
npx quality-ratchet init --path ./my-project
33+
npx boatman init --path ./my-project
3234
```
3335

3436
Accept all defaults without interactive prompts:
3537

3638
```bash
37-
npx quality-ratchet --yes
39+
npx boatman --yes
3840
```
3941

4042
Preview what would be generated without writing any files:
4143

4244
```bash
43-
npx quality-ratchet --dry-run
45+
npx boatman --dry-run
4446
```
4547

4648
---
@@ -75,7 +77,7 @@ npx quality-ratchet --dry-run
7577

7678
## Generated Files
7779

78-
After running `quality-ratchet init`, the following files are created or updated in your project:
80+
After running `boatman init`, the following files are created or updated in your project:
7981

8082
```
8183
your-project/
@@ -114,7 +116,7 @@ npx eslint src --ext ts,tsx --format json | node scripts/count-lint.mjs
114116

115117
## Complexity Check
116118

117-
When the `complexity` check is enabled, quality-ratchet runs an ESLint scan with two specific rules applied on top of your existing config:
119+
When the `complexity` check is enabled, boatman runs an ESLint scan with two specific rules applied on top of your existing config:
118120

119121
| Rule | Default threshold | Metric tracked |
120122
|-------------------------|-------------------|------------------------------|
@@ -231,7 +233,7 @@ When running on GitHub Actions with the `pr-comment` check enabled, the gate pos
231233
> Run `npm run quality:baseline` to update the baseline with these improvements.
232234
233235
---
234-
*Generated by [quality-ratchet](https://github.com/rafaelvieiras/quality-ratchet)*
236+
*Generated by [boatman](https://github.com/rafaelvieiras/boatman)*
235237
```
236238

237239
When a regression is detected:
@@ -250,19 +252,19 @@ When a regression is detected:
250252

251253
## Zero Dependencies
252254

253-
`quality-ratchet` uses only Node.js built-ins (`fs`, `path`, `readline`, `child_process`). The **generated** gate script is also standalone — it does not import anything from `quality-ratchet` at runtime.
255+
`boatman` uses only Node.js built-ins (`fs`, `path`, `readline`, `child_process`). The **generated** gate script is also standalone — it does not import anything from `boatman` at runtime.
254256

255257
---
256258

257259
## Contributing
258260

259261
1. Fork the repository
260262
2. Create your feature branch: `git checkout -b feat/my-feature`
261-
3. Make your changes and ensure the CLI still works: `node bin/quality-ratchet.mjs --dry-run`
263+
3. Make your changes and ensure the CLI still works: `node bin/boatman.mjs --dry-run`
262264
4. Commit your changes: `git commit -m "feat: add my feature"`
263265
5. Open a pull request
264266

265-
Bug reports and feature requests are welcome via [GitHub Issues](https://github.com/rafaelvieiras/quality-ratchet/issues).
267+
Bug reports and feature requests are welcome via [GitHub Issues](https://github.com/rafaelvieiras/boatman/issues).
266268

267269
---
268270

baseline.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"generatedAt": "2026-05-10T18:12:57.603Z",
33
"commit": "5c12a55",
4-
"project": "quality-ratchet",
4+
"project": "boatman",
55
"metrics": {
66
"eslint_errors": 0,
77
"eslint_warnings": 0,
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/usr/bin/env node
22
/**
3-
* quality-ratchet — Smart quality gate installer with ratchet mechanism
4-
* https://github.com/rafaelvieiras/quality-ratchet
3+
* boatman — Smart quality gate installer with ratchet mechanism
4+
* https://github.com/rafaelvieiras/boatman
55
*
66
* Usage:
7-
* npx quality-ratchet [init] [--path <dir>] [--yes] [--dry-run]
8-
* npx quality-ratchet help
7+
* npx boatman [init] [--path <dir>] [--yes] [--dry-run]
8+
* npx boatman help
99
*/
1010

1111
import { run } from '../src/installer/index.mjs';

docs/boatman_banner.jpg

1.65 MB
Loading

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
2-
"name": "quality-ratchet",
2+
"name": "boatman",
33
"version": "1.0.0",
44
"description": "Smart quality gate installer with ratchet mechanism — prevents metric regressions in JavaScript/TypeScript projects",
55
"type": "module",
66
"bin": {
7-
"quality-ratchet": "bin/quality-ratchet.mjs"
7+
"boatman": "bin/boatman.mjs"
88
},
99
"files": [
1010
"bin/",
@@ -27,7 +27,7 @@
2727
},
2828
"repository": {
2929
"type": "git",
30-
"url": "https://github.com/rafaelvieiras/quality-ratchet"
30+
"url": "https://github.com/rafaelvieiras/boatman"
3131
},
3232
"devDependencies": {
3333
"@eslint/js": "^10.0.1",

scripts/count-lint.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env node
22
/**
3-
* count-lint.mjs — Generated by quality-ratchet
3+
* count-lint.mjs — Generated by boatman
44
* Reads ESLint JSON output from stdin and prints error/warning counts.
55
* Usage: npx eslint . --ext ts,tsx --format json | node scripts/count-lint.mjs
66
*/

scripts/quality-gate.mjs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env node
22
/**
3-
* quality-gate.mjs — Generated by quality-ratchet
4-
* Project: quality-ratchet
3+
* quality-gate.mjs — Generated by boatman
4+
* Project: boatman
55
*
66
* This script implements a ratchet-style quality gate:
77
* - Reads current metrics from report files
@@ -217,7 +217,7 @@ async function gatherMetrics() {
217217

218218
// ─── Generate baseline ───────────────────────────────────────────────────────
219219
async function generateBaseline() {
220-
log(`${c.bold}Generating quality baseline for quality-ratchet...${c.reset}\n`);
220+
log(`${c.bold}Generating quality baseline for boatman...${c.reset}\n`);
221221
mkdirSync(join(ROOT, 'reports'), { recursive: true });
222222

223223
log('Running ESLint...');
@@ -237,7 +237,7 @@ async function generateBaseline() {
237237
const baseline = {
238238
generatedAt: new Date().toISOString(),
239239
commit: (() => { try { return execSync('git rev-parse --short HEAD', { cwd: ROOT, stdio: 'pipe' }).toString().trim(); } catch { return 'unknown'; } })(),
240-
project: 'quality-ratchet',
240+
project: 'boatman',
241241
metrics,
242242
};
243243

@@ -324,7 +324,7 @@ function fmtDelta(cur, base, lowerIsBetter) {
324324
// ─── Local (terminal) output ──────────────────────────────────────────────────
325325
function printLocal(current, result) {
326326
const { regressions, improvements, unchanged } = result;
327-
log(`${c.bold}Quality Gate — quality-ratchet${c.reset}\n`);
327+
log(`${c.bold}Quality Gate — boatman${c.reset}\n`);
328328

329329
if (improvements.length > 0) {
330330
log(`${c.green}${c.bold}Improvements:${c.reset}`);
@@ -379,7 +379,7 @@ function printMarkdown(current, result) {
379379
const lines = [];
380380
lines.push(`## ${status}`);
381381
lines.push('');
382-
lines.push(`**Project:** \`quality-ratchet\``);
382+
lines.push(`**Project:** \`boatman\``);
383383
lines.push(`**Generated:** ${new Date().toISOString()}`);
384384
lines.push('');
385385

@@ -426,7 +426,7 @@ function printMarkdown(current, result) {
426426
}
427427

428428
lines.push(`---`);
429-
lines.push(`*Generated by [quality-ratchet](https://github.com/rafaelvieiras/quality-ratchet)*`);
429+
lines.push(`*Generated by [boatman](https://github.com/rafaelvieiras/boatman)*`);
430430

431431
const markdown = lines.join('\n');
432432
log(markdown);

src/generators/count-lint-script.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
export function generateCountLintScript() {
88
return `#!/usr/bin/env node
99
/**
10-
* count-lint.mjs — Generated by quality-ratchet
10+
* count-lint.mjs — Generated by boatman
1111
* Reads ESLint JSON output from stdin and prints error/warning counts.
1212
* Usage: npx eslint . --ext ts,tsx --format json | node scripts/count-lint.mjs
1313
*/

0 commit comments

Comments
 (0)