bugproof 0.2.12 → 0.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +22 -101
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -117,7 +117,7 @@ Examples:
117
117
  bugproof capture -- npm test
118
118
  bugproof capture -n auth-crash -d "Login fails on expired session" -- node server.js
119
119
  bugproof capture --include-untracked -- python app.py
120
- bugproof capture -e "*.log" -e "*.tmp" -- go test ./...
120
+ bugproof capture -x "*.log" -x "*.tmp" -- go test ./...
121
121
  bugproof capture --timeout 600000 -- java -cp . Main
122
122
  bugproof capture --json -- node script.js
123
123
  ```
@@ -128,7 +128,7 @@ Options:
128
128
  - `--timeout <ms>` Command timeout in milliseconds (default: `300000`)
129
129
  - `-n, --name <name>` Human-readable artifact name
130
130
  - `-d, --description <desc>` Bug description
131
- - `-e, --exclude <pattern>` Exclude files matching pattern (repeatable)
131
+ - `-x, --exclude <pattern>` Exclude files matching pattern (repeatable)
132
132
  - `--json` Structured JSON output
133
133
 
134
134
  ### `bugproof replay <artifact>`
@@ -359,31 +359,12 @@ Notes:
359
359
  - Exit codes may differ by OS for signals/crashes.
360
360
  - Fingerprint/error-pattern matching is used for reproduction verdict.
361
361
 
362
- ## Legacy Notes (Kept from Old README)
363
-
364
- These project principles remain unchanged:
365
- - Security-first default behavior
366
- - Language-agnostic command capture
367
- - Minimal runtime dependencies
368
- - Reproducibility over screenshots/log snippets
369
-
370
- ## Roadmap
371
-
372
- - [x] v0.1: CLI core (capture/replay/inspect/diff)
373
- - [x] v0.1: Cross-platform replay support
374
- - [x] v0.1: Secret redaction and sandbox layers
375
- - [x] v0.2: Watch command (auto-capture on failure)
376
- - [x] v0.2: Project config (`.bugproofrc`)
377
- - [x] v0.2: Dependency detection (Node/Python/Ruby/Go/Rust)
378
- - [x] v0.2: Smart hints on replay failure
379
- - [x] v0.2: Share via GitHub Gist
380
- - [x] v0.2.1: Smart source strategy (git-full/git-patch/stacktrace/minimal)
381
- - [x] v0.2.1: BugBox Container (lightweight Docker-like isolation)
382
- - [x] v0.2.1: Environment snapshot + mismatch warnings
383
- - [ ] v0.3: Web UI for artifact inspection
384
- - [ ] v0.3: Artifact signing and verification
385
- - [ ] v0.4: GitHub issue integration and richer diff visualization
386
- - [ ] v0.4: CI/CD plugins (GitHub Actions, GitLab CI)
362
+ ## Design Principles
363
+
364
+ - Security-first default behavior (secrets redacted by default)
365
+ - Language-agnostic command capture (works with any CLI tool)
366
+ - Minimal runtime dependencies (Node.js + Git only)
367
+ - Reproducibility over screenshots or log snippets
387
368
 
388
369
  ## Development
389
370
 
@@ -393,87 +374,27 @@ npm run build
393
374
  npm test
394
375
  ```
395
376
 
396
- ## Developer / Engineer Overview
397
-
398
- This section helps maintainers and integrators understand the architecture, testing, and shipping process for BugProof.
399
-
400
- - Architecture: modular pipeline (Capture → Packager → Replay → Verdict). Key modules:
401
- - `src/capture/*` — execution capture and environment snapshot
402
- - `src/capture/language-support.ts` — multi-language detection and language-context.json generation
403
- - `src/replay/*` — artifact restore, sandboxing, and verdict generation
404
- - `src/replay/verdict.ts` — fingerprint and normalized-pattern matching logic
405
-
406
- - Testing: unit tests (Jest) live under `tests/`; integration tests under `tests/integration/`.
407
- - Run `npm test` for full suite. Use `npm run test:e2e` for cross-platform orchestrator (requires SSH hosts configured).
408
-
409
- - Cross-platform QA: use `scripts/e2e-matrix.js` to run Windows↔Linux scenarios. Configure SSH in `scripts/e2e-matrix.js` or provide `E2E_TARGET` env.
410
-
411
- - Shipping checklist (short):
412
- 1. Ensure `npm run build` passes and `npm test` is green locally on both Windows and Linux runners.
413
- 2. Update `CHANGELOG.md` and bump `package.json` version.
414
- 3. Tag a release `git tag -a vX.Y.Z -m "Release vX.Y.Z"` and push tags.
415
- 4. CI will run `prepublishOnly` and publish on tag events.
416
-
417
- If you are integrating BugProof into a CI pipeline, prefer running `bugproof inspect` in a hermetic container to validate artifact contents before attempting replay.
418
-
419
- ## CI/CD Pipeline
420
-
421
- BugProof uses an automated, production-grade GitHub Actions pipeline for testing and publishing.
422
-
423
- ### Pipeline Overview
424
-
425
- **Every push to `main` automatically:**
426
- 1. ✅ Runs tests on 6 combinations (Ubuntu/Windows/macOS × Node 18+20)
427
- 2. ✅ Runs security audit (npm audit)
428
- 3. ✅ Validates installation on all platforms
429
- 4. ✅ Auto-bumps patch version
430
- 5. ✅ Publishes to npm registry
431
- 6. ✅ Creates GitHub Release
377
+ ## Architecture
432
378
 
