tink-harness 1.0.0 → 1.1.1

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 (42) hide show
  1. package/.claude-plugin/plugin.json +8 -8
  2. package/CHANGELOG.md +141 -109
  3. package/LICENSE +21 -21
  4. package/README.ko.md +38 -154
  5. package/README.md +196 -166
  6. package/VERSIONING.md +73 -73
  7. package/bin/install.js +646 -520
  8. package/commands/cast.md +577 -484
  9. package/commands/frog.md +86 -77
  10. package/commands/setup.md +185 -185
  11. package/commands/update.md +1 -5
  12. package/commands/verify.md +123 -0
  13. package/commands/weave.md +95 -81
  14. package/hooks/hooks.json +15 -15
  15. package/package.json +53 -52
  16. package/skills/tink/SKILL.md +72 -66
  17. package/templates/claude/commands/tink/cast.md +577 -484
  18. package/templates/claude/commands/tink/frog.md +86 -77
  19. package/templates/claude/commands/tink/setup.md +185 -185
  20. package/templates/claude/commands/tink/update.md +1 -5
  21. package/templates/claude/commands/tink/verify.md +123 -0
  22. package/templates/claude/commands/tink/weave.md +95 -81
  23. package/templates/claude/skills/tink/SKILL.md +72 -66
  24. package/templates/codex/skills/tink/SKILL.md +79 -0
  25. package/templates/tink/config.json +29 -20
  26. package/templates/tink/harnesses/harness-synthesis.md +52 -52
  27. package/templates/tink/harnesses/index.json +17 -0
  28. package/templates/tink/harnesses/pr-merge.md +53 -0
  29. package/templates/tink/harnesses/research.md +31 -31
  30. package/templates/tink/harnesses/review.md +31 -31
  31. package/templates/tink/harnesses/ship.md +33 -33
  32. package/templates/tink/hooks/guards.json +32 -0
  33. package/templates/tink/hooks/user-prompt-submit.json +7 -7
  34. package/templates/tink/hooks/user-prompt-submit.mjs +51 -49
  35. package/templates/tink/maintenance/friction.jsonl +1 -0
  36. package/templates/tink/maintenance/weave-queue.json +3 -3
  37. package/templates/tink/memory/lessons.md +17 -17
  38. package/templates/tink/memory/mistakes.md +16 -16
  39. package/templates/tink/memory/preferences.md +16 -16
  40. package/templates/tink/rules/index.json +128 -0
  41. package/templates/tink/schemas/contract.schema.json +86 -0
  42. package/templates/tink/schemas/session.schema.json +37 -0
