|
| 1 | +# Contributing to SkillHub |
| 2 | + |
| 3 | +## Scope |
| 4 | + |
| 5 | +SkillHub is a self-hosted registry for agent skills. Contributions should |
| 6 | +preserve the existing architecture and product direction documented in |
| 7 | +[`docs/`](./docs). |
| 8 | + |
| 9 | +## Before You Start |
| 10 | + |
| 11 | +- Read [`README.md`](./README.md) for local development commands. |
| 12 | +- Check the relevant design docs before changing behavior. |
| 13 | +- Open an issue for non-trivial changes before sending a large pull request. |
| 14 | + |
| 15 | +## Development Setup |
| 16 | + |
| 17 | +Prerequisites: |
| 18 | + |
| 19 | +- Docker and Docker Compose |
| 20 | +- Java 21 |
| 21 | +- Node.js and `pnpm` |
| 22 | + |
| 23 | +Start the local stack: |
| 24 | + |
| 25 | +```bash |
| 26 | +make dev-all |
| 27 | +``` |
| 28 | + |
| 29 | +Useful commands: |
| 30 | + |
| 31 | +```bash |
| 32 | +make test |
| 33 | +make typecheck-web |
| 34 | +make build-web |
| 35 | +./scripts/smoke-test.sh |
| 36 | +``` |
| 37 | + |
| 38 | +Stop the stack: |
| 39 | + |
| 40 | +```bash |
| 41 | +make dev-all-down |
| 42 | +``` |
| 43 | + |
| 44 | +## Change Guidelines |
| 45 | + |
| 46 | +- Keep changes focused. Avoid mixing refactors with behavior changes. |
| 47 | +- Follow existing module boundaries across `server/`, `web/`, and `docs/`. |
| 48 | +- Add or update tests when behavior changes. |
| 49 | +- Update docs when APIs, auth flows, deployment, or operator workflows change. |
| 50 | +- Prefer backward-compatible changes unless the issue explicitly allows a break. |
| 51 | + |
| 52 | +## Pull Requests |
| 53 | + |
| 54 | +Before opening a pull request, make sure: |
| 55 | + |
| 56 | +- The branch is rebased or merged cleanly from the target branch. |
| 57 | +- Relevant backend tests pass. |
| 58 | +- Frontend typecheck/build passes when frontend files changed. |
| 59 | +- Smoke coverage is updated when operator-facing workflows change. |
| 60 | +- The pull request description explains motivation, scope, and rollout impact. |
| 61 | + |
| 62 | +## Commit Style |
| 63 | + |
| 64 | +Conventional-style subjects are preferred, for example: |
| 65 | + |
| 66 | +- `feat(auth): add local account login` |
| 67 | +- `fix(ops): align smoke test with csrf flow` |
| 68 | +- `docs(deploy): clarify runtime image usage` |
| 69 | + |
| 70 | +## Reporting Security Issues |
| 71 | + |
| 72 | +Do not open public issues for suspected security vulnerabilities. |
| 73 | + |
| 74 | +Report them privately to the maintainers through your internal security process |
| 75 | +or a private maintainer contact channel. |
0 commit comments