diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..ffdc7e84 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,49 @@ +--- +name: Bug Report +about: Report a bug in notebooklm-py +title: "" +labels: bug +assignees: "" +--- + +## Description + +A clear description of the bug. + +## Steps to Reproduce + +1. ... +2. ... +3. ... + +## Expected Behavior + +What you expected to happen. + +## Actual Behavior + +What actually happened. Include the full error message or traceback if applicable. + +```text +Paste error output here +``` + +## Environment + +- OS: (e.g., macOS 15, Ubuntu 24.04, Windows 11) +- Python version: (e.g., 3.12) +- notebooklm-py version: (run `notebooklm --version`) +- Install method: (pip, uv, pipx) + +## Debug Output + +If applicable, run the failing command with `-vv` for verbose logging and paste the relevant output: + +```bash +notebooklm -vv +``` + +## Checklist + +- [ ] I verified this bug exists on the latest version of notebooklm-py +- [ ] I searched existing issues and this is not a duplicate diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..3ba13e0c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..86d49226 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,19 @@ +--- +name: Feature Request +about: Suggest a new feature or enhancement +title: "" +labels: enhancement +assignees: "" +--- + +## Use Case + +Describe the problem or workflow this feature would address. + +## Proposed Solution + +How you'd like this to work (CLI usage, API example, etc.). + +## Alternatives Considered + +Any alternative approaches you've thought of. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..6f92a9fb --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,23 @@ +## Summary + +Brief description of the changes. + +## Related Issue + +Closes # + +## Changes + +- ... + +## Test Plan + +- [ ] I tested these changes locally +- [ ] Tests pass (`pytest`) +- [ ] Linting passes (`ruff check src/ tests/`) +- [ ] Formatting passes (`ruff format --check src/ tests/`) +- [ ] Type checking passes (`mypy src/notebooklm --ignore-missing-imports`) + +## Notes + +Any additional context, trade-offs, or design decisions. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 978775c9..84c3e761 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,6 +52,14 @@ pre-commit install 5. Ensure formatting: `ruff format --check src/ tests/` 6. Submit a PR with a description of changes +### Pull Request Quality Expectations + +- **Reference an issue**: PRs should link to an existing issue or clearly describe the problem being solved. If no issue exists, open one first for discussion. +- **AI-assisted contributions**: Welcome, but the submitter must review, understand, and test the code before submitting. PRs that appear to be unreviewed AI output will be closed. +- **No duplicates**: Check existing open PRs before submitting. Duplicate PRs for the same issue will be closed in favor of the first or best submission. +- **Accurate severity**: Claims of "critical" bugs must include evidence (stack trace, reproduction steps, affected users). Routine edge cases are not critical. +- **Tested locally**: All PRs must include evidence of local testing. The PR template includes a checklist for this. + --- ## Documentation Rules for AI Agents