Skip to content

Commit 894d0cb

Browse files
committed
docs: add SECURITY.md, CONTRIBUTING.md, and disable blank issues
- SECURITY.md with vulnerability reporting via GitHub advisories, scope covering LLM streaming, secret scanning, config security - CONTRIBUTING.md with CLA reference, dev setup, CI gate, REUSE - config.yml disables blank GitHub issues (forces templates)
1 parent 08d6d48 commit 894d0cb

File tree

3 files changed

+129
-0
lines changed

3 files changed

+129
-0
lines changed

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# SPDX-FileCopyrightText: 2026 Sephyi <me@sephy.io>
2+
#
3+
# SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
4+
5+
blank_issues_enabled: false

CONTRIBUTING.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<!--
2+
SPDX-FileCopyrightText: 2026 Sephyi <me@sephy.io>
3+
4+
SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
5+
-->
6+
7+
# Contributing to CommitBee
8+
9+
Thank you for your interest in contributing! This guide covers the process
10+
for submitting changes.
11+
12+
## Contributor License Agreement
13+
14+
All contributors must sign the [Contributor License Agreement](CLA.md)
15+
before their pull request can be merged.
16+
17+
**How it works:**
18+
19+
1. Open a pull request.
20+
2. The CLA bot will comment asking you to sign.
21+
3. Reply with the signature phrase indicated by the bot.
22+
4. The bot records your signature — you only need to sign once.
23+
24+
## Development Setup
25+
26+
```bash
27+
# Clone and build
28+
git clone https://github.com/sephyi/commitbee.git
29+
cd commitbee
30+
cargo build
31+
32+
# Run tests
33+
cargo test --all-targets
34+
35+
# Run with eval harness
36+
cargo test --all-targets --features eval
37+
38+
# Lint
39+
cargo fmt --check && cargo clippy --all-targets -- -D warnings
40+
```
41+
42+
**Requirements:** Rust 1.94+ (edition 2024), Ollama for manual testing.
43+
44+
## Before Submitting
45+
46+
1. Run the full CI gate: `cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo test --all-targets`
47+
2. Add tests for new functionality
48+
3. Follow existing code patterns and conventions (see [CLAUDE.md](CLAUDE.md) for details)
49+
4. Keep commits focused — one logical change per commit
50+
5. Use [Conventional Commits](https://www.conventionalcommits.org/) for commit messages
51+
52+
## Code Style
53+
54+
- `cargo fmt` for formatting (enforced by CI)
55+
- `cargo clippy -- -D warnings` for linting (zero warnings required)
56+
- See the [TypeScript style guide](https://ts.dev/style) principles adapted for Rust in CLAUDE.md
57+
58+
## REUSE Compliance
59+
60+
All files must have SPDX headers. Use:
61+
62+
```bash
63+
reuse annotate --copyright "Sephyi <me@sephy.io>" --license PolyForm-Noncommercial-1.0.0 --year 2026 <file>
64+
```
65+
66+
## Reporting Bugs
67+
68+
Use the [bug report template](../../issues/new?template=bug_report.yml).
69+
Include `commitbee --version`, `commitbee doctor` output, and
70+
`commitbee --dry-run --show-prompt` output when relevant.
71+
72+
## Requesting Features
73+
74+
Use the [feature request template](../../issues/new?template=feature_request.yml).
75+
76+
## Security Issues
77+
78+
See [SECURITY.md](SECURITY.md) — do not open public issues for vulnerabilities.

SECURITY.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<!--
2+
SPDX-FileCopyrightText: 2026 Sephyi <me@sephy.io>
3+
4+
SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
5+
-->
6+
7+
# Security Policy
8+
9+
## Reporting a Vulnerability
10+
11+
**Do not open a public issue.**
12+
13+
**Preferred:** Use GitHub's private vulnerability reporting — click
14+
**"Report a vulnerability"** on the
15+
[Security tab](../../security/advisories/new) of this repository. This
16+
creates a private advisory draft with a CVE workflow.
17+
18+
**Alternative:** Email [me@sephy.io](mailto:me@sephy.io) with details.
19+
20+
Include as much detail as possible:
21+
22+
- Description of the vulnerability
23+
- Steps to reproduce
24+
- Affected component (LLM providers, secret scanning, git operations, config)
25+
- Potential impact
26+
27+
You will receive an acknowledgment within 7 days. Fixes for confirmed
28+
vulnerabilities will be released as patch versions with a security advisory.
29+
30+
## Scope
31+
32+
Security issues in the following areas are in scope:
33+
34+
- **LLM streaming** — buffer exhaustion, response size limits, malformed server responses
35+
- **Secret scanning** — pattern bypass, false negatives on known key formats
36+
- **Config security** — project-level config overrides that could redirect API traffic or exfiltrate data
37+
- **Git operations** — command injection via file paths, argument injection
38+
- **Error messages** — credential or URL leakage in error output
39+
- **Prompt injection** — crafted diff content that manipulates LLM behavior to produce harmful output
40+
- **Dependency vulnerabilities** — reqwest, tokio, tree-sitter, serde
41+
42+
## Out of Scope
43+
44+
- LLM output quality (wrong commit type, generic subjects) — use the issue tracker
45+
- Feature requests — use the issue tracker
46+
- Vulnerabilities in Ollama, OpenAI, or Anthropic services themselves

0 commit comments

Comments
 (0)