@@ -1,8 +1,8 @@
1
- {
2
- "name": "tink",
3
- "description": "A small harness layer for Claude Code.",
4
- "version": "1.0.0",
5
- "author": {
6
- "name": "dotori"
7
- }
8
- }
1
+ {
2
+ "name": "tink",
3
+ "description": "A small harness layer for Claude Code.",
4
+ "version": "1.1.1",
5
+ "author": {
6
+ "name": "dotori"
7
+ }
8
+ }
package/CHANGELOG.md CHANGED
@@ -1,109 +1,141 @@
1
- # Changelog
2
-
3
- All notable changes to Tink are tracked here.
4
-
5
- ## [Unreleased]
6
-
7
- ### Planned (v1.1)
8
-
9
- - Layered scope model: merge `global` (`~/.tink/`) + `repo` (`.tink/`) + `local` (`.tink/local/` or `.tink/settings.local.json`) following the Claude Code settings pattern. Tracked separately.
10
-
11
-
12
- ## [1.0.0] - 2026-05-25
13
-
14
- First stable release. All hardening gates passed.
15
-
16
- ### Added
17
-
18
- - `pre-publish-multi-agent-verify` harness: 5-agent parallel verification harness for npm publish readiness. Agents cover install matrix, UX walkthrough, doc consistency, secret leak audit, and slash/contract coverage.
19
-
20
- ### Fixed
21
-
22
- - `update` subcommand never propagated template changes to existing installs. Commands, skills, and maintenance files now always overwrite on update; harnesses, hooks, memory, and config are preserved when user-modified (respects `weave` customizations).
23
- - `VERSIONING.md` update command used `npx tink-harness@latest update` (npm registry form, fails before first publish). Changed to `npx github:dotoricode/tink-harness update` (GitHub form, always works).
24
-
25
- ### Removed
26
-
27
- - Remaining phantom references to `context-habit-calibration` in `cast.md`, `list.md`, and `SKILL.md` (harness was merged into `harness-curation` in v0.1.5).
28
-
29
-
30
- ## [0.1.5] - 2026-05-24
31
-
32
- ### Added
33
-
34
- - `tink-feedback-apply` harness: classify user feedback about Tink into the correct layer (behavioral, UX, preference, harness procedure, or new harness) and apply the minimum viable change.
35
- - `/tink:list` output redesign: multi-line per harness, header field description, three categories (작업용 / 메타 / 이 저장소 전용), assessment section, and next-command suggestions.
36
-
37
- ### Changed
38
-
39
- - Built-in harness `## Checks` sections replaced generic boilerplate with domain-specific checks:
40
- - `research`: decision named, options compared, facts/guesses labeled, recommendation follows evidence.
41
- - `review`: correctness/security/data/UX risk addressed, severity labeled, no speculative blockers.
42
- - `ship`: CI checks pass or reason stated, rollback documented, artifacts listed, risks explicit.
43
- - `ship` Plan step 3: "Prepare notes for humans" → "Draft PR or release summary: what changed, what risks, what rollback."
44
- - `harness-curation` now includes context habit calibration (signals, 6 habit types, calibration procedure) as an inline section. No separate harness needed.
45
- - `index.json`: `harness-synthesis` and `harness-curation` classified as `kind: "meta"` to distinguish from work harnesses.
46
-
47
- ### Removed
48
-
49
- - `context-habit-calibration` standalone harness. Its content is now part of `harness-curation`.
50
-
51
-
52
- ## [0.1.4] - 2026-05-23
53
-
54
- ### Added
55
-
56
- - `/tink:update` slash command: detects install source, diagnoses user-modified files, and shows the safe update command.
57
- - `npx tink-harness update` subcommand: data-preserving update that keeps user-modified files. Use `--force` to overwrite everything (data loss risk).
58
- - HARNESS.md harness catalog for fast human scanning.
59
- - Hard-gate behavior for `ship` harness (release/publish/deploy/PR) runs the safety gate at initial approval, not just at the first risky step.
60
-
61
- ### Changed
62
-
63
- - Default installer language now auto-detects from `LANG`/`LANGUAGE`/`LC_ALL`, falling back to English; previously hardcoded to Korean.
64
- - README Update section recommends `npx ... update` only. The `install --force` path is no longer documented as a user-facing option (the `--force` flag remains in the code for emergency use but is not advertised).
65
- - `/tink:cast` approval format uses plain language for the soft-gate review block; internal labels are kept in code/docs but not shown to the user.
66
- - `/tink:cast` UX overhauls: shorter prompts, fewer approval gates for trivial tasks, single consolidated approval for soft-gate cases.
67
-
68
- ### Fixed
69
-
70
- - Restored the README hero image after the previous fix targeted the wrong surface.
71
- - Increased the installer TINK banner contrast for dark terminal themes.
72
-
73
-
74
- ## [0.1.3]
75
-
76
- Skipped during pre-v1 sequencing.
77
-
78
-
79
- ## [0.1.2] - 2026-05-22
80
-
81
- ### Changed
82
-
83
- - Added a synthesis probe so `/tink:cast` can detect when a built-in harness is only a generic fit.
84
- - Made run-only draft harnesses the default path for generic-fit cases, with saving still requiring separate approval.
85
- - Clarified that `harness-synthesis` should handle both `no fit` and `generic fit` cases.
86
-
87
- ## [0.1.1] - 2026-05-22
88
-
89
- ### Added
90
-
91
- - Existing-user update instructions for Claude Code plugin installs.
92
- - Standalone compatibility installer refresh command using `--force`.
93
- - Maintenance evidence structure: approval ledger and weave queue templates.
94
- - Run record fields for selected, rejected, actually loaded, and maintenance evidence.
95
-
96
- ### Changed
97
-
98
- - Bumped the Claude Code plugin version to make `/plugin update` detect the latest release.
99
- - Clarified `unknown` evidence handling for `/tink:list`.
100
- - Added evidence grades for `/tink:frog` and evidence handles for `/tink:weave`.
101
-
102
- ## [0.1.0] - 2026-05-22
103
-
104
- ### Added
105
-
106
- - Initial pre-v1 plugin shape for Tink.
107
- - Plugin-first `/tink:*` command surface.
108
- - Standalone compatibility installer.
109
- - Built-in harnesses, setup flow, optional hook recommendation, and visible `.tink/` state model.
1
+ # Changelog
2
+
3
+ All notable changes to Tink are tracked here.
4
+
5
+ ## [Unreleased]
6
+
7
+ No unreleased changes yet.
8
+
9
+
10
+ ## [1.1.1] - 2026-05-26
11
+
12
+ ### Added
13
+
14
+ - Small Writ-inspired rule selection: rule graph nodes now distinguish `mandatory` and `retrievable` guidance with phase, budget cost, and keyword metadata.
15
+ - Current-run `session.json` schema so Tink can record `loaded_rule_ids_by_phase` and avoid repeating the same rule guidance during a run.
16
+ - Verification evidence and friction templates: `/tink:verify` now documents `.tink/current/verification.json` evidence and `.tink/maintenance/friction.jsonl` failure signals.
17
+
18
+ ### Changed
19
+
20
+ - `/tink:cast`, `/tink:verify`, and `/tink:weave` now describe the smaller rule-loading path: mandatory first, keyword retrieval second, phase dedupe, compact evidence, then repeated-friction promotion through weave.
21
+ - README and graph docs now explain the compact rule graph, verification evidence, and friction signal flow.
22
+
23
+
24
+ ## [1.1.0] - 2026-05-26
25
+
26
+ ### Added
27
+
28
+ - Contract-first run model: `/tink:cast` now writes `.tink/current/contract.json` for non-trivial runs so task type, risks, success conditions, forbidden actions, verification, and evidence are structured before harness bodies are loaded.
29
+ - `/tink:verify` command: runs the checks promised in the current contract, records compact evidence, and feeds failed checks into weave as `check_failed` signals.
30
+ - Repo-local rule graph templates in `.tink/rules/index.json`, plus `contract.schema.json`, so Tink can select relevant harnesses, checks, and opt-in guard candidates without loading large Markdown by default.
31
+ - Opt-in guard templates for repeated failures that should become real Claude Code hook boundaries after explicit approval.
32
+ - Documentation for graph contracts, verification, and guard promotion.
33
+
34
+ ### Changed
35
+
36
+ - `/tink:weave` can now classify improvements as harness edits, rule graph updates, or opt-in hook guard candidates.
37
+ - Hook recommendation script now uses readable multilingual messages and keeps the default hook advisory-only.
38
+
39
+ ### Planned
40
+
41
+ - Layered scope model: merge `global` (`~/.tink/`) + `repo` (`.tink/`) + `local` (`.tink/local/` or `.tink/settings.local.json`) following the Claude Code settings pattern. Tracked separately.
42
+
43
+
44
+ ## [1.0.0] - 2026-05-25
45
+
46
+ First stable release. All hardening gates passed.
47
+
48
+ ### Added
49
+
50
+ - `pre-publish-multi-agent-verify` harness: 5-agent parallel verification harness for npm publish readiness. Agents cover install matrix, UX walkthrough, doc consistency, secret leak audit, and slash/contract coverage.
51
+
52
+ ### Fixed
53
+
54
+ - `update` subcommand never propagated template changes to existing installs. Commands, skills, and maintenance files now always overwrite on update; harnesses, hooks, memory, and config are preserved when user-modified (respects `weave` customizations).
55
+ - `VERSIONING.md` update command used `npx tink-harness@latest update` (npm registry form, fails before first publish). Changed to `npx github:dotoricode/tink-harness update` (GitHub form, always works).
56
+
57
+ ### Removed
58
+
59
+ - Remaining phantom references to `context-habit-calibration` in `cast.md`, `list.md`, and `SKILL.md` (harness was merged into `harness-curation` in v0.1.5).
60
+
61
+
62
+ ## [0.1.5] - 2026-05-24
63
+
64
+ ### Added
65
+
66
+ - `tink-feedback-apply` harness: classify user feedback about Tink into the correct layer (behavioral, UX, preference, harness procedure, or new harness) and apply the minimum viable change.
67
+ - `/tink:list` output redesign: multi-line per harness, header field description, three categories (작업용 / 메타 / 이 저장소 전용), assessment section, and next-command suggestions.
68
+
69
+ ### Changed
70
+
71
+ - Built-in harness `## Checks` sections replaced generic boilerplate with domain-specific checks:
72
+ - `research`: decision named, options compared, facts/guesses labeled, recommendation follows evidence.
73
+ - `review`: correctness/security/data/UX risk addressed, severity labeled, no speculative blockers.
74
+ - `ship`: CI checks pass or reason stated, rollback documented, artifacts listed, risks explicit.
75
+ - `ship` Plan step 3: "Prepare notes for humans" → "Draft PR or release summary: what changed, what risks, what rollback."
76
+ - `harness-curation` now includes context habit calibration (signals, 6 habit types, calibration procedure) as an inline section. No separate harness needed.
77
+ - `index.json`: `harness-synthesis` and `harness-curation` classified as `kind: "meta"` to distinguish from work harnesses.
78
+
79
+ ### Removed
80
+
81
+ - `context-habit-calibration` standalone harness. Its content is now part of `harness-curation`.
82
+
83
+
84
+ ## [0.1.4] - 2026-05-23
85
+
86
+ ### Added
87
+
88
+ - `/tink:update` slash command: detects install source, diagnoses user-modified files, and shows the safe update command.
89
+ - `npx tink-harness update` subcommand: data-preserving update that keeps user-modified files. Use `--force` to overwrite everything (data loss risk).
90
+ - HARNESS.md harness catalog for fast human scanning.
91
+ - Hard-gate behavior for `ship` harness (release/publish/deploy/PR) — runs the safety gate at initial approval, not just at the first risky step.
92
+
93
+ ### Changed
94
+
95
+ - Default installer language now auto-detects from `LANG`/`LANGUAGE`/`LC_ALL`, falling back to English; previously hardcoded to Korean.
96
+ - README Update section recommends `npx ... update` only. The `install --force` path is no longer documented as a user-facing option (the `--force` flag remains in the code for emergency use but is not advertised).
97
+ - `/tink:cast` approval format uses plain language for the soft-gate review block; internal labels are kept in code/docs but not shown to the user.
98
+ - `/tink:cast` UX overhauls: shorter prompts, fewer approval gates for trivial tasks, single consolidated approval for soft-gate cases.
99
+
100
+ ### Fixed
101
+
102
+ - Restored the README hero image after the previous fix targeted the wrong surface.
103
+ - Increased the installer TINK banner contrast for dark terminal themes.
104
+
105
+
106
+ ## [0.1.3]
107
+
108
+ Skipped during pre-v1 sequencing.
109
+
110
+
111
+ ## [0.1.2] - 2026-05-22
112
+
113
+ ### Changed
114
+
115
+ - Added a synthesis probe so `/tink:cast` can detect when a built-in harness is only a generic fit.
116
+ - Made run-only draft harnesses the default path for generic-fit cases, with saving still requiring separate approval.
117
+ - Clarified that `harness-synthesis` should handle both `no fit` and `generic fit` cases.
118
+
119
+ ## [0.1.1] - 2026-05-22
120
+
121
+ ### Added
122
+
123
+ - Existing-user update instructions for Claude Code plugin installs.
124
+ - Standalone compatibility installer refresh command using `--force`.
125
+ - Maintenance evidence structure: approval ledger and weave queue templates.
126
+ - Run record fields for selected, rejected, actually loaded, and maintenance evidence.
127
+
128
+ ### Changed
129
+
130
+ - Bumped the Claude Code plugin version to make `/plugin update` detect the latest release.
131
+ - Clarified `unknown` evidence handling for `/tink:list`.
132
+ - Added evidence grades for `/tink:frog` and evidence handles for `/tink:weave`.
133
+
134
+ ## [0.1.0] - 2026-05-22
135
+
136
+ ### Added
137
+
138
+ - Initial pre-v1 plugin shape for Tink.
139
+ - Plugin-first `/tink:*` command surface.
140
+ - Standalone compatibility installer.
141
+ - Built-in harnesses, setup flow, optional hook recommendation, and visible `.tink/` state model.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 dotori
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 dotori
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
@@ -2,25 +2,11 @@
2
2
  <img src=".github/assets/hero.gif" alt="Tink Hero Banner" width="100%">
