contributing

Guides branch, commit, CI gate, and PR workflows for the KnowledgeVault repository.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/ZaxbyHub/ragappv3 --skill contributing-zaxbyhub
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: contributing
Source: https://github.com/ZaxbyHub/ragappv3/tree/main/.opencode/contributing
Command: npx skills add https://github.com/ZaxbyHub/ragappv3 --skill contributing-zaxbyhub

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Contributors to the KnowledgeVault (RAGAPPv3) repository often fail CI or write inconsistent commits because they do not know the repo's exact conventions. This Skill provides the actionable checklist for branching, committing, running the four CI gates locally, and opening PRs so contributions pass review on the first attempt. ## Core Features & Use Cases - Branch and Commit Conventions: Enforces branching from latest origin/master with prefixed slugs and Conventional Commits format (type(scope): lowercase description). - Local CI Gate Reproduction: Lists exact commands for the four CI jobs — Backend (ruff, pytest subset on Python 3.11), Frontend (typecheck, lint, vitest, build), Quality contracts (check_config_contract.py, check_pr_scope_drift.py, check_sast_baseline.py), and SAST (bandit baseline diff). - PR Workflow Guidance: Directs draft PRs against master with Summary and Test plan sections, deferring publication mechanics to the commit-pr skill. - Use Case: Before pushing a bug fix, an agent loads this Skill to create a fix/ branch, run ruff and the targeted pytest subset, verify the frontend lint zero-warning gate, and open a draft PR with the required body sections. ## Quick Start Load the contributing skill and walk me through creating a branch, running all CI gates locally, and opening a draft PR for my fix to the tags endpoint.

Frequently Asked Questions about contributing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run the CI checks locally before opening a PR?▼

Run ruff check and the targeted pytest subset from backend/, npm run typecheck, lint, test, and build from frontend/, plus the three check_*.py contract scripts and run_bandit.py from the repo root. These mirror the four CI jobs exactly.

What commit message format does this repository use?▼

The repo uses Conventional Commits: type(scope): lowercase description with no trailing period. Allowed types are feat, fix, test, docs, refactor, and chore. There is no CI linter enforcing it, but reviewers expect the format.

Why do pytest tests fail with 'no current event loop' locally?▼

This happens when running tests on a Python interpreter newer than 3.11, which CI pins. It is a local-interpreter artifact, not a regression. Use a Python 3.11 virtual environment to match CI behavior.

Does this repo use release-please, biome, or bun?▼

No. The repo uses eslint for linting, pytest for backend and Vitest for frontend testing, and has no release-please, changelog automation, bun, dist-check, or per-OS test matrix. CI runs on Ubuntu only.

How do I handle new bandit security findings in my PR?▼

The SAST job fails only on new findings versus backend/security/bandit-baseline.json. To intentionally accept a pre-existing finding, regenerate the baseline with run_bandit.py --update-baseline and justify the suppressed finding IDs in the PR.