Skip to content

Commit a7973d7

Browse files
CorrectRoadHclaude
andcommitted
Release 0.5.0: agent plugins and localized install docs
Bump to 0.5.0, add a What's New entry (file + whatsnew command) for the Claude Code / Codex plugins and the /harness-lint-capture command, and add the Agent Plugins install section to the zh/ja/ko READMEs for parity. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 16b6201 commit a7973d7

7 files changed

Lines changed: 118 additions & 2 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "harness-lint"
3-
version = "0.4.1"
3+
version = "0.5.0"
44
edition = "2024"
55

66
[dependencies]

README.ja.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,28 @@ npx skills add CorrectRoadH/harness-lint
3030
READ https://raw.githubusercontent.com/CorrectRoadH/harness-lint/refs/heads/main/INIT.md and install harness lint for this code repo
3131
```
3232

33+
## Agent プラグイン(Claude Code と Codex)
34+
35+
`AGENTS.md` に書いた静的な指示は一度しか読まれず、agent が実際に手を動かす瞬間からは遠い場所にあります。[`plugins/`](plugins/) のプラグインは代わりにライフサイクルフックを使い、セッションごとに Lint Driven Development のガイダンスを再注入し、プロンプトのたびに `harness-lint check --changed` を実行して**実際の現在の違反**を agent に渡し、次の行を書く前に修正させます。
36+
37+
Claude Code:
38+
39+
```text
40+
/plugin marketplace add CorrectRoadH/harness-lint
41+
/plugin install harness-lint@harness-lint
42+
```
43+
44+
Codex(プロジェクトローカルのフックを `.codex/` に配置):
45+
46+
```sh
47+
mkdir -p .codex/hooks
48+
cp plugins/codex/hooks.json .codex/hooks.json
49+
cp plugins/codex/hooks/*.sh .codex/hooks/
50+
chmod +x .codex/hooks/*.sh
51+
```
52+
53+
どちらも `/harness-lint-capture` コマンドを同梱しています。セッション中のフィードバックを見直し、再利用できる指摘をルールに落とし込みます(LDD のもう半分)。詳細は [`plugins/README.md`](plugins/README.md)`~/.codex` のグローバル設定を参照してください。
54+
3355
## よく使うコマンド
3456

3557
```sh

README.ko.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,28 @@ npx skills add CorrectRoadH/harness-lint
3030
READ https://raw.githubusercontent.com/CorrectRoadH/harness-lint/refs/heads/main/INIT.md and install harness lint for this code repo
3131
```
3232

33+
## Agent 플러그인 (Claude Code 및 Codex)
34+
35+
`AGENTS.md`에 적은 정적 지시는 한 번만 읽히고, agent가 실제로 작업하는 순간과는 멀리 떨어져 있습니다. [`plugins/`](plugins/)의 플러그인은 대신 라이프사이클 훅을 사용해 세션마다 Lint Driven Development 지침을 다시 주입하고, 프롬프트마다 `harness-lint check --changed`를 실행해 **현재 실제 위반**을 agent에게 전달함으로써 다음 줄을 작성하기 전에 고치도록 합니다.
36+
37+
Claude Code:
38+
39+
```text
40+
/plugin marketplace add CorrectRoadH/harness-lint
41+
/plugin install harness-lint@harness-lint
42+
```
43+
44+
Codex (프로젝트 로컬 훅을 `.codex/`에 배치):
45+
46+
```sh
47+
mkdir -p .codex/hooks
48+
cp plugins/codex/hooks.json .codex/hooks.json
49+
cp plugins/codex/hooks/*.sh .codex/hooks/
50+
chmod +x .codex/hooks/*.sh
51+
```
52+
53+
둘 다 `/harness-lint-capture` 명령을 함께 제공합니다. 세션의 피드백을 검토해 재사용 가능한 지적을 규칙으로 정착시킵니다(LDD의 나머지 절반). 자세한 내용은 [`plugins/README.md`](plugins/README.md)`~/.codex` 전역 설정을 참고하세요.
54+
3355
## 자주 쓰는 명령
3456

3557
```sh

README.zh.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,27 @@ npx skills add CorrectRoadH/harness-lint
3030
READ https://raw.githubusercontent.com/CorrectRoadH/harness-lint/refs/heads/main/INIT.md and install harness lint for this code repo
3131
```
3232

33+
## Agent 插件(Claude Code 与 Codex)
34+
35+
写进 `AGENTS.md` 的静态指令只会被读一次,且离 agent 真正动手很远。[`plugins/`](plugins/) 里的插件改用生命周期 hook:每次会话重新注入 Lint Driven Development 指引,并在每轮 prompt 前运行 `harness-lint check --changed`,把**当前实际违规**喂给 agent,让它在写下一行代码前就修复。
36+
37+
Claude Code:
38+
39+
```text
40+
/plugin marketplace add CorrectRoadH/harness-lint
41+
/plugin install harness-lint@harness-lint
42+
```
43+
44+
Codex(项目级 hook,放在 `.codex/`):
45+
46+
```sh
47+
mkdir -p .codex/hooks
48+
cp plugins/codex/hooks.json .codex/hooks.json
49+
cp plugins/codex/hooks/*.sh .codex/hooks/
50+
chmod +x .codex/hooks/*.sh
51+
```
52+
53+
两边都附带 `/harness-lint-capture` 命令:审视一次会话里的反馈,把可复用的纠正沉淀成规则(LDD 的另一半)。详见 [`plugins/README.md`](plugins/README.md) 以及 `~/.codex` 全局配置说明。
3354

3455
## 常用命令
3556

WHATS-NEW.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,44 @@ This file lives at a stable URL so tools can point to it:
1414
1515
---
1616

17+
## 0.5.0 — Agent plugins (Claude Code & Codex)
18+
19+
**What it is.** Plugins in [`plugins/`](plugins/) that deliver harness-lint
20+
guidance through agent lifecycle hooks instead of a static `AGENTS.md` block:
21+
22+
- **`SessionStart`** injects the Lint Driven Development working guidance plus any
23+
diagnostics already present on changed files.
24+
- **`UserPromptSubmit`** runs `harness-lint check --changed` and injects the
25+
current violations before the agent writes more code (silent when clean).
26+
- A manual **`/harness-lint-capture`** command reviews a session's feedback and
27+
turns the reusable, GritQL-expressible corrections into rules.
28+
29+
Both Claude Code and Codex use the same `hooks.json` schema; they differ only in
30+
install location. The hooks degrade gracefully when the `harness-lint` binary is
31+
absent.
32+
33+
**Adopt it when:**
34+
35+
- **Agents keep ignoring the harness-lint guidance you wrote into `AGENTS.md`.**
36+
A hook re-injects it every session and surfaces live violations at the moment
37+
the agent is about to act, which a one-time static block cannot.
38+
- **You want violations surfaced before code is written,** not only when the
39+
human remembers to run `check`.
40+
41+
**Do *not* adopt it for:**
42+
43+
- **A repo where `AGENTS.md` guidance is already being followed.** The hooks add
44+
a small amount of context to every prompt; if the static block works for you,
45+
the plugin is redundant.
46+
- **Automatically inventing rules.** `/harness-lint-capture` is deliberately
47+
manual — most turns produce nothing rule-worthy, so it is not wired to `Stop`.
48+
49+
**Install.** Claude Code: `/plugin marketplace add CorrectRoadH/harness-lint`
50+
then `/plugin install harness-lint@harness-lint`. Codex: copy `plugins/codex/`
51+
into `.codex/`. See [`plugins/README.md`](plugins/README.md).
52+
53+
---
54+
1755
## 0.4.0 — File sets and `runs_on`
1856

1957
**What it is.** A rule can scope itself to a named region of the repo with

src/cli.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,19 @@ pub fn run() -> Result<ExitCode> {
207207

208208
fn run_whatsnew() {
209209
println!("harness-lint — what's new\n");
210+
println!("0.5.x Agent plugins (Claude Code & Codex)");
211+
println!(
212+
" Inject Lint Driven Development guidance and live `check --changed`\n \
213+
diagnostics through SessionStart/UserPromptSubmit hooks instead of a\n \
214+
static AGENTS.md block, plus a `/harness-lint-capture` command that\n \
215+
turns a session's feedback into rules."
216+
);
217+
println!(
218+
" Adopt when: agents keep ignoring the harness-lint guidance you put in\n \
219+
AGENTS.md, or you want violations surfaced before the agent writes code."
220+
);
221+
println!(" Install: see plugins/ — `/plugin install harness-lint@harness-lint`.");
222+
println!();
210223
println!("0.4.x File sets & runs_on");
211224
println!(
212225
" Scope a rule to a named region, or reach a default-closed region such as\n \

0 commit comments

Comments
 (0)