Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ body:
id: version
attributes:
label: BugBundle version
placeholder: 0.1.0
placeholder: 0.2.0
validations:
required: true
- type: dropdown
Expand All @@ -43,6 +43,11 @@ body:
- Other
validations:
required: true
- type: textarea
id: bundle
attributes:
label: Reviewed BugBundle (optional)
description: Drag a ZIP here only after running `bugbundle preview` and reviewing its complete contents. Never upload secrets or proprietary source.
- type: checkboxes
id: safety
attributes:
Expand Down
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Feature request
description: Propose a focused improvement to BugBundle
title: "[Feature]: "
labels: [enhancement, needs-triage]
body:
- type: textarea
id: problem
attributes:
label: Maintainer problem
description: What bug-report or reproduction workflow is difficult today?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed improvement
description: Describe the smallest change that would improve the workflow.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: How do you handle this today?
- type: checkboxes
id: constraints
attributes:
label: Project constraints
options:
- label: The deterministic offline core can remain usable without an AI model.
required: true
- label: I have not included secrets, proprietary source code, or an unreviewed bundle.
required: true
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ All notable changes follow [Keep a Changelog](https://keepachangelog.com/en/1.1.

## [Unreleased]

### Added

- a copy-paste GitHub adoption kit with a maintainer policy and reproducible bug-report Issue Form; and
- a public design-partner pilot and feature-request workflow.

## [0.2.0] - 2026-07-17

### Added
Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# BugBundle

[![CI](https://github.com/bugbundleZ/bugbundle/actions/workflows/ci.yml/badge.svg)](https://github.com/bugbundleZ/bugbundle/actions/workflows/ci.yml)
[![npm version](https://img.shields.io/npm/v/bugbundle.svg)](https://www.npmjs.com/package/bugbundle)
[![npm downloads](https://img.shields.io/npm/dm/bugbundle.svg)](https://www.npmjs.com/package/bugbundle)
[![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

BugBundle captures a failing command as a privacy-safe, executable bug report artifact.

It runs locally, requires no account or network connection, and never uploads the bundle. The project is in the experimental `0.x` series, so review release notes before upgrading.
Expand Down Expand Up @@ -29,6 +34,12 @@ bugbundle capture --json --output bugbundle.zip -- npm test
bugbundle verify --json bugbundle.zip
```

## Adopt it in your project

The [GitHub adoption kit](examples/github/README.md) contains a maintainer-owned policy and Issue Form that you can copy into a Node.js repository. Review the allowlist and replace the example test command before publishing the form.

We are recruiting five Node.js CLI, build-tool, or library maintainers for a hands-on design-partner pilot. [Introduce your repository in the pilot discussion](https://github.com/bugbundleZ/bugbundle/discussions/9).

## File allowlist

`bugbundle init` creates `.bugbundle.yml`. Only matching files can enter a bundle. Run `bugbundle preview` before capture to inspect the exact paths and sizes.
Expand Down
21 changes: 21 additions & 0 deletions examples/github/.bugbundle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copy this file to the repository root and review every include pattern.
schemaVersion: 1
files:
include:
- package.json
- package-lock.json
- pnpm-lock.yaml
- yarn.lock
- bun.lock
- tsconfig.json
- vite.config.{js,mjs,ts}
- vitest.config.{js,mjs,ts}
# Add the smallest safe source pattern required by your reproduction:
# - src/**/*.ts
exclude:
- node_modules/**
- .git/**
- dist/**
- coverage/**
maxFiles: 100
maxFileBytes: 2097152
13 changes: 13 additions & 0 deletions examples/github/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# GitHub adoption kit

This directory is a copy-paste starting point for maintainers who want reproducible, reviewable bug reports from Node.js projects.

1. Copy `.bugbundle.yml` to the repository root.
2. Review every `files.include` pattern. Add source files only when they are safe and necessary to reproduce failures.
3. Copy `bug-report.yml` to `.github/ISSUE_TEMPLATE/bug-report.yml`.
4. Replace the example `npm test` command with the narrowest stable reproduction command for the project.
5. Run the workflow yourself before asking contributors to use it.

Reporters should run `npx bugbundle@0.2.0 preview`, inspect the complete allowlist, capture the failure, and review the ZIP before attaching it. A BugBundle can still contain sensitive project information that no generic redactor can recognize.

`bugbundle verify` checks archive structure and hashes without executing code. Maintainers should use `verify --run` only for trusted bundles and preferably inside an isolated environment.
60 changes: 60 additions & 0 deletions examples/github/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Reproducible bug report
description: Report a failure with a reviewed BugBundle
title: "[Bug]: "
labels: [bug, needs-triage]
body:
- type: markdown
attributes:
value: |
Thanks for helping us reproduce the problem.

Run these commands from a safe reproduction project. Replace `npm test` if the maintainer documents another command.

```bash
npx bugbundle@0.2.0 preview
npx bugbundle@0.2.0 capture --output bugbundle.zip -- npm test
npx bugbundle@0.2.0 inspect bugbundle.zip
```

Review the complete ZIP before uploading it. Never attach secrets or proprietary source code.
- type: textarea
id: description
attributes:
label: Description
description: What happened, and what did you expect?
validations:
required: true
- type: textarea
id: bundle
attributes:
label: Reviewed BugBundle
description: Drag `bugbundle.zip` here after reviewing its complete contents.
validations:
required: true
- type: input
id: version
attributes:
label: BugBundle version
placeholder: 0.2.0
validations:
required: true
- type: dropdown
id: operating-system
attributes:
label: Operating system
options:
- Linux
- macOS
- Windows
- Other
validations:
required: true
- type: checkboxes
id: safety
attributes:
label: Safety confirmation
options:
- label: I ran `bugbundle preview` and reviewed every file in the bundle.
required: true
- label: The bundle contains no secrets or proprietary source code.
required: true