3
3
  </p>
4
4
 
5
- <h1>
6
- <strong>Tink</strong>
7
- </h1>
5
+ # Tink
8
6
 
9
- <p>사람과 함께 일하며 함께 자라는 하네스</p>
7
+ Claude Code와 Codex를 위한 작은 하네스 레이어입니다.
10
8
 
11
- <p>
12
- Tink는 작업에 맞는 하네스를 고르고, 작업에 맞는 하네스를 만들기도 하며, 하네스를 개선 및 제거도 합니다.
13
- </p>
14
-
15
- <p>
16
- <em>Tink는 <strong>knit(뜨개질)</strong>을 거꾸로 한 이름입니다. 엉킨 작업 흐름을 풀고, 더 나은 흐름으로 다시 뜨개질해 묶어준다는 뜻입니다. 동시에 곁에 있는 작은 조력자 팅커벨에 대한 오마주이기도 합니다.</em>
17
- </p>
18
-
19
- <p>
20
- <a href="https://github.com/dotoricode/tink-harness/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/dotoricode/tink-harness/ci.yml?branch=main&label=ci" alt="CI"></a>
21
- <a href="https://github.com/dotoricode/tink-harness/blob/main/LICENSE"><img src="https://img.shields.io/github/license/dotoricode/tink-harness" alt="License"></a>
22
- <a href="https://github.com/dotoricode/tink-harness/stargazers"><img src="https://img.shields.io/github/stars/dotoricode/tink-harness?style=social" alt="GitHub stars"></a>
23
- </p>
9
+ Tink는 지금 작업에 맞는 하네스를 고르고, 실행 상태를 보이게 만들고, 실제 사용 중 생긴 실패와 피드백으로 하네스 세트를 개선합니다.
24
10
 
