heymark 1.1.2 → 1.1.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/LICENSE +21 -21
- package/README.ko.md +170 -170
- package/README.md +170 -170
- package/package.json +56 -57
- package/scripts/lib/config.js +110 -73
- package/scripts/lib/parser.js +125 -82
- package/scripts/lib/repo.js +52 -35
- package/scripts/sync.js +312 -239
- package/scripts/tools/antigravity.js +53 -41
- package/scripts/tools/claude.js +53 -42
- package/scripts/tools/codex.js +53 -41
- package/scripts/tools/copilot.js +65 -41
- package/scripts/tools/cursor.js +52 -41
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Mossland Open Source
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Mossland Open Source
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.ko.md
CHANGED
|
@@ -1,170 +1,170 @@
|
|
|
1
|
-
# Heymark
|
|
2
|
-
|
|
3
|
-
AI 코딩 도구별 Skill 문서를 단일 위치에서 관리하고, 각 도구 형식으로 자동 변환하는 도구입니다.
|
|
4
|
-
한 번 작성한 Markdown 소스를 여러 에이전트 도구에 맞춰 재사용할 수 있습니다.
|
|
5
|
-
|
|
6
|
-
1. [Overview](#overview)
|
|
7
|
-
2. [Features](#features)
|
|
8
|
-
3. [Supported Agent Tools](#supported-agent-tools)
|
|
9
|
-
4. [Tech Stack](#tech-stack)
|
|
10
|
-
5. [Heymark Usage](#heymark-usage)
|
|
11
|
-
6. [Heymark Development](#heymark-development)
|
|
12
|
-
|
|
13
|
-
## Overview
|
|
14
|
-
|
|
15
|
-
프로젝트마다 AI 도구별 Skill 파일을 따로 관리하면 문서가 분산되고 유지보수 비용이 커집니다.
|
|
16
|
-
Heymark는 단일 진실 공급원(Single Source of Truth) 원칙으로, 하나의 Markdown 소스를 여러 도구 형식으로 변환합니다.
|
|
17
|
-
한 번 작성한 Skill을 Cursor, Claude Code, GitHub Copilot, OpenAI Codex, Antigravity에서 바로 사용할 수 있습니다.
|
|
18
|
-
|
|
19
|
-
## Features
|
|
20
|
-
|
|
21
|
-
- 단일 소스 관리: Markdown 파일 하나로 여러 AI 도구의 Skill을 통합 관리
|
|
22
|
-
- 자동 형식 변환: 각 도구의 네이티브 형식으로 자동 변환 (YAML frontmatter, AGENTS.md 등)
|
|
23
|
-
- 선택적 변환: 필요한 도구만 선택해서 변환 가능
|
|
24
|
-
- NPM 패키지 배포: npx 기반으로 설치 없이 실행 가능
|
|
25
|
-
- 플러그인 구조: 변환 모듈을 추가해 지원 도구 확장 가능
|
|
26
|
-
|
|
27
|
-
## Supported Agent Tools
|
|
28
|
-
|
|
29
|
-
| Tool | Output Format | Key Features |
|
|
30
|
-
| :------------- | :--------------------------------------- | :------------------------------------------------------- |
|
|
31
|
-
| Cursor | `.cursor/rules/*.mdc` | YAML frontmatter (`description`, `globs`, `alwaysApply`) |
|
|
32
|
-
| Claude Code | `.claude/skills/*/SKILL.md` | Skill 디렉터리 구조 + YAML frontmatter |
|
|
33
|
-
| GitHub Copilot | `.github/instructions/*.instructions.md` | `applyTo` 다중 패턴 매핑 |
|
|
34
|
-
| OpenAI Codex | `.agents/skills/*/SKILL.md` | Skill 디렉터리 구조 + YAML frontmatter |
|
|
35
|
-
| Antigravity | `.agent/skills/*/SKILL.md` | Skill 디렉터리 구조 + YAML frontmatter |
|
|
36
|
-
|
|
37
|
-
## Tech Stack
|
|
38
|
-
|
|
39
|
-
- Runtime: Node.js
|
|
40
|
-
- Language: JavaScript
|
|
41
|
-
- Core: File system API, YAML frontmatter parsing
|
|
42
|
-
|
|
43
|
-
## Heymark Usage
|
|
44
|
-
|
|
45
|
-
### 1. Prepare the Skill Markdown Archive Repository
|
|
46
|
-
|
|
47
|
-
Skill 소스 디렉터리(외부 또는 개인 GitHub 저장소)에 Markdown 파일을 작성하고, YAML frontmatter로 메타데이터를 정의합니다.
|
|
48
|
-
|
|
49
|
-
```markdown
|
|
50
|
-
---
|
|
51
|
-
description: "AI assistant behavior guidelines"
|
|
52
|
-
globs: "**/*.ts,**/*.tsx"
|
|
53
|
-
alwaysApply: true
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
# Skill Title
|
|
57
|
-
|
|
58
|
-
Skill content...
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
저장소 구조는 다음처럼 단순하게 구성하면 됩니다.
|
|
62
|
-
|
|
63
|
-
```text
|
|
64
|
-
my-skills-repository/
|
|
65
|
-
ai-behavior.md
|
|
66
|
-
code-conventions.md
|
|
67
|
-
api-skills.md
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Skill 소스는 원격 GitHub 저장소(Public/Private)에서 읽습니다.
|
|
71
|
-
|
|
72
|
-
### 2. Initial Setup
|
|
73
|
-
|
|
74
|
-
최초 1회, 사용할 Skill 소스 저장소를 설정합니다.
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
# Skill 소스 설정 (.heymark/config.json 생성)
|
|
78
|
-
npx heymark init <GitHub-저장소-URL>
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
# HTTPS (Private이면 Git credential/토큰 설정 필요)
|
|
83
|
-
npx heymark init https://github.com/org/my-rules.git
|
|
84
|
-
|
|
85
|
-
# SSH (Private 저장소 권장)
|
|
86
|
-
npx heymark init git@github.com:org/my-rules.git
|
|
87
|
-
|
|
88
|
-
# 저장소 안에서 .md가 하위 폴더에 있을 때
|
|
89
|
-
npx heymark init https://github.com/org/my-rules.git --dir rules --branch main
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### 3. Run
|
|
93
|
-
|
|
94
|
-
설치 없이 npx로 바로 실행할 수 있습니다.
|
|
95
|
-
Skill은 외부 GitHub 저장소에서 가져오며, 저장소 내 Markdown 파일을 각 AI 도구 형식으로 변환해 현재 프로젝트에 생성합니다.
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
# .heymark/config.json에 설정된 외부 Skill 저장소에서 가져와 모든 도구 형식으로 변환
|
|
99
|
-
# (기존 생성 파일 삭제 후 새로 생성)
|
|
100
|
-
npx heymark
|
|
101
|
-
|
|
102
|
-
# 단일 실행에서만 다른 외부 저장소 사용 (.heymark/config.json 무시)
|
|
103
|
-
npx heymark --source https://github.com/org/other-rules.git
|
|
104
|
-
|
|
105
|
-
# 특정 도구만 변환
|
|
106
|
-
npx heymark -t cursor,claude
|
|
107
|
-
|
|
108
|
-
# 미리보기 (파일 생성 없이 변환 결과만 확인)
|
|
109
|
-
npx heymark --preview
|
|
110
|
-
|
|
111
|
-
# 이전에 생성된 도구별 파일 삭제
|
|
112
|
-
npx heymark --clean
|
|
113
|
-
|
|
114
|
-
# CLI help
|
|
115
|
-
npx heymark --help
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## Heymark Development
|
|
119
|
-
|
|
120
|
-
### 1. Local Execution
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
# Skill 소스 설정 (최초 1회, GitHub 저장소 URL)
|
|
124
|
-
node scripts/sync.js init https://github.com/org/my-rules.git
|
|
125
|
-
|
|
126
|
-
# 모든 도구 형식으로 변환
|
|
127
|
-
node scripts/sync.js
|
|
128
|
-
|
|
129
|
-
# 단일 실행에서만 다른 저장소 사용
|
|
130
|
-
node scripts/sync.js --source https://github.com/org/other-rules.git
|
|
131
|
-
|
|
132
|
-
# 특정 도구만 변환
|
|
133
|
-
node scripts/sync.js -t cursor,claude
|
|
134
|
-
|
|
135
|
-
# 미리보기 (파일 생성 없이 확인)
|
|
136
|
-
node scripts/sync.js --preview
|
|
137
|
-
|
|
138
|
-
# 생성된 파일 삭제
|
|
139
|
-
node scripts/sync.js --clean
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### 2. Release
|
|
143
|
-
|
|
144
|
-
```bash
|
|
145
|
-
# NPM 로그인
|
|
146
|
-
npm login
|
|
147
|
-
# Username: your-npm-username
|
|
148
|
-
# Email: your-email@example.com
|
|
149
|
-
|
|
150
|
-
# 1. Skill 수정 후 테스트
|
|
151
|
-
node scripts/sync.js --preview
|
|
152
|
-
|
|
153
|
-
# 2. 버전 업데이트 (자동으로 Git 태그 생성)
|
|
154
|
-
npm version patch # 또는 minor, major
|
|
155
|
-
|
|
156
|
-
# 3. GitHub에 푸시
|
|
157
|
-
git push --follow-tags # 커밋과 태그를 함께 푸시
|
|
158
|
-
|
|
159
|
-
# 4. NPM에 배포
|
|
160
|
-
npm publish
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### 3. Versioning
|
|
164
|
-
|
|
165
|
-
- `patch` (1.0.0 -> 1.0.1): 버그 수정, 오타 수정
|
|
166
|
-
- `minor` (1.0.0 -> 1.1.0): 새 Skill 추가, 기능 개선
|
|
167
|
-
- `major` (1.0.0 -> 2.0.0): 호환성 깨지는 변경
|
|
168
|
-
- `npm version` 명령어는 자동으로 Git 태그를 생성합니다.
|
|
169
|
-
- `git push --follow-tags`는 일반 커밋과 태그를 함께 푸시합니다. (권장)
|
|
170
|
-
- 또는 `git push && git push --tags`로 커밋 푸시 후 모든 태그를 별도로 푸시할 수 있습니다.
|
|
1
|
+
# Heymark
|
|
2
|
+
|
|
3
|
+
AI 코딩 도구별 Skill 문서를 단일 위치에서 관리하고, 각 도구 형식으로 자동 변환하는 도구입니다.
|
|
4
|
+
한 번 작성한 Markdown 소스를 여러 에이전트 도구에 맞춰 재사용할 수 있습니다.
|
|
5
|
+
|
|
6
|
+
1. [Overview](#overview)
|
|
7
|
+
2. [Features](#features)
|
|
8
|
+
3. [Supported Agent Tools](#supported-agent-tools)
|
|
9
|
+
4. [Tech Stack](#tech-stack)
|
|
10
|
+
5. [Heymark Usage](#heymark-usage)
|
|
11
|
+
6. [Heymark Development](#heymark-development)
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
프로젝트마다 AI 도구별 Skill 파일을 따로 관리하면 문서가 분산되고 유지보수 비용이 커집니다.
|
|
16
|
+
Heymark는 단일 진실 공급원(Single Source of Truth) 원칙으로, 하나의 Markdown 소스를 여러 도구 형식으로 변환합니다.
|
|
17
|
+
한 번 작성한 Skill을 Cursor, Claude Code, GitHub Copilot, OpenAI Codex, Antigravity에서 바로 사용할 수 있습니다.
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
- 단일 소스 관리: Markdown 파일 하나로 여러 AI 도구의 Skill을 통합 관리
|
|
22
|
+
- 자동 형식 변환: 각 도구의 네이티브 형식으로 자동 변환 (YAML frontmatter, AGENTS.md 등)
|
|
23
|
+
- 선택적 변환: 필요한 도구만 선택해서 변환 가능
|
|
24
|
+
- NPM 패키지 배포: npx 기반으로 설치 없이 실행 가능
|
|
25
|
+
- 플러그인 구조: 변환 모듈을 추가해 지원 도구 확장 가능
|
|
26
|
+
|
|
27
|
+
## Supported Agent Tools
|
|
28
|
+
|
|
29
|
+
| Tool | Output Format | Key Features |
|
|
30
|
+
| :------------- | :--------------------------------------- | :------------------------------------------------------- |
|
|
31
|
+
| Cursor | `.cursor/rules/*.mdc` | YAML frontmatter (`description`, `globs`, `alwaysApply`) |
|
|
32
|
+
| Claude Code | `.claude/skills/*/SKILL.md` | Skill 디렉터리 구조 + YAML frontmatter |
|
|
33
|
+
| GitHub Copilot | `.github/instructions/*.instructions.md` | `applyTo` 다중 패턴 매핑 |
|
|
34
|
+
| OpenAI Codex | `.agents/skills/*/SKILL.md` | Skill 디렉터리 구조 + YAML frontmatter |
|
|
35
|
+
| Antigravity | `.agent/skills/*/SKILL.md` | Skill 디렉터리 구조 + YAML frontmatter |
|
|
36
|
+
|
|
37
|
+
## Tech Stack
|
|
38
|
+
|
|
39
|
+
- Runtime: Node.js
|
|
40
|
+
- Language: JavaScript
|
|
41
|
+
- Core: File system API, YAML frontmatter parsing
|
|
42
|
+
|
|
43
|
+
## Heymark Usage
|
|
44
|
+
|
|
45
|
+
### 1. Prepare the Skill Markdown Archive Repository
|
|
46
|
+
|
|
47
|
+
Skill 소스 디렉터리(외부 또는 개인 GitHub 저장소)에 Markdown 파일을 작성하고, YAML frontmatter로 메타데이터를 정의합니다.
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
---
|
|
51
|
+
description: "AI assistant behavior guidelines"
|
|
52
|
+
globs: "**/*.ts,**/*.tsx"
|
|
53
|
+
alwaysApply: true
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
# Skill Title
|
|
57
|
+
|
|
58
|
+
Skill content...
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
저장소 구조는 다음처럼 단순하게 구성하면 됩니다.
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
my-skills-repository/
|
|
65
|
+
ai-behavior.md
|
|
66
|
+
code-conventions.md
|
|
67
|
+
api-skills.md
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Skill 소스는 원격 GitHub 저장소(Public/Private)에서 읽습니다.
|
|
71
|
+
|
|
72
|
+
### 2. Initial Setup
|
|
73
|
+
|
|
74
|
+
최초 1회, 사용할 Skill 소스 저장소를 설정합니다.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Skill 소스 설정 (.heymark/config.json 생성)
|
|
78
|
+
npx heymark init <GitHub-저장소-URL>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# HTTPS (Private이면 Git credential/토큰 설정 필요)
|
|
83
|
+
npx heymark init https://github.com/org/my-rules.git
|
|
84
|
+
|
|
85
|
+
# SSH (Private 저장소 권장)
|
|
86
|
+
npx heymark init git@github.com:org/my-rules.git
|
|
87
|
+
|
|
88
|
+
# 저장소 안에서 .md가 하위 폴더에 있을 때
|
|
89
|
+
npx heymark init https://github.com/org/my-rules.git --dir rules --branch main
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 3. Run
|
|
93
|
+
|
|
94
|
+
설치 없이 npx로 바로 실행할 수 있습니다.
|
|
95
|
+
Skill은 외부 GitHub 저장소에서 가져오며, 저장소 내 Markdown 파일을 각 AI 도구 형식으로 변환해 현재 프로젝트에 생성합니다.
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# .heymark/config.json에 설정된 외부 Skill 저장소에서 가져와 모든 도구 형식으로 변환
|
|
99
|
+
# (기존 생성 파일 삭제 후 새로 생성)
|
|
100
|
+
npx heymark
|
|
101
|
+
|
|
102
|
+
# 단일 실행에서만 다른 외부 저장소 사용 (.heymark/config.json 무시)
|
|
103
|
+
npx heymark --source https://github.com/org/other-rules.git
|
|
104
|
+
|
|
105
|
+
# 특정 도구만 변환
|
|
106
|
+
npx heymark -t cursor,claude
|
|
107
|
+
|
|
108
|
+
# 미리보기 (파일 생성 없이 변환 결과만 확인)
|
|
109
|
+
npx heymark --preview
|
|
110
|
+
|
|
111
|
+
# 이전에 생성된 도구별 파일 삭제
|
|
112
|
+
npx heymark --clean
|
|
113
|
+
|
|
114
|
+
# CLI help
|
|
115
|
+
npx heymark --help
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Heymark Development
|
|
119
|
+
|
|
120
|
+
### 1. Local Execution
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Skill 소스 설정 (최초 1회, GitHub 저장소 URL)
|
|
124
|
+
node scripts/sync.js init https://github.com/org/my-rules.git
|
|
125
|
+
|
|
126
|
+
# 모든 도구 형식으로 변환
|
|
127
|
+
node scripts/sync.js
|
|
128
|
+
|
|
129
|
+
# 단일 실행에서만 다른 저장소 사용
|
|
130
|
+
node scripts/sync.js --source https://github.com/org/other-rules.git
|
|
131
|
+
|
|
132
|
+
# 특정 도구만 변환
|
|
133
|
+
node scripts/sync.js -t cursor,claude
|
|
134
|
+
|
|
135
|
+
# 미리보기 (파일 생성 없이 확인)
|
|
136
|
+
node scripts/sync.js --preview
|
|
137
|
+
|
|
138
|
+
# 생성된 파일 삭제
|
|
139
|
+
node scripts/sync.js --clean
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 2. Release
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# NPM 로그인
|
|
146
|
+
npm login
|
|
147
|
+
# Username: your-npm-username
|
|
148
|
+
# Email: your-email@example.com
|
|
149
|
+
|
|
150
|
+
# 1. Skill 수정 후 테스트
|
|
151
|
+
node scripts/sync.js --preview
|
|
152
|
+
|
|
153
|
+
# 2. 버전 업데이트 (자동으로 Git 태그 생성)
|
|
154
|
+
npm version patch # 또는 minor, major
|
|
155
|
+
|
|
156
|
+
# 3. GitHub에 푸시
|
|
157
|
+
git push --follow-tags # 커밋과 태그를 함께 푸시
|
|
158
|
+
|
|
159
|
+
# 4. NPM에 배포
|
|
160
|
+
npm publish
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 3. Versioning
|
|
164
|
+
|
|
165
|
+
- `patch` (1.0.0 -> 1.0.1): 버그 수정, 오타 수정
|
|
166
|
+
- `minor` (1.0.0 -> 1.1.0): 새 Skill 추가, 기능 개선
|
|
167
|
+
- `major` (1.0.0 -> 2.0.0): 호환성 깨지는 변경
|
|
168
|
+
- `npm version` 명령어는 자동으로 Git 태그를 생성합니다.
|
|
169
|
+
- `git push --follow-tags`는 일반 커밋과 태그를 함께 푸시합니다. (권장)
|
|
170
|
+
- 또는 `git push && git push --tags`로 커밋 푸시 후 모든 태그를 별도로 푸시할 수 있습니다.
|