@agentsmd/preset-git 0.1.0 → 0.2.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
@@ -1,8 +1,13 @@
1
1
  # @agentsmd/preset-git
2
2
 
3
- [`agentsmd`](https://www.npmjs.com/package/agentsmd)의 공통 Git 작업 규칙 프리셋입니다. 언어 프리셋(`java`, `typescript`)을 설치하면 함께 설치됩니다.
3
+ [`@agentsmd/cli`](https://www.npmjs.com/package/@agentsmd/cli)의 언어와 무관한 Git 작업 규칙 프리셋입니다.
4
+
5
+ ```bash
6
+ npx @agentsmd/cli init --preset git # Git 규칙만
7
+ npx @agentsmd/cli init --preset git,typescript # 언어 프리셋과 함께 (java도 가능)
8
+ ```
4
9
 
5
10
  - 문서: Git 작업 규칙(이슈 → 브랜치 → PR → merge 커밋), 에이전트 작업 흐름, 리뷰 반영 기준, 문체
6
- - 훅: `commit-msg`(형식·50자·마침표·AI 서명), `pre-commit`(커밋당 파일 수, 언어별 검사 실행)
11
+ - 훅: `commit-msg`(형식·50자·마침표·AI 서명), `pre-commit.d/max-files`(커밋당 파일 수)
7
12
  - GitHub: PR 규칙 검사 워크플로, 이슈·PR 템플릿
8
13
  - Claude Code 설정: 훅 우회와 force push 차단
package/dist/index.d.ts CHANGED
@@ -2,13 +2,18 @@
2
2
  * 언어와 무관한 Git 작업 규칙 프리셋.
3
3
  *
4
4
  * 이슈 → 브랜치 → PR → merge 커밋 흐름, 에이전트의 커밋 단위 작업 방식, 커밋 훅, PR 규칙 검사를 담는다.
5
- * 문서 지도(AGENTS.md)는 언어 프리셋이 가지므로 단독으로 설치하지 않고 언어 프리셋이 요구한다.
5
+ * 단독으로 설치해도 되고, 언어 프리셋과 함께 고르면 문서 지도가 합쳐진다.
6
6
  */
7
7
  export declare const gitPreset: {
8
8
  name: string;
9
9
  description: string;
10
10
  filesDir: string;
11
11
  hooksPath: string;
12
+ docs: {
13
+ path: string;
14
+ when: string;
15
+ }[];
16
+ rules: string[];
12
17
  nextSteps: string[];
13
18
  };
14
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;CAUJ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;CAuBJ,CAAC"}
package/dist/index.js CHANGED
@@ -3,13 +3,26 @@ import { fileURLToPath } from "node:url";
3
3
  * 언어와 무관한 Git 작업 규칙 프리셋.
4
4
  *
5
5
  * 이슈 → 브랜치 → PR → merge 커밋 흐름, 에이전트의 커밋 단위 작업 방식, 커밋 훅, PR 규칙 검사를 담는다.
6
- * 문서 지도(AGENTS.md)는 언어 프리셋이 가지므로 단독으로 설치하지 않고 언어 프리셋이 요구한다.
6
+ * 단독으로 설치해도 되고, 언어 프리셋과 함께 고르면 문서 지도가 합쳐진다.
7
7
  */
8
8
  export const gitPreset = {
9
9
  name: "git",
10
10
  description: "Git 작업 흐름 문서, 커밋 훅, Conventions 검사, 이슈·PR 템플릿",
11
11
  filesDir: fileURLToPath(new URL("../files", import.meta.url)),
12
12
  hooksPath: ".githooks",
13
+ docs: [
14
+ { path: "docs/workflow.md", when: "모든 작업 시작 전 (필수)" },
15
+ { path: "docs/git-conventions.md", when: "이슈·브랜치·커밋·PR·머지" },
16
+ { path: "docs/code-review.md", when: "PR 리뷰 확인·반영" },
17
+ { path: "docs/writing-style.md", when: "md 문서, 커밋·PR 메시지 작성" },
18
+ ],
19
+ rules: [
20
+ "커밋 하나 = 책임 하나, 파일 5개 이하.",
21
+ "커밋 1개 후 작업을 멈추고 사용자 피드백을 기다린다.",
22
+ "PR 은 한 가지 목적만 담는다.",
23
+ "커밋·PR 메시지는 사람이 쓴 것처럼 짧게 쓴다. AI 서명 금지.",
24
+ "훅 우회(`--no-verify`) 금지.",
25
+ ],
13
26
  nextSteps: [
14
27
  "GitHub 저장소 설정에서 머지 방식을 'Create a merge commit'만 허용하세요.",
15
28
  "main 브랜치 룰셋의 필수 체크에 Conventions를 추가하세요.",
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;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,+CAA+C;IAC5D,QAAQ,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE;QACT,wDAAwD;QACxD,yCAAyC;QACzC,uEAAuE;KACxE;CACe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,+CAA+C;IAC5D,QAAQ,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE;QACrD,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,iBAAiB,EAAE;QAC5D,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,aAAa,EAAE;QACpD,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE;KAC/D;IACD,KAAK,EAAE;QACL,0BAA0B;QAC1B,gCAAgC;QAChC,oBAAoB;QACpB,uCAAuC;QACvC,yBAAyB;KAC1B;IACD,SAAS,EAAE;QACT,wDAAwD;QACxD,yCAAyC;QACzC,uEAAuE;KACxE;CACe,CAAC"}
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
  #
3
- # 커밋 단위를 작게 유지하기 위한 pre-commit 훅.
4
- # 1. 스테이징된 파일 수가 HARNESS_MAX_FILES(기본 5)를 넘으면 커밋을 막는다.
5
- # 2. .githooks/pre-commit.d/ 에 언어 프리셋이 넣은 검사를 이름 순서로 실행한다.
3
+ # 커밋 단위를 작게 유지하기 위한 검사. .githooks/pre-commit 이 실행한다.
4
+ # 스테이징된 파일 수가 HARNESS_MAX_FILES(기본 5)를 넘으면 커밋을 막는다.
6
5
  #
7
6
  # 나누면 빌드가 깨질 때만 한도를 올린다: HARNESS_MAX_FILES=6 git commit ...
8
7
  # 규칙: docs/workflow.md
@@ -34,14 +33,4 @@ if [ "$count" -gt "$max_files" ]; then
34
33
  exit 1
35
34
  fi
36
35
 
37
- # 언어별 검사(포맷 등)는 언어 프리셋이 pre-commit.d 에 넣는다. 실행 권한이 있는 파일만 실행한다.
38
- checks_dir="$(dirname "$0")/pre-commit.d"
39
- if [ -d "$checks_dir" ]; then
40
- for check in "$checks_dir"/*; do
41
- if [ -f "$check" ] && [ -x "$check" ]; then
42
- "$check"
43
- fi
44
- done
45
- fi
46
-
47
36
  exit 0
@@ -81,10 +81,10 @@ git merge main
81
81
 
82
82
  ## 자동 검사
83
83
 
84
- | 위치 | 검사 |
85
- | -------------------- | --------------------------------------------------------------------- |
86
- | `.githooks/commit-msg` | 커밋 형식, 제목 50자, 마침표, AI 서명 |
87
- | `.githooks/pre-commit` | 커밋당 파일 수, `.githooks/pre-commit.d/`의 언어별 검사 |
88
- | CI `Conventions` | 브랜치 이름, PR 제목, `Closes #N`. `main` 룰셋의 필수 체크로 건다 |
84
+ | 위치 | 검사 |
85
+ | ---------------------------------- | ----------------------------------------------------------------- |
86
+ | `.githooks/commit-msg` | 커밋 형식, 제목 50자, 마침표, AI 서명 |
87
+ | `.githooks/pre-commit.d/max-files` | 커밋당 파일 수. `.githooks/pre-commit`이 언어별 검사와 함께 실행 |
88
+ | CI `Conventions` | 브랜치 이름, PR 제목, `Closes #N`. `main` 룰셋의 필수 체크로 건다 |
89
89
 
90
90
  훅은 `agentsmd init`이 연결한다. 직접 연결하려면 `git config core.hooksPath .githooks`.
@@ -38,5 +38,5 @@
38
38
 
39
39
  ## 코드 주석
40
40
 
41
- - [code-style.md](code-style.md) 의 주석 규칙을 따른다.
41
+ - 무엇을 주석으로 남길지는 언어 프리셋의 코드 규칙 문서를 따른다.
42
42
  - 주석도 짧게. 이유 한 줄이면 충분하다.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentsmd/preset-git",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "언어와 무관한 Git 작업 규칙 프리셋 (작업 흐름 문서, 커밋 훅, Conventions 검사, 이슈·PR 템플릿)",
5
5
  "keywords": [
6
6
  "agents.md",
@@ -35,7 +35,7 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@agentsmd/core": "0.1.0"
38
+ "@agentsmd/core": "0.2.0"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "tsc -p tsconfig.build.json",