25
11
  [English](README.md) · **한국어**
26
12
 
@@ -28,196 +14,94 @@
28
14
 
29
15
  ## 왜 만들었나
30
16
 
31
- 요즘 새로운 AI 하네스가 거의 매일 등장합니다. 그중 상당수는 저에게 정말 유용했습니다.
32
-
33
- 처음에는 하나씩 써보면서 저에게 맞는 것만 남겼습니다. 그런데 여러 개를 섞을수록 환경이 점점 엉켜갔습니다. 매번 처음부터 다시 정리하기가 지쳐서, 결국 제가 이해하고 통제할 수 있는 skill 기반 흐름으로 돌아갔습니다.
34
-
35
- 그 뒤로 한동안 Hermes Agent를 썼습니다. 그때 마음에 남은 것은, 쓸수록 시스템이 나아진다는 점이었습니다. 반복되는 작업이 다시 쓸 수 있는 skill이 되고, 실수가 기억이 되며, 시스템이 사용하는 사람에게 천천히 맞춰져 갔습니다.
36
-
37
- Tink는 단순한 질문에서 시작됐습니다:
17
+ 새로운 AI 코딩 하네스와 워크플로는 계속 늘어납니다. 좋은 것도 많지만, 여러 개를 섞다 보면 환경이 무거워지고 매번 다시 정리해야 합니다.
38
18
 
