tink-harness 1.9.15 → 1.9.16
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/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +6 -0
- package/README.ko.md +1 -1
- package/README.md +2 -2
- package/VERSIONING.md +1 -1
- package/bin/install.js +19 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ All notable changes to Tink are tracked here.
|
|
|
6
6
|
|
|
7
7
|
No unreleased changes yet.
|
|
8
8
|
|
|
9
|
+
## [1.9.16] - 2026-06-11
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- `update` now runs in the language you previously chose: it reads `language` from the installed `.tink/config.json` (repo first, then home for global installs). An explicit `--lang` flag still wins, and the stored language applies to both interactive and `--yes` updates. Added a regression test covering install-then-update language persistence and flag override.
|
|
14
|
+
|
|
9
15
|
## [1.9.15] - 2026-06-11
|
|
10
16
|
|
|
11
17
|
### Changed
|
package/README.ko.md
CHANGED
|
@@ -8,7 +8,7 @@ Claude Code와 Codex를 위한 작은 하네스 레이어입니다.
|
|
|
8
8
|
|
|
9
9
|
Tink는 지금 작업에 맞는 하네스를 고르고, 실행 상태를 보이게 만들고, 실제 사용 중 생긴 실패와 피드백으로 하네스 세트를 개선합니다.
|
|
10
10
|
|
|
11
|
-
**최신 패키지:** v1.9.
|
|
11
|
+
**최신 패키지:** v1.9.16 — 로컬 건강 리포트가 탭형 대시보드로 바뀌었습니다. 3D 하네스 지도, 쉬운 말 건강 요약, Claude Code와 Codex 양쪽 복사-붙여넣기 명령이 포함된 다음 행동 제안을 제공합니다. 전체 변경 이력은 [CHANGELOG](CHANGELOG.md)를 확인하세요.
|
|
12
12
|
|
|
13
13
|
[English](README.md) · **한국어** · [변경 이력](CHANGELOG.md)
|
|
14
14
|
|
package/README.md
CHANGED
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
<p>
|
|
20
|
-
<a href="https://github.com/dotoricode/tink-harness/releases/tag/v1.9.
|
|
20
|
+
<a href="https://github.com/dotoricode/tink-harness/releases/tag/v1.9.16"><img src="https://img.shields.io/github/v/release/dotoricode/tink-harness?label=release&color=2ea44f" alt="GitHub release"></a>
|
|
21
21
|
<a href="https://www.npmjs.com/package/tink-harness"><img src="https://img.shields.io/npm/v/tink-harness?label=npm&color=cb3837" alt="npm version"></a>
|
|
22
22
|
<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>
|
|
23
23
|
<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>
|
|
24
24
|
<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>
|
|
25
25
|
</p>
|
|
26
26
|
|
|
27
|
-
<p><strong>Latest package:</strong> v1.9.
|
|
27
|
+
<p><strong>Latest package:</strong> v1.9.16 - The local health report is now a tabbed dashboard with a 3D harness map, plain-language health summaries, and next-action suggestions with copy-paste commands for both Claude Code and Codex. See <a href="CHANGELOG.md">CHANGELOG</a> for release history.</p>
|
|
28
28
|
|
|
29
29
|
**English** · [한국어](README.ko.md) · [Changelog](CHANGELOG.md)
|
|
30
30
|
|
package/VERSIONING.md
CHANGED
package/bin/install.js
CHANGED
|
@@ -384,12 +384,19 @@ function shortList(items, emptyText = '- none') {
|
|
|
384
384
|
}
|
|
385
385
|
|
|
386
386
|
function detectInstalledLanguage() {
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
387
|
+
const candidates = [
|
|
388
|
+
path.join(process.cwd(), '.tink/config.json'),
|
|
389
|
+
path.join(os.homedir(), '.tink/config.json')
|
|
390
|
+
];
|
|
391
|
+
for (const configPath of candidates) {
|
|
392
|
+
try {
|
|
393
|
+
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
394
|
+
if (['en', 'ko', 'zh'].includes(config.language)) return config.language;
|
|
395
|
+
} catch {
|
|
396
|
+
// keep looking
|
|
397
|
+
}
|
|
392
398
|
}
|
|
399
|
+
return null;
|
|
393
400
|
}
|
|
394
401
|
|
|
395
402
|
function isAlwaysUpdatePath(src) {
|
|
@@ -794,6 +801,13 @@ async function resolveChoices() {
|
|
|
794
801
|
let gitPolicy = 'harnesses';
|
|
795
802
|
let hookScope = 'off';
|
|
796
803
|
|
|
804
|
+
const explicitLanguage = Boolean(argValue('--lang') || argValue('--language'));
|
|
805
|
+
if (isUpdate && !explicitLanguage) {
|
|
806
|
+
language = detectInstalledLanguage() || language;
|
|
807
|
+
components = defaultComponentValues(agent, language);
|
|
808
|
+
if (includesClaude(agent) && args.includes('--with-hook')) components.push('hook');
|
|
809
|
+
}
|
|
810
|
+
|
|
797
811
|
if (!interactive) {
|
|
798
812
|
scope = scope || 'repo';
|
|
799
813
|
if (components.includes('hook')) hookScope = scope;
|
|
@@ -801,7 +815,6 @@ async function resolveChoices() {
|
|
|
801
815
|
}
|
|
802
816
|
|
|
803
817
|
if (isUpdate) {
|
|
804
|
-
language = detectInstalledLanguage() || language;
|
|
805
818
|
const copy = COPY[language];
|
|
806
819
|
printBanner();
|
|
807
820
|
intro(pc.bgBlue(pc.white(copy.intro)));
|