@agentsmd/preset-java 0.2.0 → 0.3.0

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/README.md CHANGED
@@ -8,5 +8,6 @@ npx @agentsmd/cli init --preset java # Java 규칙만
8
8
  ```
9
9
 
10
10
  - Java 코드 규칙 문서: 코드 스타일, 클린 코드 원칙과 예시, Java 체크리스트
11
- - palantir-java-format(Spotless) 커밋 검사, Gradle CI
12
- - Git 작업 규칙은 [Git 프리셋](https://www.npmjs.com/package/@agentsmd/preset-git)을 함께 고르면 더해집니다. `AGENTS.md`는 고른 프리셋에 맞춰 만들어집니다.
11
+ - palantir-java-format(Spotless) 설정과 Gradle 검증·CI 명령 문서
12
+ - Git 훅·GitHub 설정은 설치하지 않습니다. CI 문서에는 특정 서비스와 무관하게 실행할 명령만 적습니다.
13
+ - Git 작업 규칙과 훅은 [Git 프리셋](https://www.npmjs.com/package/@agentsmd/preset-git)을 함께 고르면 더해집니다. `AGENTS.md`는 고른 프리셋에 맞춰 만들어집니다.
package/dist/index.d.ts CHANGED
@@ -1,15 +1,14 @@
1
1
  /**
2
2
  * Java·Gradle 프로젝트용 프리셋.
3
3
  *
4
- * Java 코드 규칙 문서, Spotless(palantir-java-format) 커밋 검사, Gradle CI를 담는다.
5
- * Git 작업 규칙은 Git 프리셋을 함께 고르면 더해진다.
4
+ * Java 코드 규칙 문서와 Spotless(palantir-java-format)·Gradle 검증 명령 문서를 담는다.
5
+ * Git 훅·GitHub 설정은 넣지 않는다. 필요하면 Git 프리셋을 함께 고른다.
6
6
  * `files/`는 빌드 결과(dist/)와 소스(src/) 어디서 실행해도 패키지 루트 기준으로 같은 위치다.
7
7
  */
8
8
  export declare const javaPreset: {
9
9
  name: string;
10
10
  description: string;
11
11
  filesDir: string;
12
- hooksPath: string;
13
12
  docs: {
14
13
  path: string;
15
14
  when: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;CA0BL,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;CAwBL,CAAC"}
package/dist/index.js CHANGED
@@ -2,16 +2,14 @@ import { fileURLToPath } from "node:url";
2
2
  /**
3
3
  * Java·Gradle 프로젝트용 프리셋.
4
4
  *
5
- * Java 코드 규칙 문서, Spotless(palantir-java-format) 커밋 검사, Gradle CI를 담는다.
6
- * Git 작업 규칙은 Git 프리셋을 함께 고르면 더해진다.
5
+ * Java 코드 규칙 문서와 Spotless(palantir-java-format)·Gradle 검증 명령 문서를 담는다.
6
+ * Git 훅·GitHub 설정은 넣지 않는다. 필요하면 Git 프리셋을 함께 고른다.
7
7
  * `files/`는 빌드 결과(dist/)와 소스(src/) 어디서 실행해도 패키지 루트 기준으로 같은 위치다.
8
8
  */
9
9
  export const javaPreset = {
10
10
  name: "java",
11
- description: "Java·Gradle 프로젝트용 지침, 커밋 훅, Spotless·Gradle CI",
11
+ description: "Java·Gradle 프로젝트용 코드 규칙, Spotless·Gradle 검증 명령",
12
12
  filesDir: fileURLToPath(new URL("../files", import.meta.url)),
13
- // Spotless 검사(pre-commit.d/spotless)를 연결한다.
14
- hooksPath: ".githooks",
15
13
  docs: [
16
14
  {
17
15
  path: "docs/project-direction.md",
@@ -21,11 +19,11 @@ export const javaPreset = {
21
19
  { path: "docs/clean-code.md", when: "코드 작성, 설계" },
22
20
  { path: "docs/clean-code-examples.md", when: "코드 작성 시 참고 예시" },
23
21
  { path: "docs/java-checklist.md", when: "Java 코드 작성·리뷰" },
24
- { path: "docs/lint-and-ci.md", when: "훅·린트·CI 설정" },
22
+ { path: "docs/lint-and-ci.md", when: "린트·포맷·CI 설정" },
25
23
  ],
26
24
  rules: [
27
25
  "코드에는 의도를 설명하는 주석을 적극적으로 단다.",
28
- "포맷은 손으로 맞추지 않는다. 커밋 전 `./gradlew spotlessApply`.",
26
+ "포맷은 손으로 맞추지 않는다. 작업을 마치기 전 `./gradlew spotlessApply`.",
29
27
  ],
30
28
  verify: "./gradlew spotlessCheck build",
31
29
  nextSteps: [
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,4CAA4C;IAC5C,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,kCAAkC;SACzC;QACD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE;QACjD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE;QACjD,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,eAAe,EAAE;QAC9D,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,eAAe,EAAE;QACzD,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE;KACpD;IACD,KAAK,EAAE;QACL,6BAA6B;QAC7B,kDAAkD;KACnD;IACD,MAAM,EAAE,+BAA+B;IACvC,SAAS,EAAE;QACT,gDAAgD;QAChD,4EAA4E;KAC7E;CACe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,kCAAkC;SACzC;QACD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE;QACjD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE;QACjD,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,eAAe,EAAE;QAC9D,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,eAAe,EAAE;QACzD,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,aAAa,EAAE;KACrD;IACD,KAAK,EAAE;QACL,6BAA6B;QAC7B,uDAAuD;KACxD;IACD,MAAM,EAAE,+BAA+B;IACvC,SAAS,EAAE;QACT,gDAAgD;QAChD,4EAA4E;KAC7E;CACe,CAAC"}
@@ -3,7 +3,7 @@
3
3
  ## 포맷
4
4
 
5
5
  - palantir-java-format (Spotless). 들여쓰기 공백 4칸, 줄 길이 120. 수동 정렬하지 않는다.
6
- - 커밋 전 `./gradlew spotlessApply`. pre-commit 훅이 `spotlessCheck` 를 돌린다.
6
+ - 작업을 마치기 전 `./gradlew spotlessApply`. 검증 명령과 CI 가 `spotlessCheck` 를 돌린다.
7
7
  - 설정은 [lint-and-ci.md](lint-and-ci.md).
8
8
 
9
9
  ## 네이밍
@@ -39,7 +39,7 @@
39
39
 
40
40
  - 코드를 그대로 읽는 주석 (`// i 증가`)