39
- > Claude Code나 Codex 저와 함께 이렇게 자랄 있을까요?
40
-
41
- 큰 프레임워크를 더 얹지 않고도, 에이전트를 더 늘리지 않고도. 그저 Claude나 Codex가 지금 작업에 맞는 하네스를 고르고, 맞는 게 없으면 새로 만들고, 시간이 지나며 그 모음을 더 좋게 다듬도록 돕는 방식으로요.
19
+ Tink는 큰 프레임워크가 아닙니다. Claude Code나 Codex 지금 작업에 필요한 절차만 고르고, 없으면 작은 임시 하네스를 만들고, 반복되는 실수만 승인 후 재사용 지식으로 남기도록 돕습니다.
42
20
 
43
21
  ## 설치
44
22
 
45
- Claude Code 플러그인 설치:
23
+ Claude Code 플러그인:
46
24
 
47
25
  ```text
48
26
  /plugin marketplace add dotoricode/tink-harness
49
- ```
50
-
51
- ```text
52
27
  /plugin install tink@tink-harness
53
- ```
54
-
55
- ```text
56
28
  /reload-plugins
57
- ```
58
-
59
- ```text
60
29
  /tink:setup
61
30
  ```
62
31
 
63
- 독립형(Standalone) 호환 설치 프로그램:
32
+ Standalone / Codex 호환 설치:
64
33
 