433
- **Result:** Zero manual steps for releases after initial NPM_TOKEN setup.
379
+ BugProof follows a modular pipeline: **Capture Package Replay → Verdict**.
434
380
 
435
- ### Setup
381
+ | Module | Purpose |
382
+ |--------|---------|
383
+ | `src/capture/` | Execution capture, environment snapshot, source strategy |
384
+ | `src/replay/` | Artifact restore, sandboxing, verdict generation |
385
+ | `src/replay/verdict.ts` | Fingerprint and normalized-pattern matching |
386
+ | `src/capture/language-support.ts` | Multi-language detection |
436
387
 
437
- **One-time configuration (5 minutes):**
388
+ Tests use Jest and live under `tests/`. Run `npm test` for the full suite. Cross-platform QA uses `scripts/e2e-matrix.js` with SSH-configured Linux hosts.
438
389
 
439
- 1. Generate npm automation token: https://www.npmjs.com/settings/~/tokens
440
- 2. Add to GitHub: Settings → Secrets → `NPM_TOKEN` → Save
441
-
442
- See [CI_CD_QUICKSTART.md](./CI_CD_QUICKSTART.md) for step-by-step instructions.
443
-
444
- ### Test Matrix
445
-
446
- | OS | Node 18 | Node 20 | Status |
447
- |-----------|---------|---------|--------|
448
- | Ubuntu | ✅ | ✅ | 2 runs |
449
- | Windows | ✅ | ✅ | 2 runs |
450
- | macOS | ✅ | ✅ | 2 runs |
451
-
452
- **Per run:** 276 Jest tests + ESLint checks
453
-
454
- ### Documentation
455
-
456
- - **Quick setup:** [CI_CD_QUICKSTART.md](./CI_CD_QUICKSTART.md) (5 min)
457
- - **Full guide:** [CI_CD_GUIDE.md](./CI_CD_GUIDE.md) (detailed reference)
458
- - **Implementation:** [CI_CD_IMPLEMENTATION_SUMMARY.md](./CI_CD_IMPLEMENTATION_SUMMARY.md)
459
- - **Workflow file:** [`.github/workflows/release.yml`](.github/workflows/release.yml)
460
-
461
- ### Local Validation
462
-
463
- Before pushing, run the CI health check locally:
464
-
465
- ```bash
466
- node scripts/ci-health-check.js
467
- ```
390
+ ## CI/CD
468
391
 
469
- This validates: build, tests, coverage, linting, security, and CLI.
392
+ Every push to `main` triggers automated testing across Ubuntu, Windows, and macOS via GitHub Actions. On success, the pipeline auto-bumps the version, publishes to npm, and creates a GitHub Release. The workflow file is at `.github/workflows/ci.yml`.
470
393
 
471
- ### Releases
394
+ ### One-time setup
472
395
 
473
- - `push` and `pull_request` CI runs tests only for core paths such as `src/`, `scripts/`, `tests/`, `package.json`, `tsconfig.json`, and `assets/`.
474
- - Docs-only edits like `README.md` do not trigger the full CI pipeline.
475
- - Publishing to npmjs.com runs automatically on `main` push (after all tests pass).
476
- - GitHub Releases are created automatically with generated release notes.
396
+ 1. Generate an npm automation token at https://www.npmjs.com/settings/~/tokens
397
+ 2. Add it as `NPM_TOKEN` in GitHub: Settings Secrets and variables → Actions
477
398
 
478
399
  ## License
479
400
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bugproof",
3
- "version": "0.2.12",
3
+ "version": "0.2.13",
4
4
  "description": "Executable bug artifacts — portable, reproducible bug reports",
5
5
  "main": "dist/cli.js",
6
6
  "type": "module",