41
41
  - 주석 처리된 코드
42
- - 변경 이력 주석 (git 이 한다)
42
+ - 변경 이력 주석 (버전 관리 도구가 한다)
43
43
 
44
44
  ```java
45
45
  /**
@@ -1,16 +1,4 @@
1
- # 훅 · 린트 · CI
2
-
3
- ## Git 훅
4
-
5
- `.githooks/pre-commit` 이 `.githooks/pre-commit.d/` 의 검사를 이름 순서로 실행한다.
6
- Java 프리셋은 포맷 검사를 넣는다. Git 프리셋을 함께 설치했다면 커밋 형식·파일 수 검사도 같이 돈다.
7
-
8
- | 파일 | 검사 |
9
- | --- | --- |
10
- | `.githooks/pre-commit.d/spotless` | `gradlew` 가 있고 `.java` 가 스테이징됐으면 `spotlessCheck` |
11
-
12
- - 클론한 뒤 훅이 동작하지 않으면 `git config core.hooksPath .githooks` 로 연결한다.
13
- - `--no-verify` 금지.
1
+ # 린트 · CI
14
2
 
15
3
  ## 린트 (Spotless + palantir-java-format)
16
4
 
@@ -38,15 +26,18 @@ spotless {
38
26
  | 명령 | 용도 |
39
27
  | --- | --- |
40
28
  | `./gradlew spotlessApply` | 포맷 적용 |
41
- | `./gradlew spotlessCheck` | 포맷 검사 (훅, CI) |
29
+ | `./gradlew spotlessCheck` | 포맷 검사 (작업 마무리, CI) |
30
+
31
+ 작업을 마치기 전에 `./gradlew spotlessApply` 로 포맷을 맞추고 아래 검증 명령을 실행한다.
42
32
 
43
33
  ## CI
44
34
 
45
- [.github/workflows/ci.yml](../.github/workflows/ci.yml)
35
+ 어떤 CI 서비스를 쓰든 아래 명령을 실행한다. 작업을 마치기 전에 돌리는 검증 명령과 같다.
46
36
 
47
- | job | 실행 | 검사 |
48
- | --- | --- | --- |
49
- | `build` | PR, main push | `spotlessCheck build`. `gradlew` 없으면 건너뜀 |
37
+ ```bash
38
+ ./gradlew spotlessCheck build
39
+ ```
50
40
 
51
- - 커밋 규칙(파일 수, 메시지 형식)은 CI 에서 검사하지 않는다. 로컬 훅만 검사한다.
52
- - 버전을 올릴 때는 이 문서의 스니펫과 CI 를 같이 고친다.
41
+ - JDK 21 을 쓴다.
42
+ - `gradlew` 가 없는 저장소(지침만 있는 저장소)에서는 건너뛴다.
43
+ - 버전을 올릴 때는 이 문서의 스니펫과 CI 설정을 같이 고친다.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agentsmd/preset-java",
3
- "version": "0.2.0",
4
- "description": "Java·Gradle 프로젝트용 AI 작업 지침 프리셋 (코드 규칙 문서, Spotless 커밋 검사, Gradle CI)",
3
+ "version": "0.3.0",
4
+ "description": "Java·Gradle 프로젝트용 AI 작업 지침 프리셋 (코드 규칙 문서, Spotless·Gradle 검증 명령)",
5
5
  "keywords": [
6
6
  "agents.md",
7
7
  "ai-agent",
@@ -36,7 +36,7 @@
36
36
  "access": "public"
37
37
  },
38
38
  "dependencies": {
39
- "@agentsmd/core": "0.2.0"
39
+ "@agentsmd/core": "0.3.0"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "tsc -p tsconfig.build.json",
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env bash
2
- #
3
- # Java 포맷 검사. 공통 pre-commit 훅이 실행한다.
4
- # Gradle 프로젝트가 붙어 있고 Java 파일이 스테이징됐을 때만 spotlessCheck 를 돌린다.
5
- # 규칙: docs/lint-and-ci.md
6
-
7
- set -euo pipefail
8
-
9
- if [ -x ./gradlew ] && git diff --cached --name-only | grep -q '\.java$'; then
10
- if ! ./gradlew -q spotlessCheck; then
11
- echo "pre-commit: 포맷 위반. ./gradlew spotlessApply 후 다시 스테이징하세요." >&2
12
- exit 1
13
- fi
14
- fi
@@ -1,33 +0,0 @@
1
- # 규칙: docs/lint-and-ci.md
2
- name: CI
3
-
4
- on:
5
- pull_request:
6
- push:
7
- branches: [main]
8
-
9
- jobs:
10
- # 커밋 규칙(파일 수, 메시지 형식)은 CI 에서 막지 않는다. 로컬 훅만 검사한다.
11
- build:
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v7
15
-
16
- # 지침 전용 저장소일 때는 Gradle 프로젝트가 없으므로 빌드를 건너뛴다.
17
- - name: Gradle 프로젝트 확인
18
- id: detect
19
- run: |
20
- if [ -f gradlew ]; then echo "gradle=true" >> "$GITHUB_OUTPUT"; fi
21
-
22
- - uses: actions/setup-java@v6
23
- if: steps.detect.outputs.gradle == 'true'
24
- with:
25
- distribution: temurin
26
- java-version: 21
27
-
28
- - uses: gradle/actions/setup-gradle@v6
29
- if: steps.detect.outputs.gradle == 'true'
30
-
31
- - name: 포맷 검사 + 빌드
32
- if: steps.detect.outputs.gradle == 'true'
33
- run: ./gradlew spotlessCheck build