App Store link: https://apps.apple.com/us/app/outpost-for-outline/id6802736230 README's TestFlight badge replaced with Apple's official "Download on the Mac App Store" badge (docs/assets/mac-app-store-badge.svg, black lockup, from Apple's official marketing badge kit), linked to the real App Store listing. "Early alpha" language dropped from README, CONTRIBUTING.md, SECURITY.md, and both Gitea issue templates - these are now "0.1.x"/"early" rather than "0.0.x"/"alpha", matching the actual release. OutpostVersion.releaseStage is now "" instead of "ALPHA" - About page and the Settings sidebar footer both read through this single source of truth, so this alone drops the "-ALPHA" suffix everywhere it was shown without touching either call site. MARKETING_VERSION bumped 0.0.4 -> 0.1.0 for the Outpost target (Debug + Release) - left OutpostTests/OutpostUITests' MARKETING_VERSION alone, that's just Xcode's unrelated template default for test bundles, never shown to a user. Not compiler-verified - Outpost app target has no CLI build path.
78 lines
2.3 KiB
Markdown
78 lines
2.3 KiB
Markdown
# Contributing to Outpost
|
|
|
|
Thank you for contributing. Please read this guide before opening issues or PRs.
|
|
|
|
Outpost is early (`0.1.x`) — expect the codebase and conventions here to keep evolving as later phases (see [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)) land. 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.
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
Outpost is licensed under the [Business Source License 1.1](./LICENSE), not a traditional OSI open-source license — see the [README's License section](./README.md#license) for what that means in practice. By submitting a PR, you agree your contribution is licensed under the same terms as the rest of the project.
|