65
34
  ```bash
66
- npx github:dotoricode/tink-harness install
35
+ npx tink-harness@latest install
67
36
  ```
68
37
 
69
- 독립형 설치 프로그램은 `LANG` 환경 변수를 자동으로 감지합니다(감지 실패 영어 기본값). 강제로 지정하려면 `--lang=en|ko|zh`를 넘기세요.
38
+ 설치 `Claude Code`, `Codex`, 또는 다를 선택할 있습니다. Codex에서는 `$tink cast <task>`로 시작합니다.
70
39
 
71
40
  ## 업데이트
72
41
 
73
- Claude Code 플러그인 사용자:
42
+ Claude Code 플러그인:
74
43
 
75
44
  ```text
76
45
  /plugin marketplace update tink-harness
77
- ```
78
-
79
- ```text
80
46
  /plugin update tink@tink-harness
81
- ```
82
-
83
- ```text
84
47
  /reload-plugins
85
48
  ```
86
49
 
87
- 업데이트 명령으로 최신 버전을 찾지 못하면, 제거 후 다시 설치하세요:
88
-
89
- ```text
90
- /plugin uninstall tink@tink-harness
91
- ```
92
-
93
- ```text
94
- /plugin install tink@tink-harness
95
- ```
96
-
97
- 기존 독립형 설치를 업데이트하려면(사용자 수정 파일은 유지됩니다):
50
+ Standalone / Codex:
98
51
 
99
52
  ```bash
100
- npx github:dotoricode/tink-harness update
53
+ npx tink-harness@latest update
101
54
  ```
102
55
 
103
56
  ## 명령
104
57
 
105
- Tink는 명령 체계를 최소한으로 유지합니다.
106
-
107
- Tink는 플러그인 우선 구조이며, 모든 명령은 `tink` 네임스페이스를 사용합니다. 따라서 공개되는 명령은 `/tink:*`로 한정되고 일반 명령과의 충돌을 피할 수 있습니다.
58
+ Claude Code에서는 `/tink:*`, Codex에서는 `$tink <action>`을 씁니다.
108
59
 
109
60
  ### `/tink:cast`
110
61
 
