cluxion-agentplugin-supercoder 0.1.0__tar.gz → 0.2.0__tar.gz

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 (70) hide show
  1. cluxion_agentplugin_supercoder-0.2.0/.github/workflows/ci.yml +34 -0
  2. cluxion_agentplugin_supercoder-0.2.0/.github/workflows/publish.yml +109 -0
  3. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/Docs/README.md +3 -3
  4. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/Docs/agent-surfaces.md +1 -1
  5. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/Docs/architecture.md +1 -1
  6. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/Docs/capabilities.md +4 -2
  7. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/Docs/design.md +11 -0
  8. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/Docs/rust-architecture.md +1 -1
  9. cluxion_agentplugin_supercoder-0.2.0/Docs/tools.md +74 -0
  10. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/PKG-INFO +13 -7
  11. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/README.md +9 -6
  12. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/pyproject.toml +3 -4
  13. cluxion_agentplugin_supercoder-0.2.0/rust/supercoder_index/Cargo.lock +576 -0
  14. cluxion_agentplugin_supercoder-0.2.0/rust/supercoder_index/Cargo.toml +33 -0
  15. cluxion_agentplugin_supercoder-0.2.0/rust/supercoder_index/pyproject.toml +15 -0
  16. cluxion_agentplugin_supercoder-0.2.0/rust/supercoder_index/src/lib.rs +193 -0
  17. cluxion_agentplugin_supercoder-0.2.0/rust/supercoder_index/src/main.rs +37 -0
  18. cluxion_agentplugin_supercoder-0.2.0/rust/supercoder_index/src/outline.rs +257 -0
  19. cluxion_agentplugin_supercoder-0.2.0/rust/supercoder_index/src/syntax.rs +207 -0
  20. cluxion_agentplugin_supercoder-0.2.0/scripts/repack_native_wheel.py +111 -0
  21. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/__init__.py +5 -0
  22. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/src/cluxion_agentplugin_supercoder/cli.py +8 -3
  23. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/src/cluxion_agentplugin_supercoder/core/cursor.py +9 -20
  24. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/src/cluxion_agentplugin_supercoder/core/hash_patch.py +14 -4
  25. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/src/cluxion_agentplugin_supercoder/core/line_budget.py +3 -3
  26. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/core/lint_gate.py +111 -0
  27. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/src/cluxion_agentplugin_supercoder/core/queue.py +3 -3
  28. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/core/repo_map.py +220 -0
  29. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/core/retry_loop.py +104 -0
  30. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/src/cluxion_agentplugin_supercoder/core/safety.py +6 -4
  31. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/core/syntax_gate.py +112 -0
  32. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/core/test_gate.py +207 -0
  33. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/src/cluxion_agentplugin_supercoder/plugin.py +31 -3
  34. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/runner.py +190 -0
  35. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/rust_bridge.py +158 -0
  36. cluxion_agentplugin_supercoder-0.2.0/src/cluxion_agentplugin_supercoder/schemas.py +154 -0
  37. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/tests/test_cursor.py +1 -1
  38. cluxion_agentplugin_supercoder-0.2.0/tests/test_hash_patch.py +82 -0
  39. cluxion_agentplugin_supercoder-0.2.0/tests/test_line_budget.py +34 -0
  40. cluxion_agentplugin_supercoder-0.2.0/tests/test_lint_gate.py +97 -0
  41. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/tests/test_plugin.py +7 -2
  42. cluxion_agentplugin_supercoder-0.2.0/tests/test_queue.py +48 -0
  43. cluxion_agentplugin_supercoder-0.2.0/tests/test_repo_map.py +211 -0
  44. cluxion_agentplugin_supercoder-0.2.0/tests/test_retry_loop.py +98 -0
  45. cluxion_agentplugin_supercoder-0.2.0/tests/test_rust_bridge.py +93 -0
  46. cluxion_agentplugin_supercoder-0.2.0/tests/test_safety.py +52 -0
  47. cluxion_agentplugin_supercoder-0.2.0/tests/test_syntax_gate.py +150 -0
  48. cluxion_agentplugin_supercoder-0.2.0/tests/test_test_gate.py +145 -0
  49. cluxion_agentplugin_supercoder-0.2.0/uv.lock +724 -0
  50. cluxion_agentplugin_supercoder-0.1.0/Docs/tools.md +0 -54
  51. cluxion_agentplugin_supercoder-0.1.0/rust/supercoder_index/Cargo.lock +0 -235
  52. cluxion_agentplugin_supercoder-0.1.0/rust/supercoder_index/Cargo.toml +0 -14
  53. cluxion_agentplugin_supercoder-0.1.0/rust/supercoder_index/src/main.rs +0 -91
  54. cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/__init__.py +0 -5
  55. cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/core/test_gate.py +0 -71
  56. cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/runner.py +0 -111
  57. cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/rust_bridge.py +0 -45
  58. cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/schemas.py +0 -78
  59. cluxion_agentplugin_supercoder-0.1.0/tests/test_hash_patch.py +0 -22
  60. cluxion_agentplugin_supercoder-0.1.0/tests/test_test_gate.py +0 -23
  61. cluxion_agentplugin_supercoder-0.1.0/uv.lock +0 -221
  62. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/.gitignore +0 -0
  63. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/ARCHITECTURE.md +0 -0
  64. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/Docs/installation.md +0 -0
  65. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/__init__.py +0 -0
  66. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/adapters/claude/.claude-plugin/plugin.json +0 -0
  67. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/adapters/claude/skills/supercoder/SKILL.md +0 -0
  68. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/adapters/codex/config-snippet.toml +0 -0
  69. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/adapters/hermes/README.md +0 -0
  70. {cluxion_agentplugin_supercoder-0.1.0 → cluxion_agentplugin_supercoder-0.2.0}/plugin.yaml +0 -0
