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
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Bug Report
description: Report a bug or regression
title: "fix: "
labels: [bug]
body:
- type: markdown
attributes:
value: |
Use generic descriptors instead of partner, customer, or brand names in public issue titles, bodies, and screenshots unless a maintainer explicitly approves naming them.
- type: textarea
id: summary
attributes:
label: Summary
description: Describe the bug and its impact on upload flow, storage, or runtime behavior.
validations:
required: true
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Feature Request
description: Propose an enhancement
title: "feat: "
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
Use generic descriptors instead of partner, customer, or brand names in public issue titles, bodies, and screenshots unless a maintainer explicitly approves naming them.
- type: textarea
id: summary
attributes:
label: Summary
description: Describe the requested capability.
validations:
required: true
17 changes: 17 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Summary
- describe the change

## Motivation
- explain why this change is needed

## Related Issue
- link the issue or write `N/A`

## Testing
- describe local verification

## Upload / Runtime Notes
- include any upload-flow, storage, or media-hook notes when relevant, or write `None`

## Sensitive Information Check
- confirm that public titles, descriptions, branch names, and screenshots do not mention partner/customer/brand names or other sensitive external identities unless explicitly approved
12 changes: 12 additions & 0 deletions .github/workflows/semantic_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Semantic PR

on:
pull_request_target:
types: [opened, edited, synchronize, reopened]

permissions:
pull-requests: read

jobs:
semantic-pull-request:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/semantic_pull_request.yml@v1
31 changes: 31 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Repository Guidelines

## Project Structure & Module Organization
- Core Rust service code lives in `src/`.
- Python operational helpers live at the repo root and test coverage for them lives in `tests/`.
- Supporting docs live in `README.md` and `docs/`.
- Keep service runtime logic, resumable upload handling, and media follow-up hooks separated instead of growing broad shared files.

## Build, Test, and Development Commands
- `cargo test`: run the Rust test suite.
- `cargo check`: run a fast compile-only validation pass.
- `python3 -m unittest discover -s tests -p 'test_*.py'`: run the Python helper tests.
- `cargo run`: start the service locally.
- If runtime configuration or upload semantics change, update the relevant docs and examples in the same change.

## Coding Style & Naming Conventions
- Use idiomatic Rust with explicit error handling and focused modules.
- Keep Python operational helpers small and task-specific.
- Keep PRs tightly scoped. Do not mix unrelated cleanup, formatting churn, or speculative refactors into the same change.
- Temporary or transitional code must include `TODO(#issue):` with the tracking issue for removal.

## Pull Request Guardrails
- PR titles must use Conventional Commit format: `type(scope): summary` or `type: summary`.
- Set the correct PR title when opening the PR. Do not rely on fixing it afterward.
- If a PR title changes after opening, verify that the semantic PR title check reruns successfully.
- PR descriptions must include a short summary, motivation, linked issue, and manual test plan.
- Changes to upload flow, resumable sessions, GCS writes, or media follow-up hooks should include representative requests or rollout notes when helpful.

## Sensitive Information
- Do not commit secrets, private keys, private media, or sensitive operational details.
- Public issues, PRs, branch names, screenshots, and descriptions must not mention corporate partners, customers, brands, campaign names, or other sensitive external identities unless a maintainer explicitly approves it. Use generic descriptors instead.
Loading