111
- **cast**는 뜨개질에서 코를 잡는 동작입니다. 모든 작업의 시작점이 됩니다.
112
-
113
- Tink에서 `cast`는 기본 실행 흐름입니다. 작업을 읽고, 적절한 하네스를 선택하거나 초안을 만들고, 짧은 내부 검토를 거친 뒤 `.tink/current/`에 현재 작업 상태를 구성합니다. 이후 사용자 승인을 받고 안전한 첫 단계를 실행합니다.
62
+ 작업을 읽고, 필요한 하네스만 고르고, `.tink/current/` 실행 상태를 만든 뒤 첫 번째 안전한 단계를 시작합니다.
114
63
 
115
- 단순한 질의응답을 넘어서는 작업이라면 보통 `cast`로 시작합니다.
64
+ Tink는 이제 비단순 작업에 대해 `.tink/current/contract.json`도 만듭니다. 이 파일에는 작업 종류, 위험, 성공 조건, 금지 사항, 검증 명령이 들어갑니다.
116
65
 
117
- ### `/tink:frog`
118
-
119
- **frog**는 잘못 뜬 부분을 풀어내는 뜨개질 용어입니다. 실을 푸는 소리인 "rip it, rip it"에서 이름이 왔습니다.
66
+ ### `/tink:verify`
120
67
 
121
- Tink에서 `frog`는:
68
+ `contract.json`에 적힌 검증을 실제로 실행하고 증거를 남깁니다.
122
69
 
123
- - 이상 사용하지 않는 하네스
124
- - 다른 하네스와 역할이 겹치는 항목
125
- - 범위가 지나치게 넓은 하네스
126
- - 유지 비용 대비 효율이 낮은 하네스
70
+ 릴리스, 배포, 공개 PR처럼 "된 것 같다"가 아니라 "확인했다"가 필요한 작업에서 씁니다.
127
71
 
128
- 찾아 정리를 제안합니다.
129
-
130
- 삭제는 항상 사용자 승인 이후에만 수행됩니다.
72
+ ### `/tink:frog`
131
73
 
132
- 하네스 구성이 복잡하거나 정리가 필요할 사용합니다.
74
+ 거의 쓰지 않거나 겹치거나 너무 무거운 하네스를 정리 후보로 제안합니다. 사용자 승인 없이는 삭제하지 않습니다.
133
75
 
134
76
  ### `/tink:weave`
135
77
 
136
- **weave**는 뜨개질을 마친 남은 실을 안쪽으로 정리해 마감하는 과정(**weave in**)에서 따온 이름입니다.
137
-
138
- Tink에서 `weave`는 실제 사용 기록, 실패 사례, 사용자 수정 내용을 바탕으로 기존 하네스를 다듬습니다.
139
-
140
- 목표는 다음 실행이:
141
-
142
- - 더 명확하고
143
- - 더 안전하며
144
- - 더 검증 가능하도록
145
-
146
- 개선하는 것입니다.
147
-
148
- 하네스가 거의 맞지만 조금씩 어긋나기 시작할 때 사용합니다.
149
-
150
- ### 기타 명령
151
-
152
- - `/tink:setup`
153
- - 언어, 설치 범위, Git 추적, Hook 정책을 설정합니다.
154
-
155
- - `/tink:list`
156
- - 사용 가능한 하네스와 최근 사용 내역을 확인합니다.
157
-
158
- - `/tink:update`
159
- - 설치 경로를 감지하고 안전한 업데이트 방법을 안내합니다.
160
-
161
- ## 동작 방식
162
-
163
- Tink는 사용자가 직접 확인할 수 있는 파일 구조를 사용합니다.
164
-
165
- - `.tink/harnesses/`
166
- - 재사용 가능한 작업 하네스
167
-
168
- - `.tink/current/`
169
- - 현재 실행 상태
170
-
171
- - `.tink/runs/`
172
- - 완료·중단·취소·교체된 실행 기록
173
-
174
- - `.tink/memory/`
175
- - 승인된 실수, 선호 설정, 작업 중 얻은 교훈
176
-
177
- 가장 중요한 원칙은 **승인(approval)** 입니다.
178
-
179
- Tink는:
180
-
181
- - 하네스 생성
182
- - 메모리 저장
183
- - 정리 작업
184
- - 개선 제안
185
-
186
- 을 수행할 수 있지만, 실제 적용 전에는 항상 사용자 확인을 거칩니다.
187
-
188
- 실행 전에는 짧은 점검 단계를 수행하며, 중요한 변경이 있을 때만 별도 제안을 표시합니다.
189
-
190
- 위험이 낮은 작업은 기록된 가정을 바탕으로 계속 진행할 수 있습니다. 하지만:
191
-
192
- - 공개
193
- - 배포
194
- - 삭제
195
- - 대규모 수정
196
- - 되돌리기 어려운 변경
78
+ 실제 실패, 반복 사용, 사용자 수정 내용을 바탕으로 하네스를 조금 더 정확하게 고칩니다. 필요한 경우 `.tink/rules/`의 rule graph나 opt-in hook guard 후보로 승격합니다.
197
79
 
