persona-harness 0.3.8-alpha.2 → 0.3.8-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.persona/rules/backend/gradle-bootstrap.md +2 -2
- package/.persona/rules/backend/java-backend-bootstrap.md +1 -1
- package/CHANGELOG.md +35 -0
- package/README.ja.md +3 -4
- package/README.ko.md +13 -9
- package/README.md +17 -12
- package/README.zh-cn.md +3 -4
- package/dist/cli/backend-shape-report-status.d.ts +1 -0
- package/dist/cli/backend-shape-report-status.js +20 -0
- package/dist/cli/backend-shape-report-status.js.map +1 -0
- package/dist/cli/backend-shape.d.ts +1 -0
- package/dist/cli/backend-shape.js +77 -3
- package/dist/cli/backend-shape.js.map +1 -1
- package/dist/cli/bearshell.js +6 -0
- package/dist/cli/bearshell.js.map +1 -1
- package/dist/cli/bootstrap.js +15 -3
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/cli-usage.js +2 -2
- package/dist/cli/cli-usage.js.map +1 -1
- package/dist/cli/doctor-command-detection.d.ts +12 -0
- package/dist/cli/doctor-command-detection.js +110 -0
- package/dist/cli/doctor-command-detection.js.map +1 -0
- package/dist/cli/doctor.d.ts +5 -0
- package/dist/cli/doctor.js +26 -26
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +4 -41
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init-output.js +11 -9
- package/dist/cli/init-output.js.map +1 -1
- package/dist/cli/java-role-read-coverage.d.ts +7 -0
- package/dist/cli/java-role-read-coverage.js +152 -0
- package/dist/cli/java-role-read-coverage.js.map +1 -0
- package/dist/cli/plan-prompts.js +10 -2
- package/dist/cli/plan-prompts.js.map +1 -1
- package/dist/cli/plan.js +5 -1
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/stack-alignment-profile.d.ts +9 -0
- package/dist/cli/stack-alignment-profile.js +79 -0
- package/dist/cli/stack-alignment-profile.js.map +1 -0
- package/dist/cli/stack-alignment.d.ts +8 -0
- package/dist/cli/stack-alignment.js +164 -0
- package/dist/cli/stack-alignment.js.map +1 -0
- package/dist/cli/workflow-command.js +11 -0
- package/dist/cli/workflow-command.js.map +1 -1
- package/dist/cli/workflow-finish-reasons.d.ts +3 -0
- package/dist/cli/workflow-finish-reasons.js +28 -0
- package/dist/cli/workflow-finish-reasons.js.map +1 -0
- package/dist/cli/workflow-output.js +16 -9
- package/dist/cli/workflow-output.js.map +1 -1
- package/dist/cli/workflow-status.d.ts +3 -0
- package/dist/cli/workflow-status.js +14 -43
- package/dist/cli/workflow-status.js.map +1 -1
- package/docs/current/persona-harness-detailed-usage.md +16 -13
- package/docs/current/release/v0.3.2-alpha.2-release-notes.md +1 -1
- package/docs/current/release/v0.3.3-alpha.0-release-notes.md +1 -0
- package/docs/current/release/v0.3.4-alpha.0-release-notes.md +1 -0
- package/docs/current/release/v0.3.5-alpha.0-release-notes.md +5 -5
- package/docs/current/release/v0.3.8-alpha.3-release-notes.md +106 -0
- package/package.json +1 -1
- package/packages/shared-skills/skills/programming/references/java/README.md +3 -2
- package/packages/shared-skills/skills/programming/references/java/technology-seams.md +2 -1
|
@@ -18,9 +18,9 @@ enforcement: inject_only
|
|
|
18
18
|
|
|
19
19
|
# Gradle Bootstrap
|
|
20
20
|
|
|
21
|
-
- Gradle build file에서는 Java/Spring Boot backend 기준을 유지하고 Maven `pom.xml`을 생성하지 않는다.
|
|
21
|
+
- Gradle build file에서는 Java/Spring Boot backend 기준을 유지하고 Maven `pom.xml`을 생성하지 않는다. Hard rule: `gradle test`, `gradle build`, `bootRun` 결과를 Node/JS/Python/shell shim이나 `tools/gradle-shim.js` 같은 fake Gradle script로 흉내 내지 않는다. 실제 Gradle 실행이 불가능하면 성공처럼 말하지 말고 Gradle 실행 환경 문제로 보고한다.
|
|
22
22
|
- `settings.gradle` 또는 `settings.gradle.kts`는 하나의 Spring Boot application root project 이름을 명확히 둔다.
|
|
23
|
-
- `build.gradle` 또는 `build.gradle.kts`는 Spring Boot backend를 만들기 위한 최소 plugin/dependency/source compatibility만 다루며, 호환되는 Spring Boot plugin / Gradle launcher or wrapper / JDK toolchain 조합을 먼저 선택하고 그 선택을 build file에 명시한다. 가능하면 Gradle wrapper(`gradlew`, `gradlew.bat`, `gradle/wrapper/`)를 포함해 `./gradlew test`, `./gradlew build`, `./gradlew bootRun`으로 검증할 수 있게 하며, JUnit Platform 실행에는 `testRuntimeOnly "org.junit.platform:junit-platform-launcher"` 또는 동등한 runtime launcher를 포함한다.
|
|
23
|
+
- Default guidance: `build.gradle` 또는 `build.gradle.kts`는 Spring Boot backend를 만들기 위한 최소 plugin/dependency/source compatibility만 다루며, 호환되는 Spring Boot plugin / Gradle launcher or wrapper / JDK toolchain 조합을 먼저 선택하고 그 선택을 build file에 명시한다. 가능하면 Gradle wrapper(`gradlew`, `gradlew.bat`, `gradle/wrapper/`)를 포함해 `./gradlew test`, `./gradlew build`, `./gradlew bootRun`으로 검증할 수 있게 하며, JUnit Platform 실행에는 `testRuntimeOnly "org.junit.platform:junit-platform-launcher"` 또는 동등한 runtime launcher를 포함한다.
|
|
24
24
|
- 실행 가능한 Spring Boot app에서는 `bootJar`를 끄지 않는다. `tasks.named("bootJar") { enabled = false }` 또는 동등한 설정은 plain Java library로 명시된 프로젝트가 아니면 사용하지 않는다. `gradle build` 출력에 `:bootJar SKIPPED`가 나오면 실행 가능한 Spring Boot app 검증을 통과한 것으로 기록하지 않는다. `bootJar`가 `CopyProcessingSpec.getDirMode()` 같은 호환성 오류로 실패하면, `bootJar`를 비활성화하지 말고 Spring Boot plugin을 현재 Gradle과 호환되는 line으로 올리거나 Gradle wrapper를 해당 plugin이 지원하는 line으로 고정한다.
|
|
25
25
|
- 로컬 launcher가 Gradle 9.x이면 Spring Boot 3.3.x 같은 오래된 plugin line을 기본으로 섞지 않는다. 호환 여부가 불명확하면 executable app 기준으로 `gradle test`, `gradle build`, `gradle bootRun`이 모두 통과하는 line을 선택한다.
|
|
26
26
|
- build 설정은 presentation/application/domain/infrastructure package 구조를 대신하지 않는다.
|
|
@@ -14,7 +14,7 @@ enforcement: inject_only
|
|
|
14
14
|
|
|
15
15
|
# Java Backend Bootstrap
|
|
16
16
|
|
|
17
|
-
- 0-start 요구사항을 먼저 backend product code shape 계획으로 변환하고 Gradle 기반 Spring Boot backend project로 구현한다. Maven 파일은 생성하지 않는다.
|
|
17
|
+
- 0-start 요구사항을 먼저 backend product code shape 계획으로 변환하고 Gradle 기반 Spring Boot backend project로 구현한다. Maven 파일은 생성하지 않는다. Hard rule: Gradle 없는 환경에서 Node/JS/Python/shell shim 또는 `tools/gradle-shim.js` 같은 fake Gradle script로 `gradle test`, `gradle build`, `bootRun`을 흉내 내지 않는다. 실제 Gradle 실행이 불가능하면 성공처럼 말하지 말고 환경 문제로 보고한다. Default guidance: Gradle project라면 `gradlew`, `gradlew.bat`, `gradle/wrapper/`를 만들거나 실제 Gradle launcher 사용 가능성을 확인한다. Project-choice: Spring/Gradle/JPA/database profile이면 HttpServer/InMemory/Node shim으로 우회하지 말고 실제 Spring Boot/Gradle/JPA 구조를 만들며, DB/JPA/Flyway 선택은 profile 또는 project-choice를 따른다.
|
|
18
18
|
- 구현 전에 package structure plan을 작성한다. root package 바로 아래에 `global`과 `root/<domain>`을 같은 depth로 두고, `feature/features/module/modules` 같은 wrapper package를 추가하지 않는다.
|
|
19
19
|
- 도메인 package 내부는 presentation/application/domain/infrastructure 흐름을 기본으로 두고 `root/<domain>/presentation`, `root/<domain>/application`, `root/<domain>/domain`, `root/<domain>/infrastructure`로 배치한다.
|
|
20
20
|
- `root/<domain>/controller`, `root/<domain>/service`, `root/<domain>/repository`, `root/<domain>/dto` 또는 `book/controller`, `book/service`, `book/repository`, `book/dto/request` 같은 역할명 package로 대체하지 않는다. Controller는 `presentation`, Service는 `application`, Repository interface는 `domain`, Repository 구현체는 `infrastructure`, HTTP DTO는 `presentation/dto`, Command/Result는 `application/dto`에 둔다.
|
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,41 @@ This project uses npm prerelease versions for tester-facing alpha builds. During
|
|
|
8
8
|
|
|
9
9
|
No unreleased changes yet.
|
|
10
10
|
|
|
11
|
+
## [0.3.8-alpha.3] - 2026-06-25
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Added Windows-aware doctor command detection so `ph doctor` can report OpenCode runtime readiness more reliably on Windows.
|
|
16
|
+
- Added stack-alignment checks for generated backend projects and made `ph workflow finish implement` block on stack mismatch.
|
|
17
|
+
- Added Java role read coverage gating so implementation finish can require generated Controller, Service, Repository, DTO, Domain, and related Java files to have been read.
|
|
18
|
+
- Added backend-shape review reporting to summarize generated backend structure evidence.
|
|
19
|
+
- Added Windows-safe and vendor-safe bearshell/read/search guidance for workflow prompts.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Clarified `ph init` as the minimal harness/OpenCode integration step and `ph bootstrap backend` as the backend-ready bootstrap path.
|
|
24
|
+
- Strengthened Java guidance to forbid fake Gradle shims and HTTP-server/CommonJS style workarounds for Java/Spring backend targets.
|
|
25
|
+
- Bounded Windows search guidance to README/project files instead of unsafe recursive vendor scans.
|
|
26
|
+
|
|
27
|
+
### External Smoke
|
|
28
|
+
|
|
29
|
+
- Windows P0/P1 smoke was partially successful:
|
|
30
|
+
- doctor and runtime readiness passed;
|
|
31
|
+
- init/bootstrap output matched generated artifacts;
|
|
32
|
+
- `profileSummaryInjected` was confirmed;
|
|
33
|
+
- backend-shape report generation was observed;
|
|
34
|
+
- fake Gradle shim, `HttpServer`, and CommonJS workarounds were not observed.
|
|
35
|
+
- OpenCode full finish still timed out/continued with pending work, so full implementation completion and generated product quality are not certified.
|
|
36
|
+
- Windows vendor-safe bearshell search smoke succeeded for README-only `Select-String -Path README.md -Pattern TODO` guidance, output, and command execution; unsafe recursive/vendor search guidance was not observed.
|
|
37
|
+
|
|
38
|
+
### Verification
|
|
39
|
+
|
|
40
|
+
- `npm test` passed: scope/docs diagnostics PASS, 55 files, 337 tests.
|
|
41
|
+
- `npm run typecheck` passed.
|
|
42
|
+
- `npm run build` passed.
|
|
43
|
+
- `npm pack --dry-run` passed for `persona-harness@0.3.8-alpha.3` with 328 files.
|
|
44
|
+
- `npm run check:docs` passed.
|
|
45
|
+
|
|
11
46
|
## [0.3.8-alpha.2] - 2026-06-24
|
|
12
47
|
|
|
13
48
|
### Added
|
package/README.ja.md
CHANGED
|
@@ -60,8 +60,7 @@ Model ID は `provider/model` 形式です。例: `openai/gpt-5.4-mini-fast`.
|
|
|
60
60
|
```bash
|
|
61
61
|
npm install -D persona-harness@alpha
|
|
62
62
|
npx ph init
|
|
63
|
-
npx ph
|
|
64
|
-
npx ph plan --auto-accept
|
|
63
|
+
npx ph bootstrap backend
|
|
65
64
|
```
|
|
66
65
|
|
|
67
66
|
Persona Harness 自体を開発する場合は local install を使います。
|
|
@@ -69,8 +68,7 @@ Persona Harness 自体を開発する場合は local install を使います。
|
|
|
69
68
|
```bash
|
|
70
69
|
npm install -D /absolute/path/to/persona-harness
|
|
71
70
|
npx ph init
|
|
72
|
-
npx ph
|
|
73
|
-
npx ph plan --auto-accept
|
|
71
|
+
npx ph bootstrap backend
|
|
74
72
|
```
|
|
75
73
|
|
|
76
74
|
まず OpenCode に plan だけを作らせます。
|
|
@@ -126,6 +124,7 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
|
|
|
126
124
|
## 提供するもの
|
|
127
125
|
|
|
128
126
|
- `ph init`: `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config を作成
|
|
127
|
+
- `ph bootstrap backend`: `AGENTS.md`, backend profile, policy overlay, accepted plan, report template を準備
|
|
129
128
|
- `ph intake --interactive`: backend planning 質問を行い `.persona/project-profile.jsonc` を作成
|
|
130
129
|
- `ph policy init`: company/personal backend policy overlay を作成
|
|
131
130
|
- `ph plan`: `blackbear` planning role 用 `.persona/workflow/plan.md` を作成
|
package/README.ko.md
CHANGED
|
@@ -64,8 +64,7 @@ opencode auth list
|
|
|
64
64
|
```bash
|
|
65
65
|
npm install -D persona-harness@alpha
|
|
66
66
|
npx ph init
|
|
67
|
-
npx ph
|
|
68
|
-
npx ph plan --auto-accept
|
|
67
|
+
npx ph bootstrap backend
|
|
69
68
|
```
|
|
70
69
|
|
|
71
70
|
Persona Harness 자체를 개발 중이면 local install을 사용합니다.
|
|
@@ -73,10 +72,13 @@ Persona Harness 자체를 개발 중이면 local install을 사용합니다.
|
|
|
73
72
|
```bash
|
|
74
73
|
npm install -D /absolute/path/to/persona-harness
|
|
75
74
|
npx ph init
|
|
76
|
-
npx ph
|
|
77
|
-
npx ph plan --auto-accept
|
|
75
|
+
npx ph bootstrap backend
|
|
78
76
|
```
|
|
79
77
|
|
|
78
|
+
`npx ph init`은 최소 설치/연동 단계입니다. `.persona/harness.jsonc`, `.persona/rules/`, `.opencode/opencode.json`, `.gitignore`만 준비하고, `AGENTS.md`, `.persona/project-profile.jsonc`, plan/report template은 만들지 않습니다.
|
|
79
|
+
|
|
80
|
+
backend-ready 상태가 필요하면 `npx ph bootstrap backend`를 실행합니다. 이 명령은 `AGENTS.md`, 기본 backend profile, policy overlay, accepted plan, implementation/review report template, harness/OpenCode config 상태를 준비합니다.
|
|
81
|
+
|
|
80
82
|
초기 설정 이후에는 사용자가 모든 명령어를 외울 필요가 없습니다. 먼저 OpenCode에게 계획만 완성하게 합니다.
|
|
81
83
|
|
|
82
84
|
```bash
|
|
@@ -84,18 +86,19 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
|
|
|
84
86
|
"$(npx ph plan --prompt)"
|
|
85
87
|
```
|
|
86
88
|
|
|
87
|
-
빠른 alpha smoke에서는
|
|
89
|
+
이미 `npx ph bootstrap backend`를 실행한 빠른 alpha smoke에서는 준비된 backend profile과 accepted plan을 확인할 수 있습니다.
|
|
88
90
|
|
|
89
91
|
```bash
|
|
90
92
|
npx ph doctor
|
|
91
|
-
npx ph
|
|
92
|
-
npx ph plan --auto-accept
|
|
93
|
+
npx ph workflow check
|
|
93
94
|
```
|
|
94
95
|
|
|
95
|
-
프로젝트 조건을 직접 정하고 싶으면
|
|
96
|
+
프로젝트 조건을 직접 정하고 싶으면 수동 profile 흐름을 사용합니다.
|
|
96
97
|
|
|
97
98
|
```bash
|
|
98
99
|
npx ph intake --interactive --force
|
|
100
|
+
# 또는 비대화형 기본 profile만 필요하면:
|
|
101
|
+
npx ph intake --default backend
|
|
99
102
|
npx ph policy init
|
|
100
103
|
npx ph plan
|
|
101
104
|
npx ph plan --accept
|
|
@@ -152,7 +155,8 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
|
|
|
152
155
|
## 제공하는 것
|
|
153
156
|
|
|
154
157
|
- 아래 명령어들은 사용자가 직접 외우는 CLI라기보다, OpenCode/Codex-style 세션에서 AI가 호출하기 쉽게 만든 workflow surface입니다.
|
|
155
|
-
- `ph init`: `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config 설치
|
|
158
|
+
- `ph init`: `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config, `.gitignore` 설치
|
|
159
|
+
- `ph bootstrap backend`: `AGENTS.md`, ready 기본 backend profile, policy overlay, accepted plan, report template, harness/OpenCode config 준비
|
|
156
160
|
- `ph intake`: 수정 가능한 draft backend profile 생성
|
|
157
161
|
- `ph intake --default backend`: 대화형 터미널 없이 ready 기본 backend profile 생성
|
|
158
162
|
- `ph intake --interactive`: backend planning 질문 후 `.persona/project-profile.jsonc` 생성
|
package/README.md
CHANGED
|
@@ -151,29 +151,34 @@ EOF
|
|
|
151
151
|
|
|
152
152
|
You can use a different domain. For cleaner feedback, avoid the older `reservation`, `roomescape`, or `book loan` examples when testing the current alpha.
|
|
153
153
|
|
|
154
|
-
## 4.
|
|
154
|
+
## 4. Choose The Setup Path
|
|
155
155
|
|
|
156
|
-
`npx ph init`
|
|
157
|
-
The interview writes `.persona/project-profile.jsonc`; that profile is the planning context used before implementation.
|
|
158
|
-
The interview requires an interactive terminal. If an AI/TUI non-TTY shell runs `npx ph init`, the harness installs files but stops before writing a default profile and points the agent to `npx ph bootstrap backend`.
|
|
156
|
+
`npx ph init` is the minimal install and OpenCode integration step. It installs `.persona/harness.jsonc`, `.persona/rules/`, `.opencode/opencode.json`, and `.gitignore` entries, then exits with next-step guidance.
|
|
159
157
|
|
|
160
|
-
|
|
158
|
+
`npx ph init` does not create `AGENTS.md`, `.persona/project-profile.jsonc`, policy overlay files, an accepted plan, or workflow report templates.
|
|
159
|
+
|
|
160
|
+
For the normal backend-ready external tester flow:
|
|
161
161
|
|
|
162
162
|
```bash
|
|
163
163
|
npx ph doctor
|
|
164
164
|
npx ph init
|
|
165
|
-
npx ph
|
|
166
|
-
npx ph plan --auto-accept
|
|
165
|
+
npx ph bootstrap backend
|
|
167
166
|
npx ph workflow check
|
|
168
167
|
```
|
|
169
168
|
|
|
170
|
-
|
|
169
|
+
`npx ph bootstrap backend` prepares the backend workflow for AI implementation. It fills missing `AGENTS.md`, `.persona/project-profile.jsonc`, policy overlay files, an accepted `.persona/workflow/plan.md`, implementation/review report templates, harness config, and OpenCode config.
|
|
170
|
+
|
|
171
|
+
If you want to choose the profile manually instead of using the backend-ready bootstrap path:
|
|
171
172
|
|
|
172
173
|
```bash
|
|
173
|
-
npx ph
|
|
174
|
+
npx ph intake --interactive
|
|
175
|
+
# or, without an interactive terminal:
|
|
176
|
+
npx ph intake --default backend
|
|
177
|
+
npx ph policy init
|
|
178
|
+
npx ph plan --auto-accept
|
|
174
179
|
```
|
|
175
180
|
|
|
176
|
-
Use
|
|
181
|
+
Use the bootstrap path for AI agent shells where interactive prompts are unreliable. Use the intake path when a human wants to choose project profile answers directly in a terminal.
|
|
177
182
|
|
|
178
183
|
If `.persona/project-profile.jsonc` is missing, draft, malformed, or incomplete, `ph plan` and `ph workflow implement` stop and ask for `ph intake` first. Before implementation, `npx ph workflow check` usually reports `WARN` because implementation and review reports are still templates. That is normal.
|
|
179
184
|
|
|
@@ -325,11 +330,11 @@ For generated code shape, look for:
|
|
|
325
330
|
|
|
326
331
|
These commands are intentionally visible so AI agents can call them from OpenCode/Codex-style sessions.
|
|
327
332
|
|
|
328
|
-
- `ph init`: installs `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config, and
|
|
333
|
+
- `ph init`: installs `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config, and `.gitignore` entries only.
|
|
329
334
|
- `ph intake`: creates an editable draft backend profile.
|
|
330
335
|
- `ph intake --default backend`: creates a ready default backend profile without an interactive terminal.
|
|
331
336
|
- `ph intake --interactive`: asks backend planning questions and writes `.persona/project-profile.jsonc`.
|
|
332
|
-
- `ph bootstrap backend`:
|
|
337
|
+
- `ph bootstrap backend`: backend-ready path that fills `AGENTS.md`, the default backend profile, policy overlay, accepted plan, report templates, harness config, and OpenCode config.
|
|
333
338
|
- `ph policy init`: creates company and personal backend policy overlay files.
|
|
334
339
|
- `ph plan`: creates `.persona/workflow/plan.md`.
|
|
335
340
|
- `ph plan --auto-accept`: creates workflow plan/report templates and marks the plan accepted for a fast smoke.
|
package/README.zh-cn.md
CHANGED
|
@@ -60,8 +60,7 @@ Model ID 使用 `provider/model` 格式,例如 `openai/gpt-5.4-mini-fast`.
|
|
|
60
60
|
```bash
|
|
61
61
|
npm install -D persona-harness@alpha
|
|
62
62
|
npx ph init
|
|
63
|
-
npx ph
|
|
64
|
-
npx ph plan --auto-accept
|
|
63
|
+
npx ph bootstrap backend
|
|
65
64
|
```
|
|
66
65
|
|
|
67
66
|
如果你正在开发 Persona Harness 本身,请使用 local install。
|
|
@@ -69,8 +68,7 @@ npx ph plan --auto-accept
|
|
|
69
68
|
```bash
|
|
70
69
|
npm install -D /absolute/path/to/persona-harness
|
|
71
70
|
npx ph init
|
|
72
|
-
npx ph
|
|
73
|
-
npx ph plan --auto-accept
|
|
71
|
+
npx ph bootstrap backend
|
|
74
72
|
```
|
|
75
73
|
|
|
76
74
|
先让 OpenCode 只完成计划:
|
|
@@ -126,6 +124,7 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
|
|
|
126
124
|
## 提供内容
|
|
127
125
|
|
|
128
126
|
- `ph init`: 安装 `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config
|
|
127
|
+
- `ph bootstrap backend`: 准备 `AGENTS.md`, backend profile, policy overlay, accepted plan, report template
|
|
129
128
|
- `ph intake --interactive`: 询问 backend planning 问题并写入 `.persona/project-profile.jsonc`
|
|
130
129
|
- `ph policy init`: 创建 company/personal backend policy overlay
|
|
131
130
|
- `ph plan`: 创建 `blackbear` planning role 的 `.persona/workflow/plan.md`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function backendShapeReportStatus(projectDir: string): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { BACKEND_SHAPE_REPORT_PATH } from "./backend-shape.js";
|
|
4
|
+
export function backendShapeReportStatus(projectDir) {
|
|
5
|
+
const reportPath = join(projectDir, BACKEND_SHAPE_REPORT_PATH);
|
|
6
|
+
if (!existsSync(reportPath)) {
|
|
7
|
+
return "missing (report-only; run `npx ph review backend-shape`)";
|
|
8
|
+
}
|
|
9
|
+
const report = readFileSync(reportPath, "utf8");
|
|
10
|
+
const warnCount = report.split(/\r?\n/).filter((line) => /\|\s*WARN\s*\|/.test(line)).length;
|
|
11
|
+
const failCount = report.split(/\r?\n/).filter((line) => /\|\s*FAIL\s*\|/.test(line)).length;
|
|
12
|
+
if (failCount > 0) {
|
|
13
|
+
return `FAIL findings: ${failCount}; WARN findings: ${warnCount}; see ${BACKEND_SHAPE_REPORT_PATH}`;
|
|
14
|
+
}
|
|
15
|
+
if (warnCount > 0) {
|
|
16
|
+
return `WARN findings: ${warnCount}; see ${BACKEND_SHAPE_REPORT_PATH}`;
|
|
17
|
+
}
|
|
18
|
+
return `PASS; see ${BACKEND_SHAPE_REPORT_PATH}`;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=backend-shape-report-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-shape-report-status.js","sourceRoot":"","sources":["../../src/cli/backend-shape-report-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAA;IAC9D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,0DAA0D,CAAA;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAC5F,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAC5F,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,kBAAkB,SAAS,oBAAoB,SAAS,SAAS,yBAAyB,EAAE,CAAA;IACrG,CAAC;IACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,kBAAkB,SAAS,SAAS,yBAAyB,EAAE,CAAA;IACxE,CAAC;IACD,OAAO,aAAa,yBAAyB,EAAE,CAAA;AACjD,CAAC"}
|
|
@@ -2,5 +2,6 @@ import type { CliRunResult } from "./bearshell.js";
|
|
|
2
2
|
type BackendShapeOptions = {
|
|
3
3
|
readonly projectDir?: string;
|
|
4
4
|
};
|
|
5
|
+
export declare const BACKEND_SHAPE_REPORT_PATH = ".persona/workflow/backend-shape-report.md";
|
|
5
6
|
export declare function runBackendShapeReview(options?: BackendShapeOptions): CliRunResult;
|
|
6
7
|
export {};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
1
2
|
import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
2
3
|
import { dirname, join, resolve } from "node:path";
|
|
3
4
|
import process from "node:process";
|
|
4
|
-
const
|
|
5
|
+
export const BACKEND_SHAPE_REPORT_PATH = ".persona/workflow/backend-shape-report.md";
|
|
6
|
+
const FAKE_SHIM_FILES = ["gradle-shim.js", join("tools", "gradle-shim.js")];
|
|
5
7
|
function listFiles(dirPath) {
|
|
6
8
|
if (!existsSync(dirPath)) {
|
|
7
9
|
return [];
|
|
@@ -28,23 +30,75 @@ function hasPathPart(files, part) {
|
|
|
28
30
|
function javaFiles(projectDir) {
|
|
29
31
|
return listFiles(join(projectDir, "src", "main", "java")).filter((filePath) => filePath.endsWith(".java"));
|
|
30
32
|
}
|
|
33
|
+
function readBuildText(projectDir) {
|
|
34
|
+
return [join(projectDir, "build.gradle"), join(projectDir, "build.gradle.kts")]
|
|
35
|
+
.filter((buildPath) => existsSync(buildPath))
|
|
36
|
+
.map((buildPath) => readFileSync(buildPath, "utf8"))
|
|
37
|
+
.join("\n");
|
|
38
|
+
}
|
|
31
39
|
function pass(criterion, evidence) {
|
|
32
40
|
return { criterion, result: "PASS", evidence };
|
|
33
41
|
}
|
|
34
42
|
function warn(criterion, evidence) {
|
|
35
43
|
return { criterion, result: "WARN", evidence };
|
|
36
44
|
}
|
|
45
|
+
function springBootApp(projectDir, files) {
|
|
46
|
+
const buildText = readBuildText(projectDir);
|
|
47
|
+
const hasSpringBuildSignal = /org\.springframework\.boot|spring-boot-starter/.test(buildText);
|
|
48
|
+
const appFiles = files.filter((filePath) => /Application\.java$/.test(filePath));
|
|
49
|
+
const hasSpringBootApplication = appFiles.some((filePath) => readFileSync(filePath, "utf8").includes("@SpringBootApplication"));
|
|
50
|
+
return hasSpringBuildSignal && hasSpringBootApplication
|
|
51
|
+
? pass("Spring Boot app", appFiles.map((filePath) => relative(projectDir, filePath)).join(", "))
|
|
52
|
+
: warn("Spring Boot app", "missing Spring Boot build signal or @SpringBootApplication");
|
|
53
|
+
}
|
|
54
|
+
function gradleExecutableAvailable(projectDir) {
|
|
55
|
+
const result = spawnSync("gradle", ["--version"], { cwd: projectDir, encoding: "utf8", timeout: 3_000 });
|
|
56
|
+
return result.status === 0;
|
|
57
|
+
}
|
|
58
|
+
function gradleRuntime(projectDir) {
|
|
59
|
+
const hasWrapper = existsSync(join(projectDir, "gradlew")) || existsSync(join(projectDir, "gradlew.bat"));
|
|
60
|
+
if (hasWrapper) {
|
|
61
|
+
return pass("Gradle runtime", "Gradle wrapper present");
|
|
62
|
+
}
|
|
63
|
+
return gradleExecutableAvailable(projectDir)
|
|
64
|
+
? pass("Gradle runtime", "system Gradle executable available")
|
|
65
|
+
: warn("Gradle runtime", "Gradle wrapper missing and system Gradle unavailable");
|
|
66
|
+
}
|
|
37
67
|
function gradleOnly(projectDir) {
|
|
38
68
|
const hasGradle = existsSync(join(projectDir, "build.gradle")) || existsSync(join(projectDir, "build.gradle.kts"));
|
|
39
69
|
const hasSettings = existsSync(join(projectDir, "settings.gradle")) || existsSync(join(projectDir, "settings.gradle.kts"));
|
|
40
70
|
const hasMaven = existsSync(join(projectDir, "pom.xml"));
|
|
41
71
|
return hasGradle && hasSettings && !hasMaven ? pass("Gradle only", "Gradle files present and pom.xml absent") : warn("Gradle only", "Gradle/settings missing or pom.xml present");
|
|
42
72
|
}
|
|
73
|
+
function mavenAbsent(projectDir) {
|
|
74
|
+
return existsSync(join(projectDir, "pom.xml"))
|
|
75
|
+
? warn("Maven pom.xml absent", "pom.xml present")
|
|
76
|
+
: pass("Maven pom.xml absent", "pom.xml absent");
|
|
77
|
+
}
|
|
78
|
+
function fakeBuildShimAbsent(projectDir) {
|
|
79
|
+
const shims = FAKE_SHIM_FILES.filter((shimPath) => existsSync(join(projectDir, shimPath)));
|
|
80
|
+
return shims.length === 0 ? pass("Fake build shim absent", "no fake Gradle shim observed") : warn("Fake build shim absent", shims.join(", "));
|
|
81
|
+
}
|
|
43
82
|
function layerStructure(files) {
|
|
44
83
|
const required = ["presentation", "application", "domain", "infrastructure"];
|
|
45
84
|
const missing = required.filter((part) => !hasPathPart(files, part));
|
|
46
85
|
return missing.length === 0 ? pass("Layer/package structure", required.join(", ")) : warn("Layer/package structure", `missing: ${missing.join(", ")}`);
|
|
47
86
|
}
|
|
87
|
+
function boundaryShape(files) {
|
|
88
|
+
const hasController = files.some((filePath) => filePath.endsWith("Controller.java") || filePath.includes("/presentation/"));
|
|
89
|
+
const hasService = files.some((filePath) => filePath.endsWith("Service.java") || filePath.includes("/application/"));
|
|
90
|
+
const hasRepository = files.some((filePath) => filePath.endsWith("Repository.java"));
|
|
91
|
+
const hasDto = files.some((filePath) => filePath.includes("/dto/"));
|
|
92
|
+
const hasDomain = files.some((filePath) => filePath.includes("/domain/") && !filePath.endsWith("Repository.java"));
|
|
93
|
+
const missing = [
|
|
94
|
+
...(!hasController ? ["Controller"] : []),
|
|
95
|
+
...(!hasService ? ["Service"] : []),
|
|
96
|
+
...(!hasRepository ? ["Repository"] : []),
|
|
97
|
+
...(!hasDto ? ["DTO"] : []),
|
|
98
|
+
...(!hasDomain ? ["Domain"] : []),
|
|
99
|
+
];
|
|
100
|
+
return missing.length === 0 ? pass("Controller/Service/Repository/DTO/Domain boundary", "role files observed") : warn("Controller/Service/Repository/DTO/Domain boundary", `missing: ${missing.join(", ")}`);
|
|
101
|
+
}
|
|
48
102
|
function repositoryPort(projectDir, files) {
|
|
49
103
|
const ports = files.filter((filePath) => filePath.includes("/domain/") && filePath.endsWith("Repository.java"));
|
|
50
104
|
return ports.length > 0 ? pass("Domain repository port", ports.map((filePath) => relative(projectDir, filePath)).join(", ")) : warn("Domain repository port", "no domain *Repository.java");
|
|
@@ -94,6 +148,18 @@ function dtoBoundary(files) {
|
|
|
94
148
|
const hasResponse = hasPathPart(files, "response");
|
|
95
149
|
return hasRequest && hasResponse ? pass("DTO boundary", "request and response DTO packages present") : warn("DTO boundary", "request/response DTO package missing");
|
|
96
150
|
}
|
|
151
|
+
function entityDirectExposure(projectDir, files) {
|
|
152
|
+
const domainNames = files
|
|
153
|
+
.filter((filePath) => filePath.includes("/domain/") && !filePath.endsWith("Repository.java"))
|
|
154
|
+
.map((filePath) => filePath.split("/").at(-1)?.replace(/\.java$/, ""))
|
|
155
|
+
.filter((name) => name !== undefined);
|
|
156
|
+
const controllerFiles = files.filter((filePath) => filePath.endsWith("Controller.java") || filePath.includes("/presentation/"));
|
|
157
|
+
const hits = controllerFiles.flatMap((filePath) => {
|
|
158
|
+
const content = readFileSync(filePath, "utf8");
|
|
159
|
+
return domainNames.filter((domainName) => new RegExp(`\\b${domainName}\\b`).test(content)).map((domainName) => `${relative(projectDir, filePath)} exposes ${domainName}`);
|
|
160
|
+
});
|
|
161
|
+
return hits.length === 0 ? pass("Entity direct exposure", "no controller domain entity exposure observed") : warn("Entity direct exposure", hits.join(", "));
|
|
162
|
+
}
|
|
97
163
|
function bootJar(projectDir) {
|
|
98
164
|
const buildPath = existsSync(join(projectDir, "build.gradle")) ? join(projectDir, "build.gradle") : join(projectDir, "build.gradle.kts");
|
|
99
165
|
if (!existsSync(buildPath)) {
|
|
@@ -119,20 +185,28 @@ function verificationReport(projectDir) {
|
|
|
119
185
|
function createReport(projectDir) {
|
|
120
186
|
const files = javaFiles(projectDir);
|
|
121
187
|
const findings = [
|
|
188
|
+
springBootApp(projectDir, files),
|
|
189
|
+
gradleRuntime(projectDir),
|
|
122
190
|
gradleOnly(projectDir),
|
|
191
|
+
mavenAbsent(projectDir),
|
|
192
|
+
fakeBuildShimAbsent(projectDir),
|
|
123
193
|
layerStructure(files),
|
|
194
|
+
boundaryShape(files),
|
|
124
195
|
repositoryPort(projectDir, files),
|
|
125
196
|
repositoryAdapter(projectDir, files),
|
|
126
197
|
serviceStorage(projectDir, files),
|
|
127
198
|
domainBehavior(projectDir, files),
|
|
128
199
|
dtoBoundary(files),
|
|
200
|
+
entityDirectExposure(projectDir, files),
|
|
129
201
|
bootJar(projectDir),
|
|
130
202
|
verificationReport(projectDir),
|
|
131
203
|
];
|
|
132
204
|
return [
|
|
133
205
|
"# Backend Shape Report",
|
|
134
206
|
"",
|
|
135
|
-
"Report-only observation for Java/Spring backend
|
|
207
|
+
"Report-only workflow/structure observation report for Java/Spring backend shape.",
|
|
208
|
+
"",
|
|
209
|
+
"This is not enforcement/linter output and not generated app product-quality certification.",
|
|
136
210
|
"",
|
|
137
211
|
"| Criterion | Result | Evidence |",
|
|
138
212
|
"| --- | --- | --- |",
|
|
@@ -148,7 +222,7 @@ function createReport(projectDir) {
|
|
|
148
222
|
}
|
|
149
223
|
export function runBackendShapeReview(options = {}) {
|
|
150
224
|
const projectDir = resolve(options.projectDir ?? process.cwd());
|
|
151
|
-
const reportPath = join(projectDir,
|
|
225
|
+
const reportPath = join(projectDir, BACKEND_SHAPE_REPORT_PATH);
|
|
152
226
|
mkdirSync(dirname(reportPath), { recursive: true });
|
|
153
227
|
writeFileSync(reportPath, createReport(projectDir));
|
|
154
228
|
return { status: 0, stdout: `Backend shape report written: ${reportPath}\n`, stderr: "" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-shape.js","sourceRoot":"","sources":["../../src/cli/backend-shape.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backend-shape.js","sourceRoot":"","sources":["../../src/cli/backend-shape.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/bearshell.js
CHANGED
|
@@ -13,6 +13,12 @@ export function bearshellUsage(invocation = "ph") {
|
|
|
13
13
|
"Runs a bounded shell-native command helper for Persona Harness.",
|
|
14
14
|
"Shell metacharacters are interpreted only with explicit --shell opt-in.",
|
|
15
15
|
"",
|
|
16
|
+
"Windows PowerShell pipelines: prefer no `--shell`.",
|
|
17
|
+
"- Pass PowerShell as the command so pipes stay inside PowerShell.",
|
|
18
|
+
'- `npx ph bearshell powershell -NoProfile -Command "Select-String -Path README.md -Pattern TODO"`',
|
|
19
|
+
"- Avoid project-root or `.persona` root recursive search; it can traverse node_modules or package/vendor files.",
|
|
20
|
+
"- Do not wrap Windows PowerShell pipelines in Unix-style single quotes.",
|
|
21
|
+
"",
|
|
16
22
|
"Environment:",
|
|
17
23
|
"- PH_BEARSHELL_CONDENSE=0 disables output condensation.",
|
|
18
24
|
"- PH_BEARSHELL_CONDENSE_BUDGET overrides the default condensation budget.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bearshell.js","sourceRoot":"","sources":["../../src/cli/bearshell.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bearshell.js","sourceRoot":"","sources":["../../src/cli/bearshell.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/bootstrap.js
CHANGED
|
@@ -9,6 +9,10 @@ import { runPlanCommand } from "./plan-command.js";
|
|
|
9
9
|
import { runPolicyCommand } from "./policy.js";
|
|
10
10
|
import { readBackendProjectProfileState } from "../config/project-profile.js";
|
|
11
11
|
const PERSONA_DIR = ".persona";
|
|
12
|
+
const HARNESS_CONFIG_PATH = ".persona/harness.jsonc";
|
|
13
|
+
const RULES_DIR_PATH = ".persona/rules/";
|
|
14
|
+
const OPENCODE_CONFIG_PATH = ".opencode/opencode.json";
|
|
15
|
+
const GITIGNORE_PATH = ".gitignore";
|
|
12
16
|
const POLICY_OVERLAY_PATH = ".persona/policies/overlay.jsonc";
|
|
13
17
|
const ROOT_AGENT_INSTRUCTIONS_PATH = "AGENTS.md";
|
|
14
18
|
export function bootstrapUsage(invocation = "ph") {
|
|
@@ -18,7 +22,11 @@ export function bootstrapUsage(invocation = "ph") {
|
|
|
18
22
|
"Prepares the backend Persona Harness workflow for AI implementation.",
|
|
19
23
|
"",
|
|
20
24
|
"What it fills when missing:",
|
|
21
|
-
`- ${
|
|
25
|
+
`- ${HARNESS_CONFIG_PATH}`,
|
|
26
|
+
`- ${RULES_DIR_PATH}`,
|
|
27
|
+
`- ${OPENCODE_CONFIG_PATH}`,
|
|
28
|
+
`- ${GITIGNORE_PATH}`,
|
|
29
|
+
`- ${ROOT_AGENT_INSTRUCTIONS_PATH}`,
|
|
22
30
|
`- ${PROFILE_PATH}`,
|
|
23
31
|
`- ${POLICY_OVERLAY_PATH}`,
|
|
24
32
|
`- ${PLAN_PATH}`,
|
|
@@ -166,13 +174,17 @@ function runBackendBootstrap(options, force) {
|
|
|
166
174
|
"Skipped:",
|
|
167
175
|
...(skipped.length > 0 ? skipped.map((item) => `- ${item}`) : ["- none"]),
|
|
168
176
|
"",
|
|
169
|
-
"Ready
|
|
177
|
+
"Ready backend bootstrap files:",
|
|
178
|
+
`- ${HARNESS_CONFIG_PATH}`,
|
|
179
|
+
`- ${RULES_DIR_PATH}`,
|
|
180
|
+
`- ${OPENCODE_CONFIG_PATH}`,
|
|
181
|
+
`- ${GITIGNORE_PATH}`,
|
|
182
|
+
`- ${ROOT_AGENT_INSTRUCTIONS_PATH}`,
|
|
170
183
|
`- ${PROFILE_PATH}`,
|
|
171
184
|
`- ${POLICY_OVERLAY_PATH}`,
|
|
172
185
|
`- ${PLAN_PATH}`,
|
|
173
186
|
`- ${IMPLEMENTATION_REPORT_PATH}`,
|
|
174
187
|
`- ${REVIEW_REPORT_PATH}`,
|
|
175
|
-
`- ${ROOT_AGENT_INSTRUCTIONS_PATH}`,
|
|
176
188
|
"",
|
|
177
189
|
"Next:",
|
|
178
190
|
"- Ask the AI agent to run `npx ph workflow implement` before implementation.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,OAAO,MAAM,cAAc,CAAA;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAA;AAY7E,MAAM,WAAW,GAAG,UAAU,CAAA;AAC9B,MAAM,mBAAmB,GAAG,iCAAiC,CAAA;AAC7D,MAAM,4BAA4B,GAAG,WAAW,CAAA;AAEhD,MAAM,UAAU,cAAc,CAAC,UAAU,GAAG,IAAI;IAC9C,OAAO;QACL,UAAU,UAAU,8BAA8B;QAClD,EAAE;QACF,sEAAsE;QACtE,EAAE;QACF,6BAA6B;QAC7B,KAAK,
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":"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"}
|