Skip to content

Commit e56bf71

Browse files
committed
Add development guide, run CI on dev
1 parent 3b59b90 commit e56bf71

3 files changed

Lines changed: 36 additions & 1 deletion

File tree

‎.github/workflows/ci.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: CI
22
on:
33
push:
4-
branches: [main]
4+
branches: [main, dev]
55
pull_request:
66

77
jobs:

‎AGENTS.md‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Development
2+
3+
## Branches
4+
5+
- **`dev`** is where all development lands. Never commit or push straight to `main`.
6+
- Start every change on a branch off `dev` (`git switch dev && git pull && git switch -c <short-name>`), then open a PR into `dev`.
7+
- **`main`** only moves by one big merge of `dev` when it's time for a release. That merge is done by hand, as a PR from `dev` to `main`.
8+
9+
## Releasing
10+
11+
1. On `dev`, bump the version in `package.json`, `src-tauri/Cargo.toml` and `src-tauri/tauri.conf.json`, plus both lockfiles (`npm install --package-lock-only`, `cargo update -p whale-cabinet`). Do this once per release, not once per change.
12+
2. Merge `dev` into `main`.
13+
3. Tag `main` with `v<version>` and push the tag. `.github/workflows/release.yml` builds the AppImage and .deb and writes the changelog.
14+
15+
## Commits
16+
17+
- Author: `PluginMike <65072741+PluginMike@users.noreply.github.com>` (already in the repo's git config).
18+
- Short one-line messages in plain English ("Fit viewer images to the window").
19+
- No `Co-Authored-By`, "Generated with" or other tool/AI attribution in commits, PRs or code comments.
20+
21+
## Checks before pushing
22+
23+
```sh
24+
(cd src-tauri && cargo test) # Rust unit tests
25+
npx tsc --noEmit # TypeScript
26+
scripts/smoke.sh # end-to-end self-test in the dev app (slower; run for UI changes)
27+
```
28+
29+
`scripts/install.sh` builds and installs the app locally (`~/.local/bin/whale-cabinet`). Restart the running app to pick it up.
30+
31+
## Rules for tests
32+
33+
- Plugin upload, delete and share tests run only against the smoke demo plugin, never against real servers (Immich, Nextcloud, Bitwarden).
34+
- Test windows open on the real screen. Never create a headless or virtual monitor.

‎CLAUDE.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@AGENTS.md

0 commit comments

Comments
 (0)