heymark 1.0.2 → 1.1.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,226 +1,226 @@
1
- # Heymark
2
-
3
- AI 코딩 도구의 컨벤션을 중앙에서 관리하고, 각 도구 형식으로 자동 변환하는 시스템.
4
-
5
- 1. [Overview](#overview)
6
- 2. [Features](#features)
7
- 3. [Tech Stack](#tech-stack)
8
- 4. [Publishing](#publishing)
9
- 5. [Integration](#integration)
10
- 6. [Getting Started](#getting-started)
11
- 7. [Tool Support](#tool-support)
12
-
13
- ## Overview
14
-
15
- 프로젝트마다 AI 도구별 규칙 파일을 따로 작성하면 관리가 파편화된다.
16
- 이 시스템은 단일 진실 공급원(Single Source of Truth) 원칙에 따라, 한 곳에서 작성한 규칙을 여러 AI 도구 형식으로 자동 변환한다.
17
- 규칙을 한 번만 작성하면 Cursor, Claude Code, GitHub Copilot, OpenAI Codex 등에서 즉시 사용할 수 있다.
18
-
19
- ## Features
20
-
21
- - **단일 소스 관리**: 마크다운 파일 하나로 모든 AI 도구의 규칙 통합 관리
22
- - **자동 형식 변환**: 4종 AI 도구의 네이티브 형식으로 자동 변환 (YAML frontmatter, AGENTS.md 등)
23
- - **선택적 변환**: 특정 도구만 선택하여 변환 가능
24
- - **NPM 패키지 배포**: NPM registry를 통한 public 배포로 간편한 설치 및 버전 관리
25
- - **플러그인 구조**: 변환 모듈 추가만으로 새 도구 지원 확장
26
-
27
- ## Tech Stack
28
-
29
- - **Runtime**: Node.js
30
- - **Language**: JavaScript
31
- - **Core**: File system API, YAML frontmatter parsing
32
-
33
- ## Publishing
34
-
35
- 패키지 관리자용 가이드 (일반 사용자는 [Integration](#integration) 참고).
36
-
37
- ### 초기 설정 (한 번만)
38
-
39
- ```bash
40
- # NPM 로그인
41
- npm login
42
- # Username: your-npm-username
43
- # Email: your-email@example.com
44
- ```
45
-
46
- ### 배포 프로세스
47
-
48
- ```bash
49
- # 1. 규칙 수정 후 테스트
50
- node scripts/sync.js --preview
51
-
52
- # 2. 버전 업데이트 (자동으로 Git 태그 생성)
53
- npm version patch # 또는 minor, major
54
-
55
- # 3. GitHub에 푸시
56
- git push --follow-tags # 커밋과 태그를 함께 푸시
57
-
58
- # 4. NPM에 배포
59
- npm publish
60
- ```
61
-
62
- **버전 관리:**
63
-
64
- - `patch` (1.0.0 → 1.0.1): 버그 수정, 오타 수정
65
- - `minor` (1.0.0 → 1.1.0): 새 규칙 추가, 기능 개선
66
- - `major` (1.0.0 → 2.0.0): 호환성 깨지는 변경
67
-
68
- **Git 태그 설명:**
69
-
70
- - `npm version` 명령어는 자동으로 Git 태그를 생성합니다
71
- - `git push --follow-tags`: 일반 커밋과 태그를 함께 푸시 (추천)
72
- - 또는 `git push && git push --tags`: 커밋 푸시 후 모든 태그 푸시
73
-
74
- ## Integration
75
-
76
- ### Installation
77
-
78
- ```bash
79
- # 패키지 설치
80
- npm install --save-dev heymark
81
- ```
82
-
83
- ### 초기 설정 (규칙 소스 = 원격 GitHub 저장소)
84
-
85
- 규칙은 **원격 GitHub 저장소(Public/Private)** 에서 읽습니다.
86
- 최초 1회만 설정하면 됩니다.
87
-
88
- ```bash
89
- # 규칙 소스 설정 (.heymark/config.json 생성)
90
- npx heymark init <GitHub-저장소-URL>
91
- ```
92
-
93
- 예시:
94
-
95
- ```bash
96
- # HTTPS (Private이면 Git credential/토큰 설정 필요)
97
- npx heymark init https://github.com/org/my-rules.git
98
-
99
- # SSH (Private 저장소 권장)
100
- npx heymark init git@github.com:org/my-rules.git
101
-
102
- # 저장소 안에서 .md가 하위 폴더에 있을 때
103
- npx heymark init https://github.com/org/my-rules.git --dir rules --branch main
104
- ```
105
-
106
- 설정은 **`.heymark/config.json`**에, 캐시(클론된 저장소)는 `.heymark/cache/`에 생성됩니다.
107
-
108
- ```gitignore
109
- .heymark/
110
- ```
111
-
112
- 이후 `heymark` 실행 시 해당 저장소를 clone/pull 한 뒤 `.md` 파일들을 변환합니다.
113
-
114
- ### Usage with npx
115
-
116
- 설치 없이 바로 실행하거나, 설치 후 npx로 실행할 수 있습니다.
117
- 규칙은 **원격 GitHub 저장소**에서 가져오며, 해당 저장소 안의 마크다운 파일을 각 AI 도구 형식으로 변환해 현재 프로젝트에 생성합니다.
118
-
119
- ```bash
120
- # .heymark/config.json에 설정된 외부 규칙 저장소에서 가져와 모든 도구 형식으로 변환 (기존 생성 파일 삭제 후 새로 생성)
121
- npx heymark
122
-
123
- # 이번에만 다른 외부 저장소 사용 (.heymark/config.json 무시)
124
- npx heymark --source https://github.com/org/other-rules.git
125
-
126
- # 특정 도구만 변환
127
- npx heymark -t cursor,claude
128
-
129
- # 미리보기 (파일 생성 없이 변환 결과만 확인)
130
- npx heymark --preview
131
-
132
- # 이전에 생성된 도구별 파일 삭제
133
- npx heymark --clean
134
-
135
- # 도움말
136
- npx heymark --help
137
- ```
138
-
139
- **설치 없이 바로 사용:**
140
-
141
- ```bash
142
- # 설치 없이 최신 버전으로 실행
143
- npx heymark@latest
144
- ```
145
-
146
- **패키지 업데이트:**
147
-
148
- ```bash
149
- npm update heymark
150
- npx heymark
151
- ```
152
-
153
- **동작 방식:**
154
-
155
- - 기본적으로 기존 생성된 파일을 삭제한 후 새로 생성합니다
156
- - 이를 통해 이전 버전의 파일이 남지 않고 깔끔하게 동기화됩니다
157
-
158
- ## Getting Started
159
-
160
- 규칙을 작성하고 로컬에서 테스트하는 방법.
161
-
162
- ### Writing Rules
163
-
164
- 규칙 소스 디렉터리(외부 레포)에 마크다운 파일 작성. YAML frontmatter로 메타데이터 정의:
165
-
166
- ```markdown
167
- ---
168
- description: "AI assistant behavior guidelines"
169
- globs: "**/*.ts,**/*.tsx"
170
- alwaysApply: true
171
- ---
172
-
173
- # Rule Title
174
-
175
- Rule content...
176
- ```
177
-
178
- ### Local Testing
179
-
180
- ```bash
181
- # 규칙 소스 설정 (최초 1회, GitHub 저장소 URL)
182
- node scripts/sync.js init https://github.com/org/my-rules.git
183
-
184
- # 모든 도구 형식으로 변환
185
- node scripts/sync.js
186
-
187
- # 이번에만 다른 저장소 사용
188
- node scripts/sync.js --source https://github.com/org/other-rules.git
189
-
190
- # 특정 도구만 변환
191
- node scripts/sync.js -t cursor,claude
192
-
193
- # 미리보기 (파일 생성 없이 확인)
194
- node scripts/sync.js --preview
195
-
196
- # 생성된 파일 삭제
197
- node scripts/sync.js --clean
198
- ```
199
-
200
- ## Tool Support
201
-
202
- ### Supported Tools
203
-
204
- | Tool | Output Format | Key Features |
205
- | :------------- | :-------------------------- | :------------------------------ |
206
- | Cursor | `.cursor/rules/*.mdc` | YAML frontmatter, glob 매칭 |
207
- | Claude Code | `.claude/skills/*/SKILL.md` | 스킬 디렉토리 구조 |
208
- | GitHub Copilot | `.github/instructions/*.md` | applyTo 패턴 매칭 |
209
- | OpenAI Codex | `AGENTS.md` | 단일 파일 병합 (Agent Rules v1) |
210
-
211
- ### Adding New Tools
212
-
213
- 변환 모듈을 추가하면 자동 인식된다. 필수 export 인터페이스:
214
-
215
- ```javascript
216
- module.exports = {
217
- name: "Tool Name",
218
- output: "output/path/pattern",
219
- generate(rules, projectRoot) {
220
- /* ... */
221
- },
222
- clean(ruleNames, projectRoot) {
223
- /* ... */
224
- },
225
- };
226
- ```
1
+ # Heymark
2
+
3
+ AI 코딩 도구의 컨벤션을 중앙에서 관리하고, 각 도구 형식으로 자동 변환하는 시스템.
4
+
5
+ 1. [Overview](#overview)
6
+ 2. [Features](#features)
7
+ 3. [Tech Stack](#tech-stack)
8
+ 4. [Publishing](#publishing)
9
+ 5. [Integration](#integration)
10
+ 6. [Getting Started](#getting-started)
11
+ 7. [Tool Support](#tool-support)
12
+
13
+ ## Overview
14
+
15
+ 프로젝트마다 AI 도구별 규칙 파일을 따로 작성하면 관리가 파편화된다.
16
+ 이 시스템은 단일 진실 공급원(Single Source of Truth) 원칙에 따라, 한 곳에서 작성한 규칙을 여러 AI 도구 형식으로 자동 변환한다.
17
+ 규칙을 한 번만 작성하면 Cursor, Claude Code, GitHub Copilot, OpenAI Codex 등에서 즉시 사용할 수 있다.
18
+
19
+ ## Features
20
+
21
+ - **단일 소스 관리**: 마크다운 파일 하나로 모든 AI 도구의 규칙 통합 관리
22
+ - **자동 형식 변환**: 4종 AI 도구의 네이티브 형식으로 자동 변환 (YAML frontmatter, AGENTS.md 등)
23
+ - **선택적 변환**: 특정 도구만 선택하여 변환 가능
24
+ - **NPM 패키지 배포**: NPM registry를 통한 public 배포로 간편한 설치 및 버전 관리
25
+ - **플러그인 구조**: 변환 모듈 추가만으로 새 도구 지원 확장
26
+
27
+ ## Tech Stack
28
+
29
+ - **Runtime**: Node.js
30
+ - **Language**: JavaScript
31
+ - **Core**: File system API, YAML frontmatter parsing
32
+
33
+ ## Publishing
34
+
35
+ 패키지 관리자용 가이드 (일반 사용자는 [Integration](#integration) 참고).
36
+
37
+ ### 초기 설정 (한 번만)
38
+
39
+ ```bash
40
+ # NPM 로그인
41
+ npm login
42
+ # Username: your-npm-username
43
+ # Email: your-email@example.com
44
+ ```
45
+
46
+ ### 배포 프로세스
47
+
48
+ ```bash
49
+ # 1. 규칙 수정 후 테스트
50
+ node scripts/sync.js --preview
51
+
52
+ # 2. 버전 업데이트 (자동으로 Git 태그 생성)
53
+ npm version patch # 또는 minor, major
54
+
55
+ # 3. GitHub에 푸시
56
+ git push --follow-tags # 커밋과 태그를 함께 푸시
57
+
58
+ # 4. NPM에 배포
59
+ npm publish
60
+ ```
61
+
62
+ **버전 관리:**
63
+
64
+ - `patch` (1.0.0 → 1.0.1): 버그 수정, 오타 수정
65
+ - `minor` (1.0.0 → 1.1.0): 새 규칙 추가, 기능 개선
66
+ - `major` (1.0.0 → 2.0.0): 호환성 깨지는 변경
67
+
68
+ **Git 태그 설명:**
69
+
70
+ - `npm version` 명령어는 자동으로 Git 태그를 생성합니다
71
+ - `git push --follow-tags`: 일반 커밋과 태그를 함께 푸시 (추천)
72
+ - 또는 `git push && git push --tags`: 커밋 푸시 후 모든 태그 푸시
73
+
74
+ ## Integration
75
+
76
+ ### Installation
77
+
78
+ ```bash
79
+ # 패키지 설치
80
+ npm install --save-dev heymark
81
+ ```
82
+
83
+ ### 초기 설정 (규칙 소스 = 원격 GitHub 저장소)
84
+
85
+ 규칙은 **원격 GitHub 저장소(Public/Private)** 에서 읽습니다.
86
+ 최초 1회만 설정하면 됩니다.
87
+
88
+ ```bash
89
+ # 규칙 소스 설정 (.heymark/config.json 생성)
90
+ npx heymark init <GitHub-저장소-URL>
91
+ ```
92
+
93
+ 예시:
94
+
95
+ ```bash
96
+ # HTTPS (Private이면 Git credential/토큰 설정 필요)
97
+ npx heymark init https://github.com/org/my-rules.git
98
+
99
+ # SSH (Private 저장소 권장)
100
+ npx heymark init git@github.com:org/my-rules.git
101
+
102
+ # 저장소 안에서 .md가 하위 폴더에 있을 때
103
+ npx heymark init https://github.com/org/my-rules.git --dir rules --branch main
104
+ ```
105
+
106
+ 설정은 **`.heymark/config.json`**에, 캐시(클론된 저장소)는 `.heymark/cache/`에 생성됩니다.
107
+
108
+ ```gitignore
109
+ .heymark/
110
+ ```
111
+
112
+ 이후 `heymark` 실행 시 해당 저장소를 clone/pull 한 뒤 `.md` 파일들을 변환합니다.
113
+
114
+ ### Usage with npx
115
+
116
+ 설치 없이 바로 실행하거나, 설치 후 npx로 실행할 수 있습니다.
117
+ 규칙은 **원격 GitHub 저장소**에서 가져오며, 해당 저장소 안의 마크다운 파일을 각 AI 도구 형식으로 변환해 현재 프로젝트에 생성합니다.
118
+
119
+ ```bash
120
+ # .heymark/config.json에 설정된 외부 규칙 저장소에서 가져와 모든 도구 형식으로 변환 (기존 생성 파일 삭제 후 새로 생성)
121
+ npx heymark
122
+
123
+ # 이번에만 다른 외부 저장소 사용 (.heymark/config.json 무시)
124
+ npx heymark --source https://github.com/org/other-rules.git
125
+
126
+ # 특정 도구만 변환
127
+ npx heymark -t cursor,claude
128
+
129
+ # 미리보기 (파일 생성 없이 변환 결과만 확인)
130
+ npx heymark --preview
131
+
132
+ # 이전에 생성된 도구별 파일 삭제
133
+ npx heymark --clean
134
+
135
+ # 도움말
136
+ npx heymark --help
137
+ ```
138
+
139
+ **설치 없이 바로 사용:**
140
+
141
+ ```bash
142
+ # 설치 없이 최신 버전으로 실행
143
+ npx heymark@latest
144
+ ```
145
+
146
+ **패키지 업데이트:**
147
+
148
+ ```bash
149
+ npm update heymark
150
+ npx heymark
151
+ ```
152
+
153
+ **동작 방식:**
154
+
155
+ - 기본적으로 기존 생성된 파일을 삭제한 후 새로 생성합니다
156
+ - 이를 통해 이전 버전의 파일이 남지 않고 깔끔하게 동기화됩니다
157
+
158
+ ## Getting Started
159
+
160
+ 규칙을 작성하고 로컬에서 테스트하는 방법.
161
+
162
+ ### Writing Rules
163
+
164
+ 규칙 소스 디렉터리(외부 레포)에 마크다운 파일 작성. YAML frontmatter로 메타데이터 정의:
165
+
166
+ ```markdown
167
+ ---
168
+ description: "AI assistant behavior guidelines"
169
+ globs: "**/*.ts,**/*.tsx"
170
+ alwaysApply: true
171
+ ---
172
+
173
+ # Rule Title
174
+
175
+ Rule content...
176
+ ```
177
+
178
+ ### Local Testing
179
+
180
+ ```bash
181
+ # 규칙 소스 설정 (최초 1회, GitHub 저장소 URL)
182
+ node scripts/sync.js init https://github.com/org/my-rules.git
183
+
184
+ # 모든 도구 형식으로 변환
185
+ node scripts/sync.js
186
+
187
+ # 이번에만 다른 저장소 사용
188
+ node scripts/sync.js --source https://github.com/org/other-rules.git
189
+
190
+ # 특정 도구만 변환
191
+ node scripts/sync.js -t cursor,claude
192
+
193
+ # 미리보기 (파일 생성 없이 확인)
194
+ node scripts/sync.js --preview
195
+
196
+ # 생성된 파일 삭제
197
+ node scripts/sync.js --clean
198
+ ```
199
+
200
+ ## Tool Support
201
+
202
+ ### Supported Tools
203
+
204
+ | Tool | Output Format | Key Features |
205
+ | :------------- | :-------------------------- | :------------------------------ |
206
+ | Cursor | `.cursor/rules/*.mdc` | YAML frontmatter, glob 매칭 |
207
+ | Claude Code | `.claude/skills/*/SKILL.md` | 스킬 디렉토리 구조 |
208
+ | GitHub Copilot | `.github/instructions/*.md` | applyTo 패턴 매칭 |
209
+ | OpenAI Codex | `AGENTS.md` | 단일 파일 병합 (Agent Rules v1) |
210
+
211
+ ### Adding New Tools
212
+
213
+ 변환 모듈을 추가하면 자동 인식된다. 필수 export 인터페이스:
214
+
215
+ ```javascript
216
+ module.exports = {
217
+ name: "Tool Name",
218
+ output: "output/path/pattern",
219
+ generate(rules, projectRoot) {
220
+ /* ... */
221
+ },
222
+ clean(ruleNames, projectRoot) {
223
+ /* ... */
224
+ },
225
+ };
226
+ ```
package/package.json CHANGED
@@ -1,57 +1,57 @@
1
- {
2
- "name": "heymark",
3
- "version": "1.0.2",
4
- "description": "Centralized AI coding tool conventions with auto-conversion to multiple formats",
5
- "main": "scripts/sync.js",
6
- "bin": {
7
- "heymark": "scripts/sync.js"
8
- },
9
- "scripts": {
10
- "sync": "node scripts/sync.js",
11
- "init": "node scripts/sync.js init",
12
- "test": "echo \"Error: no test specified\" && exit 1"
13
- },
14
- "keywords": [
15
- "ai",
16
- "coding",
17
- "conventions",
18
- "cursor",
19
- "claude",
20
- "copilot",
21
- "codex",
22
- "rules"
23
- ],
24
- "author": {
25
- "name": "i2na",
26
- "email": "yena.e121@gmail.com",
27
- "url": "https://github.com/i2na"
28
- },
29
- "contributors": [
30
- {
31
- "name": "i2na",
32
- "email": "yena.e121@gmail.com",
33
- "url": "https://github.com/i2na"
34
- },
35
- {
36
- "name": "yezzero",
37
- "email": "yeyeonggim06@gmail.com",
38
- "url": "https://github.com/yezzero"
39
- }
40
- ],
41
- "license": "MIT",
42
- "engines": {
43
- "node": ">=14.0.0"
44
- },
45
- "files": [
46
- "scripts/",
47
- "rules/",
48
- "README.md"
49
- ],
50
- "repository": {
51
- "type": "git",
52
- "url": "git+https://github.com/MosslandOpenDevs/heymark.git"
53
- },
54
- "publishConfig": {
55
- "access": "public"
56
- }
57
- }
1
+ {
2
+ "name": "heymark",
3
+ "version": "1.1.0",
4
+ "description": "Centralized AI coding tool conventions with auto-conversion to multiple formats",
5
+ "main": "scripts/sync.js",
6
+ "bin": {
7
+ "heymark": "scripts/sync.js"
8
+ },
9
+ "scripts": {
10
+ "sync": "node scripts/sync.js",
11
+ "init": "node scripts/sync.js init",
12
+ "test": "echo \"Error: no test specified\" && exit 1"
13
+ },
14
+ "keywords": [
15
+ "ai",
16
+ "coding",
17
+ "conventions",
18
+ "cursor",
19
+ "claude",
20
+ "copilot",
21
+ "codex",
22
+ "rules"
23
+ ],
24
+ "author": {
25
+ "name": "i2na",
26
+ "email": "yena.e121@gmail.com",
27
+ "url": "https://github.com/i2na"
28
+ },
29
+ "contributors": [
30
+ {
31
+ "name": "i2na",
32
+ "email": "yena.e121@gmail.com",
33
+ "url": "https://github.com/i2na"
34
+ },
35
+ {
36
+ "name": "yezzero",
37
+ "email": "yeyeonggim06@gmail.com",
38
+ "url": "https://github.com/yezzero"
39
+ }
40
+ ],
41
+ "license": "MIT",
42
+ "engines": {
43
+ "node": ">=14.0.0"
44
+ },
45
+ "files": [
46
+ "scripts/",
47
+ "rules/",
48
+ "README.md"
49
+ ],
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "git+https://github.com/MosslandOpenDevs/heymark.git"
53
+ },
54
+ "publishConfig": {
55
+ "access": "public"
56
+ }
57
+ }