@@ -0,0 +1,34 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+
8
+ env:
9
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ubuntu-latest
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ python-version: ["3.11", "3.12"]
18
+ steps:
19
+ - uses: actions/checkout@v6.0.3
20
+ - uses: astral-sh/setup-uv@v8.2.0
21
+ - name: Set up Python
22
+ run: uv python install ${{ matrix.python-version }}
23
+ - name: Install
24
+ run: uv sync --extra dev --python ${{ matrix.python-version }}
25
+ - name: Lint
26
+ run: uv run ruff check .
27
+ - name: Test
28
+ run: uv run pytest
29
+ - name: Cargo test
30
+ run: cargo test --manifest-path rust/supercoder_index/Cargo.toml
31
+ - name: Build
32
+ run: uv run python -m build
33
+ - name: Check package
34
+ run: uv run twine check dist/*
@@ -0,0 +1,109 @@
1
+ name: Publish
2
+
3
+ on:
4
+ release:
5
+ types: ["published"]
6
+
7
+ env:
8
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
9
+
10
+ jobs:
11
+ checks:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v6.0.3
15
+ - uses: astral-sh/setup-uv@v8.2.0
16
+ - name: Set up Python
17
+ run: uv python install 3.12
18
+ - name: Install
19
+ run: uv sync --extra dev --python 3.12
20
+ - name: Lint
21
+ run: uv run ruff check .
22
+ - name: Test
23
+ run: uv run pytest
24
+ - name: Cargo test
25
+ run: cargo test --manifest-path rust/supercoder_index/Cargo.toml
26
+
27
+ # sdist + pure py3-none-any wheel: the fallback pip selects on platforms
28
+ # without a matching native wheel.
29
+ build-pure:
30
+ needs: checks
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - uses: actions/checkout@v6.0.3
34
+ - uses: astral-sh/setup-uv@v8.2.0
35
+ - name: Set up Python
36
+ run: uv python install 3.12
37
+ - name: Install build tooling
38
+ run: uv sync --extra dev --python 3.12
39
+ - name: Build sdist and pure wheel
40
+ run: uv run python -m build
41
+ - name: Check package
42
+ run: uv run twine check dist/*
43
+ - uses: actions/upload-artifact@v4
44
+ with:
45
+ name: dist-pure
46
+ path: dist/
47
+
48
+ # Platform wheels of the SAME project: the abi3 native module is merged
49
+ # into the pure wheel and the wheel is retagged. One PyPI project total.
50
+ build-native:
51
+ needs: build-pure
52
+ strategy:
53
+ fail-fast: false
54
+ matrix:
55
+ include:
56
+ - os: ubuntu-latest
57
+ target: x86_64
58
+ - os: ubuntu-latest
59
+ target: aarch64
60
+ - os: macos-14
61
+ target: universal2-apple-darwin
62
+ - os: windows-latest
63
+ target: x64
64
+ runs-on: ${{ matrix.os }}
65
+ steps:
66
+ - uses: actions/checkout@v6.0.3
67
+ - uses: PyO3/maturin-action@v1
68
+ with:
69
+ working-directory: rust/supercoder_index
70
+ target: ${{ matrix.target }}
71
+ args: --release --strip --out dist
72
+ manylinux: auto
73
+ - uses: actions/download-artifact@v4
74
+ with:
75
+ name: dist-pure
76
+ path: dist-pure/
77
+ - uses: astral-sh/setup-uv@v8.2.0
78
+ - name: Merge native module into project wheel
79
+ shell: bash
80
+ run: |
81
+ uv run --no-project --python 3.12 --with wheel \
82
+ python scripts/repack_native_wheel.py \
83
+ --pure-wheel dist-pure/*-py3-none-any.whl \
84
+ --native-wheel rust/supercoder_index/dist/*.whl \
85
+ --out dist-merged/
86
+ - uses: actions/upload-artifact@v4
87
+ with:
88
+ name: dist-merged-${{ matrix.os }}-${{ matrix.target }}
89
+ path: dist-merged/
90
+
91
+ publish:
92
+ name: Publish cluxion-agentplugin-supercoder
93
+ needs: [build-pure, build-native]
94
+ runs-on: ubuntu-latest
95
+ environment: pypi
96
+ permissions:
97
+ id-token: write
98
+ contents: read
99
+ steps:
100
+ - uses: actions/download-artifact@v4
101
+ with:
102
+ name: dist-pure
103
+ path: dist/
104
+ - uses: actions/download-artifact@v4
105
+ with:
106
+ pattern: dist-merged-*
107
+ merge-multiple: true
108
+ path: dist/
109
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -15,9 +15,9 @@
15
15
 
16
16
  ### 연결된 AI 사용 흐름
17
17
 
18
- 1. 코딩 요청 → `supercoder_plan` (비코딩이면 `bypass`)
19
- 2. `supercoder_cursor_map` / `supercoder_read_window` — bounded context
20
- 3. `supercoder_patch` — expected hash 필수
18
+ 1. 코딩 요청 → `supercoder_plan` (비코딩이면 `bypass`; coding plan에 repo map 포함, `repo_map:false`로 opt-out)
19
+ 2. `supercoder_repo_map` / `supercoder_cursor_map` / `supercoder_read_window` — bounded context
20
+ 3. `supercoder_patch` — expected hash 필수; `supercoder_syntax_gate` / `supercoder_lint_gate`로 검증
21
21
  4. `supercoder_test_gate` — host terminal에서 테스트 실행
22
22
  5. `supercoder_brief` — evidence와 함께 완료 보고
23
23
 
@@ -9,7 +9,7 @@ Supercoder는 Hermes plugin + `supercoder` toolset으로 연결됩니다.
9
9
  hermes plugins enable cluxion-agentplugin-supercoder
10
10
  ```
11
11
 
12
- Tools: `supercoder_plan`, `supercoder_read_window`, `supercoder_patch`, `supercoder_cursor_map`, `supercoder_test_gate`, `supercoder_brief`
12
+ Tools (9): `supercoder_plan`, `supercoder_repo_map`, `supercoder_read_window`, `supercoder_patch`, `supercoder_cursor_map`, `supercoder_syntax_gate`, `supercoder_lint_gate`, `supercoder_test_gate`, `supercoder_brief`
13
13
 
14
14
  ## Claude / Codex / Grok
15
15
 
@@ -19,7 +19,7 @@ flowchart TD
19
19
  ```
20
20
  src/cluxion_agentplugin_supercoder/
21
21
  plugin.py, runner.py
22
- core/ — cursor, hash_patch, line_budget, safety, queue
22
+ core/ — cursor, hash_patch, repo_map, syntax_gate, lint_gate, line_budget, safety, queue
23
23
  rust_bridge.py
24
24
  rust/supercoder_index/
25
25
  ```
@@ -5,14 +5,16 @@ Supercoder가 **현재 제공하는** 기능입니다.
5
5
  ## Hermes 연동
6
6
 
7
7
  - Plugin entry + `supercoder` toolset
8
- - Tools: `supercoder_plan`, `supercoder_read_window`, `supercoder_patch`, `supercoder_cursor_map`, `supercoder_test_gate`, `supercoder_brief`
8
+ - Tools (9): `supercoder_plan`, `supercoder_repo_map`, `supercoder_read_window`, `supercoder_patch`, `supercoder_cursor_map`, `supercoder_syntax_gate`, `supercoder_lint_gate`, `supercoder_test_gate`, `supercoder_brief`
9
9
 
10
10
  ## Core (Python)
11
11
 
12
12
  - `hash_patch` — exact/fuzzy match, stale detection
13
13
  - `cursor` — read_window, cursor_map
14
+ - `repo_map` — budgeted files + top-level symbols (`files_omitted` honesty)
15
+ - `syntax_gate`, `lint_gate` — parse-check and advisory ruff
14
16
  - `line_budget`, `safety` gates
15
- - `TaskQueue` / `plan_coding_task` — WorkUnit 분해
17
+ - `TaskQueue` / `plan_coding_task` — WorkUnit 분해 (plan embeds 2000-char repo map by default)
16
18
 
17
19
  ## Rust sidecar
18
20
 
@@ -58,6 +58,17 @@ hash/fuzzy match 로직:
58
58
  - 테스트: `tests_run` 또는 `tests_not_run_reason`
59
59
  - 불확실: `unknown_after_check` 허용, fake certainty 금지
60
60
 
61
+ ## Repo map
62
+
63
+ `supercoder_repo_map`은 budgeted text map (files + top-level symbols with line numbers)을 반환합니다.
64
+ budget을 넘는 파일은 `files_omitted`에 집계됩니다. `supercoder_plan`은 coding plan에 기본 2000-char repo map을 embed하며 `repo_map:false`로 opt-out 가능합니다.
65
+
66
+ ## Syntax and lint gates
67
+
68
+ - `supercoder_syntax_gate` — tree-sitter parse-check (python/rust/js/ts/tsx/json; toml stdlib); unsupported languages fail-open
69
+ - `supercoder_lint_gate` — advisory ruff (suggest-only, never blocks)
70
+ - `supercoder_patch` — 기본 `syntax_gate=true` (parse 실패 시 revert), `lint_gate=true` (advisory findings)
71
+
61
72
  ## Lazy activation
62
73
 
63
74
  `is_coding_task()`가 false이면 `supercoder_plan`은 `mode=bypass`.
@@ -28,7 +28,7 @@ export CLUXION_SUPERCODER_INDEX_BIN=/path/to/supercoder-index
28
28
 
29
29
  ## Python 역할
30
30
 
31
- - `hash_patch`, `cursor`, `line_budget`, `safety` — 에이전트 tool handler
31
+ - `hash_patch`, `cursor`, `repo_map`, `syntax_gate`, `lint_gate`, `line_budget`, `safety` — 에이전트 tool handler
32
32
  - `TaskQueue` / WorkUnit 분해
33
33
  - Hermes `register()` — `supercoder` toolset 등록
34
34
  - 연결된 AI가 skill·도구 지시에 따라 `supercoder_*` 호출
@@ -0,0 +1,74 @@
1
+ # Tools
2
+
3
+ 연결된 AI가 호출하는 `supercoder` toolset입니다.
4
+
5
+ ## `supercoder_plan`
6
+
7
+ 코딩 task를 WorkUnit 큐로 분해합니다. Coding plan에는 compact repo map (files + top-level symbols)이 포함됩니다.
8
+
9
+ - 비코딩 prompt → `{ "mode": "bypass" }`
10
+ - 코딩 prompt → `map` → `edit` → `verify` → `brief`
11
+
12
+ 입력: `prompt`, `task_id`, `cwd`, `repo_map` (기본 `true`), `repo_map_budget_chars` (기본 2000)
13
+
14
+ ## `supercoder_repo_map`
15
+
16
+ budgeted repo map: line count가 있는 파일 목록 + top-level symbols (class/function/method/rust item/ts interface)와 line number.
17
+ task 시작 시 orientation용. budget 초과 파일은 `files_omitted`에 집계 (silent drop 없음).
18
+
19
+ 입력: `cwd`, `max_files` (기본 128), `max_symbols_per_file` (기본 24), `budget_chars` (기본 8000)
20
+
21
+ ## `supercoder_read_window`
22
+
23
+ bounded file read.
24
+
25
+ 입력: `path`, `start_line`, `max_lines` (기본 120), `cwd`
26
+ 출력: `content`, `content_hash`, `file_hash`
27
+
28
+ ## `supercoder_patch`
29
+
30
+ hash 검증 patch. `expected_file_hash` 없으면 stale로 거부.
31
+ 기본 `syntax_gate=true`: parse 실패 시 patch 자동 revert. `lint_gate=true`: 성공 후 advisory ruff findings 첨부 (never blocks).
32
+
33
+ ## `supercoder_syntax_gate`
34
+
35
+ 파일 또는 snippet parse-check (tree-sitter: python/rust/js/ts/tsx/json; stdlib: toml). 미지원 언어는 fail-open.
36
+
37
+ 입력: `path`, `content`, `language`, `cwd`
38
+
39
+ ## `supercoder_lint_gate`
40
+
41
+ advisory ruff lint for one file (suggest-only; 프로젝트 ruff config 존중).
42
+
43
+ 입력: `path`, `cwd`
44
+
45
+ ## `supercoder_cursor_map`
46
+
47
+ repo 내 소스 파일 index (확장자·깊이 제한).
48
+
49
+ ## `supercoder_test_gate`
50
+
51
+ 변경 파일 기반으로 테스트 명령을 **제안**합니다.
52
+
53
+ - Python: `src/pkg/store.py` → matching test file anywhere in repo (`src/`, flat, tests-beside-code)
54
+ - `.rs`/`.go`/`.js`/`.ts`: cargo/go/npm runner when project marker exists
55
+ - `command`로 명시 override 가능
56
+ - **연결된 AI**가 host terminal에서 실행하고, stdout/stderr를 `supercoder_brief.tests_run`에 기록
57
+
58
+ ## `supercoder_brief`
59
+
60
+ `files_changed`, `tests_run`, `verification_status`, `remaining_risks` 요약.
61
+
62
+ ## WorkUnit 필드
63
+
64
+ ```text
65
+ id, goal, priority
66
+ allowed_paths, line_budget
67
+ dependencies, expected_evidence
68
+ status: pending | running | complete | failed | blocked
69
+ ```
70
+
71
+ ## Queue (내부)
72
+
73
+ `TaskQueue.next_unit()` / `record()` — `supercoder_plan` 흐름에서 사용.
74
+ 연결된 AI는 WorkUnit 순서에 맞게 위 도구를 호출합니다.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cluxion-agentplugin-supercoder
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: Universal agent coding harness plugin: cursor logic, safe patch, line budget, Rust index, test gates.
5
5
  Project-URL: Homepage, https://github.com/cluxion/cluxion-Agentplugin-supercoder
6
6
  Project-URL: Repository, https://github.com/cluxion/cluxion-Agentplugin-supercoder
@@ -11,10 +11,13 @@ Keywords: claude-code,cluxion,codex,coding,hermes-agent,plugin
11
11
  Requires-Python: >=3.11
12
12
  Requires-Dist: psutil>=5.9
13
13
  Requires-Dist: pyyaml>=6.0
14
+ Requires-Dist: ruff>=0.8
14
15
  Provides-Extra: dev
15
16
  Requires-Dist: build>=1.2; extra == 'dev'
16
17
  Requires-Dist: pytest>=8.0; extra == 'dev'
17
18
  Requires-Dist: ruff>=0.8; extra == 'dev'
19
+ Requires-Dist: twine>=6.0; extra == 'dev'
20
+ Requires-Dist: wheel>=0.45; extra == 'dev'
18
21
  Description-Content-Type: text/markdown
19
22
 
20
23
  # cluxion-Agentplugin-supercoder
@@ -50,9 +53,9 @@ patch 검증·인덱싱은 Rust, orchestration은 Python 래퍼입니다.
50
53
  ## 연결된 AI가 하는 일
51
54
 
52
55
  ```
53
- 코딩 요청 → supercoder_plan
54
- → cursor_map / read_window
55
- → supercoder_patch (hash 필수)
56
+ 코딩 요청 → supercoder_plan (기본 repo map 포함; repo_map:false로 opt-out)
57
+ supercoder_repo_map / cursor_map / read_window
58
+ → supercoder_patch (hash 필수; syntax/lint gate)
56
59
  → test_gate (host terminal 실행)
57
60
  → supercoder_brief (evidence 필수)
58
61
  ```
@@ -67,14 +70,17 @@ cluxion-supercoder check
67
70
  hermes plugins enable cluxion-agentplugin-supercoder
68
71
  ```
69
72
 
70
- ## 도구 (`supercoder` toolset)
73
+ ## 도구 (`supercoder` toolset, 9 tools)
71
74
 
72
75
  | Tool | 설명 |
73
76
  |------|------|
74
- | `supercoder_plan` | WorkUnit 큐 |
77
+ | `supercoder_plan` | WorkUnit 큐 (coding plan에 2000-char repo map 포함; `repo_map:false`로 opt-out) |
78
+ | `supercoder_repo_map` | budgeted repo map (files + top-level symbols; `files_omitted`로 잘림 표시) |
75
79
  | `supercoder_read_window` | line-bounded read |
76
- | `supercoder_patch` | hash 검증 patch |
80
+ | `supercoder_patch` | hash 검증 patch + L1 syntax gate (lint advisory) |
77
81
  | `supercoder_cursor_map` | repo index |
82
+ | `supercoder_syntax_gate` | tree-sitter parse-check (python/rust/js/ts/tsx/json; toml stdlib) |
83
+ | `supercoder_lint_gate` | advisory ruff lint (suggest-only) |
78
84
  | `supercoder_test_gate` | 테스트 제안 |
79
85
  | `supercoder_brief` | evidence 요약 |
80
86
 
@@ -31,9 +31,9 @@ patch 검증·인덱싱은 Rust, orchestration은 Python 래퍼입니다.
31
31
  ## 연결된 AI가 하는 일
32
32
 
33
33
  ```
34
- 코딩 요청 → supercoder_plan
35
- → cursor_map / read_window
36
- → supercoder_patch (hash 필수)
34
+ 코딩 요청 → supercoder_plan (기본 repo map 포함; repo_map:false로 opt-out)
35
+ supercoder_repo_map / cursor_map / read_window
36
+ → supercoder_patch (hash 필수; syntax/lint gate)
37
37
  → test_gate (host terminal 실행)
38
38
  → supercoder_brief (evidence 필수)
39
39
  ```
@@ -48,14 +48,17 @@ cluxion-supercoder check
48
48
  hermes plugins enable cluxion-agentplugin-supercoder
49
49
  ```
50
50
 
51
- ## 도구 (`supercoder` toolset)
51
+ ## 도구 (`supercoder` toolset, 9 tools)
52
52
 
53
53
  | Tool | 설명 |
54
54
  |------|------|
55
- | `supercoder_plan` | WorkUnit 큐 |
55
+ | `supercoder_plan` | WorkUnit 큐 (coding plan에 2000-char repo map 포함; `repo_map:false`로 opt-out) |
56
+ | `supercoder_repo_map` | budgeted repo map (files + top-level symbols; `files_omitted`로 잘림 표시) |
56
57
  | `supercoder_read_window` | line-bounded read |
57
- | `supercoder_patch` | hash 검증 patch |
58
+ | `supercoder_patch` | hash 검증 patch + L1 syntax gate (lint advisory) |
58
59
  | `supercoder_cursor_map` | repo index |
60
+ | `supercoder_syntax_gate` | tree-sitter parse-check (python/rust/js/ts/tsx/json; toml stdlib) |
61
+ | `supercoder_lint_gate` | advisory ruff lint (suggest-only) |
59
62
  | `supercoder_test_gate` | 테스트 제안 |
60
63
  | `supercoder_brief` | evidence 요약 |
61
64
 
@@ -4,24 +4,23 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "cluxion-agentplugin-supercoder"
7
- version = "0.1.0"
7
+ version = "0.2.0"
8
8
  description = "Universal agent coding harness plugin: cursor logic, safe patch, line budget, Rust index, test gates."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
11
11
  license = "Apache-2.0"
12
12
  authors = [{ name = "cluxion", email = "algocean1204@users.noreply.github.com" }]
13
13
  keywords = ["cluxion", "hermes-agent", "claude-code", "codex", "coding", "plugin"]
14
- dependencies = ["psutil>=5.9", "PyYAML>=6.0"]
14
+ dependencies = ["psutil>=5.9", "PyYAML>=6.0", "ruff>=0.8"]
15
15
 
16
16
  [project.optional-dependencies]
17
- dev = ["pytest>=8.0", "ruff>=0.8", "build>=1.2"]
17
+ dev = ["pytest>=8.0", "ruff>=0.8", "build>=1.2", "twine>=6.0", "wheel>=0.45"]
18
18
 
19
19
  [project.scripts]
20
20
  cluxion-supercoder = "cluxion_agentplugin_supercoder.cli:main"
21
21
 
22
22
  [project.entry-points."hermes_agent.plugins"]
23
23
  cluxion-agentplugin-supercoder = "cluxion_agentplugin_supercoder.plugin"
24
- hermes-supercoder = "cluxion_agentplugin_supercoder.plugin"
25
24
 
26
25
  [project.urls]
27
26
  Homepage = "https://github.com/cluxion/cluxion-Agentplugin-supercoder"