| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 4 | 1 | 0% |
| Commands | 0 | 9 | 0 | 0% |
| Section tags | 0 | 4 | 0 | 0% |
What each file covers
Sections
0 shared · 4 only in A · 1 only in B- − Repository Guidelines
- − Modules
- − Quick Commands
- − Cross-Module Rules
- + Plugin BOM Guidelines
Commands
0 shared · 9 only in A · 0 only in B- − ./gradlew build
- − ./gradlew spotlessApply
- − ./gradlew :application:test
- − pnpm -C ui typecheck && pnpm -C ui lint
- − pnpm -C ui test:unit
- − ./gradlew generateOpenApiDocs && pnpm -C ui api-client:gen
- − gradle/libs.versions.toml
- − gradle.properties
- − git add -A
Section tags
0 shared · 4 only in A · 0 only in B- − architecture
- − security
- − do-not
- − agent-behaviour
Line diff
halo-dev/halo · AGENTS.md
@@ −1 @@
1# Repository Guidelines
2
3Halo is a full-stack monorepo: Java 21 / Spring Boot WebFlux + R2DBC backend and a Vue 3 + TypeScript + TailwindCSS frontend. Work from the repo root and load **every relevant module guide** for the areas you touch.
4
5## Modules
6
7| Module | Path | Guide |
8|---------------------|-----------------------------------------------------------|------------------------------------------------------------------|
9| API library | `api/` (extension model, contracts, security) | [api/AGENTS.md](api/AGENTS.md) |
10| Backend application | `application/` (services, routers, migrations, packaging) | [application/AGENTS.md](application/AGENTS.md) |
11| Frontend | `ui/` (console, user center, workspace packages) | [ui/AGENTS.md](ui/AGENTS.md) |
12| Application BOM | `platform/application/` (shared dependency constraints) | [platform/application/AGENTS.md](platform/application/AGENTS.md) |
13| Plugin BOM | `platform/plugin/` (plugin-facing constraints) | [platform/plugin/AGENTS.md](platform/plugin/AGENTS.md) |
14
15## Quick Commands
16
17Run from the repo root:
18
19- `./gradlew build` — full backend build and tests.
20- `./gradlew spotlessApply` — format Java, Markdown, JSON, and properties.
21- `./gradlew :application:test` — backend tests.
22- `pnpm -C ui typecheck && pnpm -C ui lint` — frontend validation.
23- `pnpm -C ui test:unit` — frontend unit tests.
24- `./gradlew generateOpenApiDocs && pnpm -C ui api-client:gen` — regenerate the UI client after contract changes.
25
26## Cross-Module Rules
27
28- Keep API contracts, backend handlers, and UI usage in sync; never hand-edit `ui/packages/api-client/src/` — regenerate it after contract changes.
29- Versions live in `gradle/libs.versions.toml`, `gradle.properties`, or `ui/package.json`; never hard-code them.
30- Branch naming: `feat/`, `fix/`, `improvement/`, `upgrade/`; PRs target `upstream` and follow `.github/pull_request_template.md`.
31- Stage specific files only; never `git add -A` (H2 artifacts and build outputs appear under `application/`).
32- Add tests for changed behavior; keep CI green.
33- Ask before public API changes, new dependencies, database migrations, security configuration, or CI workflow changes.
34- Never commit secrets or introduce blocking I/O into reactive flows.
35
36
halo-dev/halo · platform/plugin/AGENTS.md
@@ +1 @@
1# Plugin BOM Guidelines
2
3`platform/plugin/` is a BOM constraining plugin-facing dependencies.
4
5- Combine changes here with the matching `api/` contract changes, since plugins compile against both.
6- Verify compatibility with the plugin ecosystem before upgrading or adding constraints.
7- Changes affecting the plugin API require approval, as with `api/` changes.
8
9
@@ −1 +1 @@
1−# Repository Guidelines
1+# Plugin BOM Guidelines
22
3−Halo is a full-stack monorepo: Java 21 / Spring Boot WebFlux + R2DBC backend and a Vue 3 + TypeScript + TailwindCSS frontend. Work from the repo root and load **every relevant module guide** for the areas you touch.
3+`platform/plugin/` is a BOM constraining plugin-facing dependencies.
44
5−## Modules
6−
7−| Module | Path | Guide |
8−|---------------------|-----------------------------------------------------------|------------------------------------------------------------------|
9−| API library | `api/` (extension model, contracts, security) | [api/AGENTS.md](api/AGENTS.md) |
10−| Backend application | `application/` (services, routers, migrations, packaging) | [application/AGENTS.md](application/AGENTS.md) |
11−| Frontend | `ui/` (console, user center, workspace packages) | [ui/AGENTS.md](ui/AGENTS.md) |
12−| Application BOM | `platform/application/` (shared dependency constraints) | [platform/application/AGENTS.md](platform/application/AGENTS.md) |
13−| Plugin BOM | `platform/plugin/` (plugin-facing constraints) | [platform/plugin/AGENTS.md](platform/plugin/AGENTS.md) |
14−
15−## Quick Commands
16−
17−Run from the repo root:
18−
19−- `./gradlew build` — full backend build and tests.
20−- `./gradlew spotlessApply` — format Java, Markdown, JSON, and properties.
21−- `./gradlew :application:test` — backend tests.
22−- `pnpm -C ui typecheck && pnpm -C ui lint` — frontend validation.
23−- `pnpm -C ui test:unit` — frontend unit tests.
24−- `./gradlew generateOpenApiDocs && pnpm -C ui api-client:gen` — regenerate the UI client after contract changes.
25−
26−## Cross-Module Rules
27−
28−- Keep API contracts, backend handlers, and UI usage in sync; never hand-edit `ui/packages/api-client/src/` — regenerate it after contract changes.
29−- Versions live in `gradle/libs.versions.toml`, `gradle.properties`, or `ui/package.json`; never hard-code them.
30−- Branch naming: `feat/`, `fix/`, `improvement/`, `upgrade/`; PRs target `upstream` and follow `.github/pull_request_template.md`.
31−- Stage specific files only; never `git add -A` (H2 artifacts and build outputs appear under `application/`).
32−- Add tests for changed behavior; keep CI green.
33−- Ask before public API changes, new dependencies, database migrations, security configuration, or CI workflow changes.
34−- Never commit secrets or introduce blocking I/O into reactive flows.
5+- Combine changes here with the matching `api/` contract changes, since plugins compile against both.
6+- Verify compatibility with the plugin ecosystem before upgrading or adding constraints.
7+- Changes affecting the plugin API require approval, as with `api/` changes.
358
369
