leerness 1.0.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.
Files changed (32) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +205 -0
  3. package/bin/harness.js +369 -0
  4. package/docs/AX_SKILL_LIBRARY_GUIDE.md +156 -0
  5. package/harness.js +2 -0
  6. package/package.json +50 -0
  7. package/skill-packs/ads-analytics/skill.json +31 -0
  8. package/skill-packs/ads-analytics/skills/conversion-attribution.md +6 -0
  9. package/skill-packs/ads-analytics/skills/ga4-debugging.md +7 -0
  10. package/skill-packs/ads-analytics/skills/roas-check.md +7 -0
  11. package/skill-packs/appstore-review/skill.json +29 -0
  12. package/skill-packs/appstore-review/skills/privacy-labels.md +6 -0
  13. package/skill-packs/appstore-review/skills/review-response.md +7 -0
  14. package/skill-packs/appstore-review/skills/webview-app.md +6 -0
  15. package/skill-packs/commerce-api/skill.json +40 -0
  16. package/skill-packs/commerce-api/skills/common-auth.md +22 -0
  17. package/skill-packs/commerce-api/skills/coupang.md +19 -0
  18. package/skill-packs/commerce-api/skills/lotteon.md +17 -0
  19. package/skill-packs/commerce-api/skills/order-sync.md +9 -0
  20. package/skill-packs/commerce-api/skills/smartstore.md +17 -0
  21. package/skill-packs/crawling/skill.json +32 -0
  22. package/skill-packs/crawling/skills/browser-automation.md +14 -0
  23. package/skill-packs/crawling/skills/cloud-runtime.md +7 -0
  24. package/skill-packs/crawling/skills/download-automation.md +9 -0
  25. package/skill-packs/firebase/skill.json +31 -0
  26. package/skill-packs/firebase/skills/firestore-indexes.md +6 -0
  27. package/skill-packs/firebase/skills/functions-deploy.md +13 -0
  28. package/skill-packs/firebase/skills/secrets.md +6 -0
  29. package/skill-packs/office/skill.json +29 -0
  30. package/skill-packs/office/skills/excel-automation.md +24 -0
  31. package/skill-packs/office/skills/powerpoint-generation.md +17 -0
  32. package/skill-packs/office/skills/word-template.md +15 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 gugu9999gu
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.md ADDED
@@ -0,0 +1,205 @@
1
+ # Leerness
2
+
3
+ **Leerness는 AI 에이전트가 대규모 프로젝트에서도 맥락, 규율, 디자인/기능 일관성, 검증된 스킬 라이브러리를 유지하도록 돕는 AX 최적화 개발 하네스입니다.**
4
+
5
+ Leerness는 단순한 프롬프트 모음이 아닙니다. 프로젝트 안에 장기 기억, 작업 규칙, 금지사항, 디자인 기준, 기능 계약, 검증된 스킬 데이터를 설치해서 AI 에이전트가 매번 처음부터 추측하지 않고 같은 기준으로 개발하도록 만듭니다.
6
+
7
+ ## 왜 필요한가
8
+
9
+ AI 코딩 에이전트는 빠르지만, 프로젝트가 커질수록 아래 문제가 생깁니다.
10
+
11
+ - 이전 결정과 현재 방향을 잊는다.
12
+ - 기존 구조와 다른 방식으로 새 코드를 만든다.
13
+ - 성공했던 구현 패턴을 반복 활용하지 못한다.
14
+ - 민감정보 처리 규칙을 일관되게 지키지 못한다.
15
+ - UI, API, 상태, 오류 처리 방식이 화면마다 달라진다.
16
+ - 다음 세션에서 어디까지 작업했는지 다시 설명해야 한다.
17
+
18
+ Leerness는 이 문제를 `.harness/` 지식 저장소와 검증된 스킬 라이브러리로 해결합니다.
19
+
20
+ ## 핵심 개념
21
+
22
+ ```text
23
+ Agent = Model + Leerness Harness
24
+ ```
25
+
26
+ 모델은 추론하고, Leerness는 프로젝트의 기억과 작업 규율을 제공합니다.
27
+
28
+ | 영역 | 역할 |
29
+ |---|---|
30
+ | 프로젝트 메모리 | 목적, 현재 상태, 아키텍처, 결정 로그, 다음 작업 유지 |
31
+ | Guardrails | 민감정보, 보안, 리팩토링, API/DB 변경 금지 규칙 정의 |
32
+ | Design System | UI/UX, 컴포넌트, 간격, 상태 표현 기준 유지 |
33
+ | Feature Contracts | 기능별 입력, 출력, 상태, 오류, 검증 기준 기록 |
34
+ | Skill Libraries | 성공한 구현 방식을 재사용 가능한 스킬로 축적 |
35
+ | AX Guide | AI가 읽고 실행하기 쉬운 업로드/업데이트/병합/마이그레이션 절차 제공 |
36
+
37
+ ## 설치
38
+
39
+ ```bash
40
+ npx leerness init
41
+ ```
42
+
43
+ 추천 스킬 포함 설치:
44
+
45
+ ```bash
46
+ npx leerness init --skills recommended
47
+ ```
48
+
49
+ 필요한 스킬만 선택 설치:
50
+
51
+ ```bash
52
+ npx leerness init --skills office,commerce-api,crawling
53
+ ```
54
+
55
+ 특정 경로에 설치:
56
+
57
+ ```bash
58
+ npx leerness init ./my-project
59
+ ```
60
+
61
+ ## 주요 명령어
62
+
63
+ ```bash
64
+ leerness init [path] [--skills recommended|all|office,commerce-api]
65
+ leerness status [path]
66
+ leerness verify [path]
67
+
68
+ leerness skill list
69
+ leerness skill add <name>
70
+ leerness skill remove <name>
71
+ leerness skill update <name>
72
+ leerness skill learn <name> --from <validated-skill-path>
73
+
74
+ leerness library guide [path]
75
+ leerness library status <path>
76
+ leerness library validate <path> [--strict-ai]
77
+ leerness library verify <path> --ai --reviewer leerness-ai
78
+ leerness library build <path> [--out ./dist] [--package leerness-skill-name]
79
+ leerness library update <path> --from <validated-new-skill-path> [--version 1.1.0]
80
+ leerness library merge <source-library> --path <project>
81
+ leerness library migrate <path> [--version 1.0.0]
82
+ leerness library publish <built-library> --target npm|git [--execute]
83
+ ```
84
+
85
+ ## 생성 구조
86
+
87
+ ```text
88
+ your-project/
89
+ ├── AGENTS.md
90
+ ├── CLAUDE.md
91
+ ├── .cursor/rules/leerness.mdc
92
+ ├── .github/copilot-instructions.md
93
+ └── .harness/
94
+ ├── HARNESS_VERSION
95
+ ├── manifest.json
96
+ ├── project-brief.md
97
+ ├── current-state.md
98
+ ├── architecture.md
99
+ ├── context-map.md
100
+ ├── decisions.md
101
+ ├── task-log.md
102
+ ├── constraints.md
103
+ ├── guardrails.md
104
+ ├── design-system.md
105
+ ├── feature-contracts.md
106
+ ├── testing-strategy.md
107
+ ├── review-checklist.md
108
+ ├── release-checklist.md
109
+ ├── session-handoff.md
110
+ ├── AX_SKILL_LIBRARY_GUIDE.md
111
+ ├── skills/
112
+ ├── library/
113
+ └── archive/
114
+ ```
115
+
116
+ ## AX 최적화 가이드
117
+
118
+ 설치하면 AI 에이전트가 바로 읽을 수 있는 가이드가 생성됩니다.
119
+
120
+ ```text
121
+ .harness/AX_SKILL_LIBRARY_GUIDE.md
122
+ ```
123
+
124
+ 이 문서는 다음 작업을 AI가 안전하게 수행하도록 안내합니다.
125
+
126
+ - 검증된 스킬 학습
127
+ - 스킬 데이터 정규화
128
+ - 민감정보 스캔
129
+ - AI 검증 메타데이터 기록
130
+ - 라이브러리 빌드
131
+ - npm/git 업로드 dry-run
132
+ - 실제 업로드 승인 흐름
133
+ - 업데이트 시 재검증 강제
134
+ - 스킬 병합과 마이그레이션
135
+
136
+ ## AI 검증 게이트
137
+
138
+ 스킬 라이브러리는 AI 검증 메타데이터가 있어야 업로드할 수 있습니다.
139
+
140
+ ```bash
141
+ leerness library verify ./my-skill --ai --reviewer leerness-ai
142
+ leerness library validate ./my-skill --strict-ai
143
+ leerness library build ./my-skill
144
+ leerness library publish ./my-skill/dist/my-skill --target npm --execute
145
+ ```
146
+
147
+ `library publish`는 기본값이 dry-run입니다. 실제 업로드는 `--execute`가 있을 때만 실행됩니다.
148
+
149
+ ## 스킬 메타데이터
150
+
151
+ 각 스킬에는 최종 업데이트 날짜와 검증 상태가 표시됩니다.
152
+
153
+ ```json
154
+ {
155
+ "name": "commerce-api-coupang",
156
+ "version": "1.0.0",
157
+ "lastUpdated": "2026-04-28",
158
+ "lastUpdatedAt": "2026-04-28T00:00:00.000Z",
159
+ "verification": {
160
+ "status": "passed",
161
+ "method": "ai-assisted-review",
162
+ "verifiedBy": "leerness-ai",
163
+ "verifiedAt": "2026-04-28T00:00:00.000Z"
164
+ }
165
+ }
166
+ ```
167
+
168
+ ## 민감정보 원칙
169
+
170
+ 스킬에는 실제 민감정보를 저장하지 않습니다.
171
+
172
+ 허용:
173
+
174
+ ```text
175
+ COUPANG_ACCESS_KEY
176
+ NAVER_AD_CUSTOMER_ID
177
+ GOOGLE_APPLICATION_CREDENTIALS
178
+ ```
179
+
180
+ 금지:
181
+
182
+ ```text
183
+ 실제 access token
184
+ 실제 cookie
185
+ 실제 password
186
+ 고객 개인정보 export
187
+ 운영 API 응답 원문
188
+ ```
189
+
190
+ 실제 값은 `.env.local`, GitHub Actions Secrets, Vercel/Firebase/Cloud Run 환경변수처럼 프로젝트 외부의 안전한 저장소에 둡니다.
191
+
192
+ ## 권장 작업 루틴
193
+
194
+ AI 에이전트에게 작업이 끝날 때 이렇게 요청하세요.
195
+
196
+ ```text
197
+ 이번 작업 내용을 .harness/current-state.md, .harness/task-log.md, .harness/session-handoff.md에 반영해줘.
198
+ 중요한 설계 결정이 있었다면 .harness/decisions.md에도 기록해줘.
199
+ UI나 기능 계약이 바뀌었다면 design-system.md 또는 feature-contracts.md도 갱신해줘.
200
+ 성공한 구현 패턴은 스킬 후보로 정리해줘.
201
+ ```
202
+
203
+ ## 라이선스
204
+
205
+ MIT