@uzysjung/agent-harness 26.161.0 → 26.162.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.
- package/README.ko.md +7 -8
- package/README.md +7 -8
- package/dist/{chunk-MBRLCU5O.js → chunk-3G34MEGZ.js} +57 -13
- package/dist/{chunk-MBRLCU5O.js.map → chunk-3G34MEGZ.js.map} +1 -1
- package/dist/index.js +3667 -976
- package/dist/index.js.map +1 -1
- package/dist/trust-tier-drift.js +1 -1
- package/package.json +3 -2
- package/templates/codex/config.toml.template +8 -20
- package/templates/hooks/session-start.sh +13 -3
- package/templates/scripts/check-absence.sh +5 -4
package/README.ko.md
CHANGED
|
@@ -22,15 +22,14 @@ Node 20 이상이 필요하다. 프로젝트 폴더에서 다음 명령을 실
|
|
|
22
22
|
npx -y @uzysjung/agent-harness
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
위저드가 다음
|
|
25
|
+
위저드가 다음 다섯 단계를 안내한다:
|
|
26
26
|
|
|
27
27
|
```
|
|
28
|
-
1/
|
|
29
|
-
2/
|
|
30
|
-
3/
|
|
31
|
-
4/
|
|
32
|
-
5/
|
|
33
|
-
6/6 Installing
|
|
28
|
+
1/5 Tracks 무엇을 만드는지(스택) — 항목을 미리 체크해 줄 뿐이다
|
|
29
|
+
2/5 CLI claude / codex / opencode / antigravity — 여러 개 가능
|
|
30
|
+
3/5 Install items 트랙에 맞는 항목이 미리 체크되어 있다. 원치 않는 것은 해제
|
|
31
|
+
4/5 Confirm 요약과 함께, 이 선택이 매 세션에 얹는 컨텍스트 크기를 보여 준다
|
|
32
|
+
5/5 Installing
|
|
34
33
|
```
|
|
35
34
|
|
|
36
35
|
그다음 같은 폴더에서 AI 코딩 도구를 실행하면, 첫 세션부터 룰과 스킬이 바로 적용된다:
|
|
@@ -94,7 +93,7 @@ claude # 또는 codex / opencode / agy
|
|
|
94
93
|
|
|
95
94
|
**기존 프로젝트에 적용해도 안전하다.** 내가 직접 수정한 파일을 교체해야 할 때는 타임스탬프를 붙여 백업본을 남기고 그 경로를 알려 준다. 내가 작성하거나 수정한 파일은 백업 없이 지우지 않으며, 기존에 있던 `.mcp.json` 서버 설정은 덮어쓰지 않고 내용을 병합한다([기존 프로젝트에 설치하기](docs/USAGE.md#installing-into-an-existing-project)).
|
|
96
95
|
|
|
97
|
-
|
|
96
|
+
**현재 프로젝트에만 설치된다.** `~/.codex/` · `~/.opencode/` · `~/.gemini/` 디렉터리나 전역 npm 환경에는 아무것도 설치하지 않는다. 유일한 예외는 Claude Code 플러그인이다 — `claude` CLI 는 플러그인 캐시를 `~/.claude/plugins/` 디렉터리에 저장하며 프로젝트는 메타데이터로 구분하기 때문이다. `.claude/` 디렉터리 밖에는 `.mcp.json`, `.gitignore` 파일에 추가하는 몇 줄(파일이 이미 있을 때), Supabase 트랙의 경우 `.env.example`, 그리고 설치 기록을 남기는 `.uzys-agent-harness/` 디렉터리만 생성한다 — [전체 설치 목록 보기](docs/USAGE.md#what-the-harness-writes).
|
|
98
97
|
|
|
99
98
|
## 다른 도구를 이미 쓰고 있다면
|
|
100
99
|
|
package/README.md
CHANGED
|
@@ -22,15 +22,14 @@ You need Node 20 or newer. Run this in your project folder:
|
|
|
22
22
|
npx -y @uzysjung/agent-harness
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
The wizard asks
|
|
25
|
+
The wizard asks five things:
|
|
26
26
|
|
|
27
27
|
```
|
|
28
|
-
1/
|
|
29
|
-
2/
|
|
30
|
-
3/
|
|
31
|
-
4/
|
|
32
|
-
5/
|
|
33
|
-
6/6 Installing
|
|
28
|
+
1/5 Tracks what you are building (a stack) — this only pre-checks items
|
|
29
|
+
2/5 CLI claude / codex / opencode / antigravity — one or more
|
|
30
|
+
3/5 Install items everything is pre-checked for your track; uncheck what you don't want
|
|
31
|
+
4/5 Confirm summary, plus how much context your selection adds to each session
|
|
32
|
+
5/5 Installing
|
|
34
33
|
```
|
|
35
34
|
|
|
36
35
|
Then open your AI coding tool in the same folder. The rules and skills are live from the first session:
|
|
@@ -94,7 +93,7 @@ In a terminal, `uninstall` offers three choices — one CLI, selected assets, or
|
|
|
94
93
|
|
|
95
94
|
**Safe on an existing project.** Before replacing a file you edited, the harness writes a timestamped backup next to it and prints the path. Nothing you wrote or edited is deleted without a backup beside it, and your existing `.mcp.json` servers are merged, not replaced ([installing into an existing project](docs/USAGE.md#installing-into-an-existing-project)).
|
|
96
95
|
|
|
97
|
-
**Your project only
|
|
96
|
+
**Your project only.** Nothing goes to `~/.codex/`, `~/.opencode/`, `~/.gemini/`, or global npm. Claude Code plugins are the one exception: the `claude` CLI keeps its plugin cache under `~/.claude/plugins/` and isolates projects by metadata. Besides `.claude/`, install writes `.mcp.json`, a few `.gitignore` lines (when that file exists), an `.env.example` on Supabase tracks, and its own record at `.uzys-agent-harness/` — [the full list](docs/USAGE.md#what-the-harness-writes).
|
|
98
97
|
|
|
99
98
|
## Already using another tool?
|
|
100
99
|
|
|
@@ -1483,15 +1483,6 @@ function copyBackupDir(target, now = /* @__PURE__ */ new Date()) {
|
|
|
1483
1483
|
cpSync(realpathSync(target), backup, { recursive: true });
|
|
1484
1484
|
return backup;
|
|
1485
1485
|
}
|
|
1486
|
-
function backupFileIfChanged(target, newContent, now = /* @__PURE__ */ new Date()) {
|
|
1487
|
-
if (!existsSync2(target)) {
|
|
1488
|
-
return null;
|
|
1489
|
-
}
|
|
1490
|
-
if (readFileSync2(target, "utf-8") === newContent) {
|
|
1491
|
-
return null;
|
|
1492
|
-
}
|
|
1493
|
-
return backupFile(target, now);
|
|
1494
|
-
}
|
|
1495
1486
|
function backupFile(target, now = /* @__PURE__ */ new Date()) {
|
|
1496
1487
|
return claimBackupPath(
|
|
1497
1488
|
`${target}.backup-${formatStamp(now)}`,
|
|
@@ -1626,7 +1617,7 @@ function mergeRootFiles(previous, current) {
|
|
|
1626
1617
|
const prior = byPath.get(file.path);
|
|
1627
1618
|
byPath.set(
|
|
1628
1619
|
file.path,
|
|
1629
|
-
prior ? {
|
|
1620
|
+
prior && file.change !== "displaced" ? {
|
|
1630
1621
|
path: file.path,
|
|
1631
1622
|
change: prior.change === "created" ? "created" : file.change,
|
|
1632
1623
|
notes: [.../* @__PURE__ */ new Set([...prior.notes, ...file.notes])]
|
|
@@ -1808,7 +1799,60 @@ var RETIRED_AGENTS = [
|
|
|
1808
1799
|
{ id: "silent-failure-hunter", instead: "Claude Code \uC758 `/code-review` \uAC00 \uAC19\uC740 \uC77C\uC744 \uD55C\uB2E4" },
|
|
1809
1800
|
{ id: "build-error-resolver", instead: "\uBAA8\uB378\uC774 \uAE30\uBCF8\uC73C\uB85C \uD558\uB294 \uC77C\uC774\uB77C \uB300\uCCB4 \uC790\uC0B0\uC774 \uC5C6\uB2E4" }
|
|
1810
1801
|
];
|
|
1811
|
-
var
|
|
1802
|
+
var RETIRED_PATHS = [
|
|
1803
|
+
// rules (23)
|
|
1804
|
+
"rules/api-contract.md",
|
|
1805
|
+
"rules/benchmark-parity.md",
|
|
1806
|
+
"rules/code-style.md",
|
|
1807
|
+
"rules/commit-policy.md",
|
|
1808
|
+
"rules/data-analysis.md",
|
|
1809
|
+
"rules/database.md",
|
|
1810
|
+
"rules/design-workflow.md",
|
|
1811
|
+
"rules/ecc-git-workflow.md",
|
|
1812
|
+
"rules/ecc-performance-common.md",
|
|
1813
|
+
"rules/ecc-security-common.md",
|
|
1814
|
+
"rules/ecc-testing.md",
|
|
1815
|
+
"rules/error-handling.md",
|
|
1816
|
+
"rules/gates-taxonomy.md",
|
|
1817
|
+
"rules/gsd-planner-antipatterns.md",
|
|
1818
|
+
"rules/htmx.md",
|
|
1819
|
+
"rules/model-routing.md",
|
|
1820
|
+
"rules/nextjs.md",
|
|
1821
|
+
"rules/no-false-ship.md",
|
|
1822
|
+
"rules/playwright-launch.md",
|
|
1823
|
+
"rules/pyside6.md",
|
|
1824
|
+
"rules/seo.md",
|
|
1825
|
+
"rules/shadcn.md",
|
|
1826
|
+
"rules/tauri.md",
|
|
1827
|
+
// agents (5)
|
|
1828
|
+
"agents/build-error-resolver.md",
|
|
1829
|
+
"agents/code-reviewer.md",
|
|
1830
|
+
"agents/plan-checker.md",
|
|
1831
|
+
"agents/security-reviewer.md",
|
|
1832
|
+
"agents/silent-failure-hunter.md",
|
|
1833
|
+
// commands/uzys (7)
|
|
1834
|
+
"commands/uzys/auto.md",
|
|
1835
|
+
"commands/uzys/build.md",
|
|
1836
|
+
"commands/uzys/plan.md",
|
|
1837
|
+
"commands/uzys/review.md",
|
|
1838
|
+
"commands/uzys/ship.md",
|
|
1839
|
+
"commands/uzys/spec.md",
|
|
1840
|
+
"commands/uzys/test.md",
|
|
1841
|
+
// hooks (10)
|
|
1842
|
+
"hooks/agentshield-gate.sh",
|
|
1843
|
+
"hooks/checkpoint-snapshot.sh",
|
|
1844
|
+
"hooks/codebase-map.sh",
|
|
1845
|
+
"hooks/gate-check.sh",
|
|
1846
|
+
"hooks/hito-counter.sh",
|
|
1847
|
+
"hooks/karpathy-gate.sh",
|
|
1848
|
+
"hooks/mcp-pre-exec.sh",
|
|
1849
|
+
"hooks/spec-drift-check.sh",
|
|
1850
|
+
"hooks/task-brief-nudge.sh",
|
|
1851
|
+
"hooks/uncommitted-check.sh"
|
|
1852
|
+
];
|
|
1853
|
+
var RETIRED_AGENT_IDS = RETIRED_PATHS.filter(
|
|
1854
|
+
(p) => p.startsWith("agents/")
|
|
1855
|
+
).map((p) => p.slice("agents/".length).replace(/\.md$/, ""));
|
|
1812
1856
|
var ALWAYS_HOOKS = ["session-start.sh", "protect-files.sh"];
|
|
1813
1857
|
var COMMON_SKILL_DIRS = [];
|
|
1814
1858
|
var DEV_SKILL_DIRS = [];
|
|
@@ -2001,7 +2045,6 @@ export {
|
|
|
2001
2045
|
copyDir,
|
|
2002
2046
|
backupDir,
|
|
2003
2047
|
copyBackupDir,
|
|
2004
|
-
backupFileIfChanged,
|
|
2005
2048
|
backupFile,
|
|
2006
2049
|
listFilesRecursive,
|
|
2007
2050
|
ensureProjectSkeleton,
|
|
@@ -2024,10 +2067,11 @@ export {
|
|
|
2024
2067
|
ALL_RULES,
|
|
2025
2068
|
TRACK_AGENTS,
|
|
2026
2069
|
RETIRED_AGENTS,
|
|
2070
|
+
RETIRED_PATHS,
|
|
2027
2071
|
RETIRED_AGENT_IDS,
|
|
2028
2072
|
isCliNeutralTarget,
|
|
2029
2073
|
buildManifest,
|
|
2030
2074
|
CATEGORIES,
|
|
2031
2075
|
CATEGORY_TITLES
|
|
2032
2076
|
};
|
|
2033
|
-
//# sourceMappingURL=chunk-
|
|
2077
|
+
//# sourceMappingURL=chunk-3G34MEGZ.js.map
|