@agentsmd/preset-typescript 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,12 +1,13 @@
1
1
  # @agentsmd/preset-typescript
2
2
 
3
- [`agentsmd`](https://www.npmjs.com/package/agentsmd)의 TypeScript·React 프론트엔드 프리셋입니다.
3
+ [`@agentsmd/cli`](https://www.npmjs.com/package/@agentsmd/cli)의 TypeScript·React 프론트엔드 프리셋입니다.
4
4
 
5
5
  ```bash
6
- npx agentsmd init --preset typescript
6
+ npx @agentsmd/cli init --preset git,typescript # Git 작업 규칙과 함께
7
+ npx @agentsmd/cli init --preset typescript # TypeScript 규칙만
7
8
  ```
8
9
 
9
- - 문서 지도(`AGENTS.md`)와 규칙: 필수 tsconfig 옵션, `any`·`as`·`!` 금지, 외부 값 경계 검증, 폴더·컴포넌트·접근성, Testing Library·MSW 테스트, 환경변수·보안
10
+ - 규칙 문서: 필수 tsconfig 옵션, `any`·`as`·`!` 금지, 외부 값 경계 검증, 폴더·컴포넌트·접근성, Testing Library·MSW 테스트, 환경변수·보안
10
11
  - 스테이징된 파일만 보는 Prettier 커밋 검사, `.nvmrc` 기반 pnpm CI
11
12
  - tsconfig·린트 설정 파일은 덮어쓰지 않고 문서로 안내합니다.
12
- - [공통 Git 프리셋](https://www.npmjs.com/package/@agentsmd/preset-git)이 함께 설치됩니다.
13
+ - Git 작업 규칙은 [Git 프리셋](https://www.npmjs.com/package/@agentsmd/preset-git)을 함께 고르면 더해집니다. `AGENTS.md`는 고른 프리셋에 맞춰 만들어집니다.
package/dist/index.d.ts CHANGED
@@ -2,22 +2,22 @@
2
2
  * TypeScript·React 프론트엔드용 프리셋.
3
3
  *
4
4
  * 타입 규칙과 필수 컴파일러 옵션, 폴더·컴포넌트·접근성, 테스트, 환경변수·보안 문서와
5
- * Prettier 커밋 검사, pnpm CI를 담는다. Git 작업 규칙은 공통 Git 프리셋을 요구해서 함께 설치한다.
5
+ * Prettier 커밋 검사, pnpm CI를 담는다. Git 작업 규칙은 Git 프리셋을 함께 고르면 더해진다.
6
6
  *
7
7
  * tsconfig나 린트 설정 파일은 설치하지 않는다. 빌드 도구마다 설정이 달라 덮어쓰면 프로젝트가 깨지므로,
8
8
  * 필수 옵션을 문서로 안내하고 사람이 적용한다.
9
9
  */
10
10
  export declare const typescriptPreset: {
11
11
  name: string;
12
- requires: {
13
- name: string;
14
- description: string;
15
- filesDir: string;
16
- hooksPath: string;
17
- nextSteps: string[];
18
- }[];
19
12
  description: string;
20
13
  filesDir: string;
14
+ hooksPath: string;
15
+ docs: {
16
+ path: string;
17
+ when: string;
18
+ }[];
19
+ rules: string[];
20
+ verify: string;
21
21
  nextSteps: string[];
22
22
  };
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAWX,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CA+BX,CAAC"}
package/dist/index.js CHANGED
@@ -1,19 +1,38 @@
1
1
  import { fileURLToPath } from "node:url";
2
- import { gitPreset } from "@agentsmd/preset-git";
3
2
  /**
4
3
  * TypeScript·React 프론트엔드용 프리셋.
5
4
  *
6
5
  * 타입 규칙과 필수 컴파일러 옵션, 폴더·컴포넌트·접근성, 테스트, 환경변수·보안 문서와
7
- * Prettier 커밋 검사, pnpm CI를 담는다. Git 작업 규칙은 공통 Git 프리셋을 요구해서 함께 설치한다.
6
+ * Prettier 커밋 검사, pnpm CI를 담는다. Git 작업 규칙은 Git 프리셋을 함께 고르면 더해진다.
8
7
  *
9
8
  * tsconfig나 린트 설정 파일은 설치하지 않는다. 빌드 도구마다 설정이 달라 덮어쓰면 프로젝트가 깨지므로,
10
9
  * 필수 옵션을 문서로 안내하고 사람이 적용한다.
11
10
  */
12
11
  export const typescriptPreset = {
13
12
  name: "typescript",
14
- requires: [gitPreset],
15
13
  description: "TypeScript·React 프론트엔드용 타입·구조·테스트·보안 규칙, Prettier 훅, pnpm CI",
16
14
  filesDir: fileURLToPath(new URL("../files", import.meta.url)),
15
+ // Prettier 검사(pre-commit.d/prettier)를 연결한다.
16
+ hooksPath: ".githooks",
17
+ docs: [
18
+ {
19
+ path: "docs/project-direction.md",
20
+ when: "모든 작업 시작 전 (필수). 범위 밖 작업이면 먼저 질문",
21
+ },
22
+ { path: "docs/typescript.md", when: "코드 작성·리뷰 (항상). 컴파일러 옵션, 타입 규칙" },
23
+ { path: "docs/structure.md", when: "파일·컴포넌트를 만들 때. 폴더, 컴포넌트, 접근성" },
24
+ { path: "docs/testing.md", when: "테스트를 쓸 때" },
25
+ { path: "docs/env-and-security.md", when: "환경변수·외부 입력·의존성을 다룰 때" },
26
+ { path: "docs/lint-and-ci.md", when: "스크립트·린트·훅·CI 설정" },
27
+ ],
28
+ rules: [
29
+ "`any`, `as` 단언, `!` 로 타입 오류를 덮지 않는다.",
30
+ "API 응답·저장소 값·URL 파라미터·환경변수는 들어오는 곳에서 검증한다.",
31
+ "클릭할 수 있는 요소는 `<button>`·`<a>` 로 만든다. 이미지에는 `alt`, 입력에는 `label`.",
32
+ "기능은 테스트와 함께 쓴다. 버그 수정은 재현 테스트부터 쓴다.",
33
+ "새 의존성은 사용자에게 묻고 추가한다.",
34
+ ],
35
+ verify: "pnpm lint && pnpm format:check && pnpm typecheck && pnpm test && pnpm build",
17
36
  nextSteps: [
18
37
  "docs/project-direction.md 에 프로젝트 목표와 범위를 채우세요.",
19
38
  "tsconfig 에 docs/typescript.md 의 필수 컴파일러 옵션을 켜세요.",
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;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,WAAW,EAAE,8DAA8D;IAC3E,QAAQ,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,SAAS,EAAE;QACT,gDAAgD;QAChD,kDAAkD;QAClD,4FAA4F;QAC5F,kCAAkC;KACnC;CACe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,8DAA8D;IAC3E,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,+BAA+B,EAAE;QACrE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,8BAA8B,EAAE;QACnE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7C,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAClE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,iBAAiB,EAAE;KACzD;IACD,KAAK,EAAE;QACL,sCAAsC;QACtC,4CAA4C;QAC5C,iEAAiE;QACjE,qCAAqC;QACrC,uBAAuB;KACxB;IACD,MAAM,EAAE,6EAA6E;IACrF,SAAS,EAAE;QACT,gDAAgD;QAChD,kDAAkD;QAClD,4FAA4F;QAC5F,kCAAkC;KACnC;CACe,CAAC"}
@@ -56,8 +56,8 @@ ESLint 를 쓰면 typescript-eslint, eslint-plugin-react-hooks, eslint-plugin-js
56
56
 
57
57
  ## Git 훅
58
58
 
59
- 공통 훅(커밋 형식, 파일 수)은 [git-conventions.md](git-conventions.md) 의 자동 검사를 따른다.
60
- TypeScript 프리셋은 포맷 검사 하나를 더한다.
59
+ `.githooks/pre-commit` 이 `.githooks/pre-commit.d/` 의 검사를 이름 순서로 실행한다.
60
+ TypeScript 프리셋은 포맷 검사를 넣는다. Git 프리셋을 함께 설치했다면 커밋 형식·파일 수 검사도 같이 돈다.
61
61
 
62
62
  | 파일 | 검사 |
63
63
  | --- | --- |
@@ -1,7 +1,7 @@
1
1
  # 프로젝트 방향
2
2
 
3
3
  <!--
4
- 작성 규칙: docs/writing-style.md
4
+ 작성 규칙:
5
5
  - 사람이 채운다. 에이전트는 사용자 요청 없이 이 문서를 고치지 않는다.
6
6
  - 각 섹션은 3~5줄 불릿. 채울 내용이 없으면 섹션을 지운다.
7
7
  - 방향이 바뀌면 이 문서부터 고친다.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentsmd/preset-typescript",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "TypeScript·React 프론트엔드용 AI 작업 지침 프리셋 (타입·구조·테스트·보안 규칙, Prettier 훅, pnpm CI)",
5
5
  "keywords": [
6
6
  "agents.md",
@@ -36,8 +36,7 @@
36
36
  "access": "public"
37
37
  },
38
38
  "dependencies": {
39
- "@agentsmd/preset-git": "0.1.0",
40
- "@agentsmd/core": "0.1.0"
39
+ "@agentsmd/core": "0.2.0"
41
40
  },
42
41
  "scripts": {
43
42
  "build": "tsc -p tsconfig.build.json",
package/files/AGENTS.md DELETED
@@ -1,46 +0,0 @@
1
- # AGENTS.md
2
-
3
- 에이전트 작업 지침의 진입점. 작업 전 이 파일을 읽고, 작업 종류에 맞는 문서를 연다.
4
-
5
- ## 문서 지도
6
-
7
- | 문서 | 읽는 시점 |
8
- | --- | --- |
9
- | [docs/project-direction.md](docs/project-direction.md) | 모든 작업 시작 전 (필수). 범위 밖 작업이면 먼저 질문 |
10
- | [docs/workflow.md](docs/workflow.md) | 모든 작업 시작 전 (필수) |
11
- | [docs/git-conventions.md](docs/git-conventions.md) | 이슈·브랜치·커밋·PR·머지 |
12
- | [docs/code-review.md](docs/code-review.md) | PR 리뷰 확인·반영 |
13
- | [docs/typescript.md](docs/typescript.md) | 코드 작성·리뷰 (항상). 컴파일러 옵션, 타입 규칙 |
14
- | [docs/structure.md](docs/structure.md) | 파일·컴포넌트를 만들 때. 폴더, 컴포넌트, 접근성 |
15
- | [docs/testing.md](docs/testing.md) | 테스트를 쓸 때 |
16
- | [docs/env-and-security.md](docs/env-and-security.md) | 환경변수·외부 입력·의존성을 다룰 때 |
17
- | [docs/lint-and-ci.md](docs/lint-and-ci.md) | 스크립트·린트·훅·CI 설정 |
18
- | [docs/writing-style.md](docs/writing-style.md) | md 문서, 커밋·PR 메시지 작성 |
19
-
20
- ## 핵심 규칙
21
-
22
- 문서를 다 읽지 못했더라도 아래는 반드시 지킨다.
23
-
24
- 1. 커밋 하나 = 책임 하나, 파일 5개 이하.
25
- 2. 커밋 1개 후 작업을 멈추고 사용자 피드백을 기다린다.
26
- 3. `any`, `as` 단언, `!` 로 타입 오류를 덮지 않는다.
27
- 4. API 응답·저장소 값·URL 파라미터·환경변수는 들어오는 곳에서 검증한다.
28
- 5. 클릭할 수 있는 요소는 `<button>`·`<a>` 로 만든다. 이미지에는 `alt`, 입력에는 `label`.
29
- 6. 기능은 테스트와 함께 쓴다. 버그 수정은 재현 테스트부터 쓴다.
30
- 7. 새 의존성은 사용자에게 묻고 추가한다.
31
- 8. 커밋·PR 메시지는 사람이 쓴 것처럼 짧게 쓴다. AI 서명 금지. 훅 우회(`--no-verify`) 금지.
32
-
33
- ## 검증
34
-
35
- 작업을 마치기 전에 실행하고 결과를 그대로 보고한다. 실패를 숨기지 않는다.
36
-
37
- ```bash
38
- pnpm lint && pnpm format:check && pnpm typecheck && pnpm test && pnpm build
39
- ```
40
-
41
- ## 지침 관리
42
-
43
- - 지침 추가·변경 요청은 메모리에 저장하지 않는다. 이 파일이나 `docs/` 에 반영한다.
44
- - 새 문서를 만들면 위 문서 지도에 한 줄 추가한다.
45
- - 문서 수정도 같은 커밋 규칙을 따른다.
46
- - 문서 문체는 [docs/writing-style.md](docs/writing-style.md) 를 따른다.
package/files/CLAUDE.md DELETED
@@ -1 +0,0 @@
1
- @AGENTS.md