198
- 처럼 외부 영향이 큰 작업은 반드시 명시적 승인이 필요합니다.
80
+ ### 기타
199
81
 
200
- 또한:
82
+ - `/tink:setup`: 언어, 설치 범위, git 추적, hook 정책 설정
83
+ - `/tink:list`: 사용 가능한 하네스와 사용 신호 확인
84
+ - `/tink:update`: 설치 출처를 확인하고 안전한 업데이트 안내
201
85
 
202
- - 하네스
203
- - 메모리 항목
204
- - `.claude/` 워크플로 파일
86
+ ## 작동 방식
205
87
 
206
- 같은 재사용 가능한 자산을 저장할 때는 항상 별도의 승인을 다시 받습니다.
88
+ Tink는 직접 있는 파일을 씁니다.
207
89
 
208
- 현재 실행을 승인했다고 해서, 이후 설치나 영구 저장까지 자동으로 승인되는 것은 아닙니다.
90
+ - `.tink/harnesses/`: 재사용 가능한 작업 하네스
91
+ - `.tink/rules/`: 계약 내용에 맞춰 필요한 하네스, 체크, guard 후보만 고르는 작은 rule graph
92
+ - `.tink/schemas/`: `contract.json` 같은 구조화 파일의 스키마
93
+ - `.tink/current/`: 현재 실행 상태
94
+ - `.tink/runs/`: 완료, 중단, 취소, 교체된 실행 기록
95
+ - `.tink/maintenance/`: 검증, friction, weave 신호 기록
96
+ - `.tink/memory/`: 승인된 실수, 선호, 교훈
209
97
 
210
- ## Tink 하지 않는
98
+ Rule graph는 작게 유지합니다. Tink 먼저 필수 규칙을 고르고, 작업 사실이나 keyword에 맞는 선택 규칙만 가져오며, phase별로 이미 읽은 rule id를 기록해 같은 안내를 반복하지 않습니다.
211
99
 
212
- Tink는 다음을 목표로 하지 않습니다.
100
+ 중요한 원칙은 승인입니다. 현재 작업을 진행하는 승인과, 미래에도 재사용될 상태를 저장하는 승인은 별개입니다. 새 하네스, 메모리, rule graph, hook guard 저장은 항상 별도 승인이 필요합니다.
213
101
 
214
- - 코딩 에이전트
215
- - 워크플로 엔진
216
- - 멀티 에이전트 런타임
217
- - 프롬프트 라이브러리
218
- - Claude Code나 Codex 대체 도구
102
+ ## Tink가 아닌 것
219
103
 
220
- Tink는 Claude Code Codex 위에 얹는 작은 하네스 레이어입니다.
104
+ Tink는 코딩 에이전트, 워크플로 엔진, 멀티 에이전트 런타임, 프롬프트 라이브러리가 아닙니다. Claude Code Codex 위에 얹는 작은 하네스 레이어입니다.
221
105
 
222
106
  ## 라이선스
223
107