CODEOWNERS, CONTRIBUTING.md, SECURITY.md, SETUP.md, and the .gitea issue/PR templates, rewritten for Outpost (they started as copies from an unrelated project's templates - stripped the cross-repo/ticket-ID conventions and the entirely different tech stack in SETUP.md, replaced with this repo's actual submodule/OutlineKit/Xcode workflow).
72 lines
2.0 KiB
Markdown
72 lines
2.0 KiB
Markdown
# Contributing to Outpost
|
|
|
|
Thank you for contributing. Please read this guide before opening issues or PRs.
|
|
|
|
Outpost is early alpha (`0.0.x`) — expect the codebase and conventions here to shift as Phase 1 (see [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)) settles. If something in this guide is stale, flag it.
|
|
|
|
---
|
|
|
|
## Branching
|
|
|
|
Branch from `main` using `type/short-description`:
|
|
|
|
```bash
|
|
git checkout -b feature/document-permissions
|
|
git checkout -b fix/sidebar-context-menu
|
|
```
|
|
|
|
---
|
|
|
|
## Commit Messages
|
|
|
|
Follow the Conventional Commits standard: `type(scope): message`.
|
|
|
|
| Type | Description |
|
|
| :--- | :--- |
|
|
| `feat` | New feature |
|
|
| `fix` | Bug fix |
|
|
| `docs` | Documentation |
|
|
| `style` | Formatting |
|
|
| `refactor` | Refactor |
|
|
| `perf` | Performance |
|
|
| `test` | Tests |
|
|
| `build` | Build system |
|
|
| `ci` | CI/CD config |
|
|
| `chore` | Maintenance |
|
|
|
|
**Examples:**
|
|
- `feat(collections): add document right-click context menu`
|
|
- `fix(reader): correct off-main AppKit calls in save action`
|
|
|
|
---
|
|
|
|
## Pull Requests
|
|
|
|
- Link the related issue in your PR description, if any
|
|
- Keep PRs focused — one feature or fix per PR
|
|
- Self-review before requesting review
|
|
- Run the tests that apply to what you touched (see below) and confirm the app still launches and behaves correctly in Xcode
|
|
|
|
### Testing
|
|
|
|
- **`OutlineKit`** (the REST client package) has real unit test coverage:
|
|
```bash
|
|
cd OutlineKit && swift test
|
|
```
|
|
- **The `Outpost` app target** has no meaningful CLI build path — `xcodebuild` from the command line is not a reliable way to verify it in this project's current setup. Build and run through Xcode, and manually verify the feature you changed (and anything obviously adjacent) before opening a PR.
|
|
|
|
---
|
|
|
|
## Labels
|
|
|
|
Issues and PRs use two label prefixes:
|
|
|
|
- `type:` — what kind of change/issue this is (`type: bug`, `type: docs`, `type: security`, ...)
|
|
- `priority:` — how urgent it is (used mainly for security reports)
|
|
|
|
---
|
|
|
|
## Questions
|
|
|
|
Open an issue — this is a single-repo project, there's no separate issue tracker to route to.
|