Skip to content

Commit 139e9bf

Browse files
committed
chore: add governance files (SECURITY, CHANGELOG, CODEOWNERS, PR template)
Closes governance gaps surfaced by the automated-assessment run: - SECURITY.md: private vulnerability reporting (advisories + email) - CHANGELOG.md: Keep-a-Changelog format with an Unreleased bucket - .github/CODEOWNERS: default reviewer team per area - .github/PULL_REQUEST_TEMPLATE.md: summary/test-plan/checklist Covers: GH-3, GH-5, GW-05, GW-06, ER-44. Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
1 parent 62e26fb commit 139e9bf

File tree

4 files changed

+110
-0
lines changed

4 files changed

+110
-0
lines changed

.github/CODEOWNERS

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# See https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-security/customizing-your-repository/about-code-owners
2+
# Order matters — the last matching rule wins.
3+
4+
# Default reviewers for anything not matched below.
5+
* @netresearch/coding-agents
6+
7+
# Python package, audit, detection.
8+
/cli_audit/ @netresearch/coding-agents
9+
/audit.py @netresearch/coding-agents
10+
11+
# Installer and upgrade orchestration.
12+
/scripts/ @netresearch/coding-agents
13+
14+
# CI, release, security automation.
15+
/.github/ @netresearch/coding-agents

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<!--
2+
Thanks for the contribution! Keep this template terse — reviewers read it.
3+
-->
4+
5+
## Summary
6+
7+
<!-- 1–3 bullets describing the change and why it's needed. -->
8+
9+
## Linked issues / PRs
10+
11+
<!-- Closes #123, Relates to #456 -->
12+
13+
## Type of change
14+
15+
- [ ] Bug fix (`fix:`)
16+
- [ ] New feature (`feat:`)
17+
- [ ] Refactor / internal change (`refactor:`)
18+
- [ ] Docs only (`docs:`)
19+
- [ ] Chore / CI / deps (`chore:`)
20+
- [ ] Breaking change (describe migration below)
21+
22+
## Test plan
23+
24+
<!-- Commands you ran and their result. Prefer automated over manual. -->
25+
26+
- [ ] `uv run pytest`
27+
- [ ] `uv run python -m flake8 cli_audit tests`
28+
- [ ] `./scripts/test_smoke.sh`
29+
- [ ] Manual scenario: …
30+
31+
## Checklist
32+
33+
- [ ] Conventional Commits (`type(scope): description`)
34+
- [ ] Commits signed (`git commit -S --signoff`)
35+
- [ ] `CHANGELOG.md` updated for user-visible changes
36+
- [ ] Relevant `AGENTS.md` files updated if structure / commands changed
37+
- [ ] No secrets, credentials, or PII committed

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
5+
The format is loosely based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Governance files: `SECURITY.md`, `CODEOWNERS`, PR template, `CHANGELOG.md`.
12+
- `.github/workflows/codeql.yml`, `scorecard.yml`, `dependency-review.yml` for supply-chain scanning.
13+
- `.pre-commit-config.yaml` for local hook enforcement.
14+
- README badges (CI, Codecov, License).
15+
- AGENTS.md structural sections (Commands, Setup, Testing, Architecture, Development).
16+
- Per-cycle `auto_update` storage for multi-version tools (`python@3.13` vs `python@3.14`).
17+
- Persistent endoflife.date cache at `~/.cache/cli-audit/endoflife.json` with fallback on HTTP failure.
18+
- Binary-probe fallback in `guide.sh` when the post-install snapshot refresh is stale.
19+
20+
### Fixed
21+
- `cmd_update_local` in MERGE mode now refreshes multi-version cycle entries (`python@3.14`, …) instead of only the base-tool entry. Resolved false-negative "Upgrade did not succeed" messages after successful uv installs.
22+
23+
### Changed
24+
- Upgraded 23 locked Python dev-dependencies to latest compatible versions (bandit 1.9.4, mypy 1.20.1, isort 8.0.1, rich 15.0, coverage 7.13.5, …).
25+
26+
## Prior history
27+
28+
See [git log](https://github.com/netresearch/coding_agent_cli_toolset/commits/main) for commits prior to this changelog. Tagged releases: [Releases page](https://github.com/netresearch/coding_agent_cli_toolset/releases).

SECURITY.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Security Policy
2+
3+
## Reporting a Vulnerability
4+
5+
Please **do not** open a public issue for security-relevant findings.
6+
7+
Use one of the following instead:
8+
9+
- **Preferred:** [Privately report a vulnerability](https://github.com/netresearch/coding_agent_cli_toolset/security/advisories/new) via GitHub.
10+
- Or email `security@netresearch.de` with details and steps to reproduce.
11+
12+
You should receive an acknowledgement within 3 working days. We will confirm the
13+
issue, agree on disclosure timelines with you, and publish a fix + GitHub
14+
Security Advisory once the fix is available.
15+
16+
## Scope
17+
18+
In scope: code in this repository, published releases of `cli-audit`, the
19+
installation / audit / upgrade scripts under `scripts/`, and anything that
20+
would let an attacker execute code on or exfiltrate data from a machine that
21+
runs `make upgrade` / `audit.py` against trusted upstream sources.
22+
23+
Out of scope: vulnerabilities in third-party tools installed via the `install_*`
24+
scripts (report those upstream), bugs that are only reachable by an attacker
25+
with shell-level access to the machine running this toolkit.
26+
27+
## Supported Versions
28+
29+
Security fixes target the latest tagged release on the `main` branch. Older
30+
tags do not receive backports.

0 commit comments

Comments
 (0)