orca-agent-cleanup 1.5.1 → 1.5.2
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 +34 -18
- package/README.md +26 -8
- package/package.json +1 -1
- package/scripts/orca-cleanup-core.mjs +10 -0
package/README.ko.md
CHANGED
|
@@ -20,7 +20,11 @@
|
|
|
20
20
|
> 이 저장소는 Orca 또는 Stably와 관계없는 커뮤니티 도구입니다.<br>
|
|
21
21
|
> 먼저 Orca 앱을 정상 제거하고 Claude, Codex 등 관련 에이전트를 모두 종료한 뒤 사용하세요.
|
|
22
22
|
|
|
23
|
-
## 🆕 v1.5.
|
|
23
|
+
## 🆕 v1.5.2
|
|
24
|
+
|
|
25
|
+
Orca v1.4.243에 추가된 `jira-tickets`와 `orca-jira`를 스킬 탐색에 포함합니다. CodeBuddy·Kiro·OpenClaude의 홈과 지정한 프로젝트 스킬 폴더도 검사합니다. 이름뿐 아니라 Orca 출처를 확인한 항목만 미리보기와 백업 대상에 넣습니다. 다른 정리 규칙은 v1.4.224 검토 기준을 유지하며, 이후 변경 전체를 검증한 것은 아닙니다.
|
|
26
|
+
|
|
27
|
+
## v1.5.0
|
|
24
28
|
|
|
25
29
|
- `npx orca-agent-cleanup`으로 설치 없이 바로 실행합니다.
|
|
26
30
|
- Orca 앱이 아직 설치돼 있거나 실행 중이면 `clean`을 멈춥니다. Orca는 켜질 때 훅과 플러그인을 다시 설치하므로, 앱을 두고 정리하면 다음 실행 때 되돌아가고 쓰던 자격증명만 격리돼 앱이 망가집니다. 그래도 진행하려면 `--force`를 붙입니다.
|
|
@@ -35,7 +39,7 @@ Orca v1.4.224와 2026-10-14 `main` 브랜치를 기준으로 다시 검증했습
|
|
|
35
39
|
- Windows에서 PowerShell 명령이나 `-EncodedCommand`(base64)로 감싼 훅 명령도 풀어서 식별합니다.
|
|
36
40
|
- Orca가 새로 저장하는 Bitbucket·Linear·Jira·ZCode·OpenCode Go·MiniMax 암호화 자격증명을 격리합니다.
|
|
37
41
|
- `~/.gemini/config/skills`, `~/.config/muse/skills`, `~/.zcode/skills` 스킬 폴더를 검사합니다.
|
|
38
|
-
- 상류
|
|
42
|
+
- 당시 상류 감시에 훅 관련 계약 파일과 에이전트 연동 목록을 추가했습니다. 현재 자동 감시 워크플로는 비활성화되어 있습니다.
|
|
39
43
|
|
|
40
44
|
## v1.3.0
|
|
41
45
|
|
|
@@ -43,7 +47,7 @@ Orca v1.4.224와 2026-10-14 `main` 브랜치를 기준으로 다시 검증했습
|
|
|
43
47
|
- 정리 전에 manifest v2 journal을 만들고 각 작업 전후 상태를 기록해 중단된 정리도 `restore`로 복구할 수 있습니다.
|
|
44
48
|
- 백업 파일과 디렉터리 내용의 SHA-256을 기록하며 `verify` 명령으로 복원 전에 손상을 확인합니다.
|
|
45
49
|
- 기본 백업 경로에 UUID를 사용하고 비어 있지 않은 사용자 지정 백업 폴더는 거부합니다.
|
|
46
|
-
-
|
|
50
|
+
- 상류 감시 워크플로를 활성화하면 Orca 스킬·설치·캐시 계약의 변경을 확인하고 차이가 생기면 Issue를 생성합니다. 이 저장소에서는 2026-10-29 기준 수동으로 비활성화돼 있습니다.
|
|
47
51
|
- GitHub Actions를 커밋 SHA로 고정하고 CodeQL 및 Node.js 24 검증을 추가했습니다.
|
|
48
52
|
|
|
49
53
|
> [!NOTE]
|
|
@@ -59,13 +63,13 @@ Orca 앱을 제거해도 공용 스킬 폴더와 각 에이전트 설정에는
|
|
|
59
63
|
- 삭제된 Orca 실행 경로가 `PATH` 또는 `/usr/local/bin/orca`에 남음
|
|
60
64
|
- 앱 데이터와 음성 모델이 디스크 공간을 계속 차지함
|
|
61
65
|
|
|
62
|
-
이 도구는 [Orca 공식 저장소](https://github.com/stablyai/orca)의
|
|
66
|
+
이 도구는 확인한 [Orca 공식 저장소](https://github.com/stablyai/orca)의 스킬 manifest와 설치 코드를 기준으로 잔재를 식별합니다.
|
|
63
67
|
|
|
64
68
|
## ✅ 지원 범위 한눈에 보기
|
|
65
69
|
|
|
66
70
|
| 정리 대상 | Windows | macOS | Linux | 기본 정리 |
|
|
67
71
|
| --- | :---: | :---: | :---: | :---: |
|
|
68
|
-
| Orca 공식 스킬
|
|
72
|
+
| 확인한 Orca 공식 스킬 10종 | ✅ | ✅ | ✅ | ✅ |
|
|
69
73
|
| Codex 플러그인 캐시의 서명된 Orca 스킬 | ✅ | ✅ | ✅ | ✅ |
|
|
70
74
|
| `computer-use`·`orca-cli`·`orchestration` | ✅ | ✅ | ✅ | ✅ |
|
|
71
75
|
| Claude·Codex·Gemini 등 Orca 관리형 훅 | ✅ | ✅ | ✅ | ✅ |
|
|
@@ -87,7 +91,7 @@ Node.js 18 이상이 필요합니다. Windows PowerShell, macOS Terminal, Linux
|
|
|
87
91
|
|
|
88
92
|
### 1. 실행 방법
|
|
89
93
|
|
|
90
|
-
|
|
94
|
+
`npx`로 실행합니다. 필요한 패키지는 실행할 때 내려받습니다.
|
|
91
95
|
|
|
92
96
|
```bash
|
|
93
97
|
npx orca-agent-cleanup scan
|
|
@@ -110,25 +114,35 @@ npx orca-agent-cleanup scan
|
|
|
110
114
|
|
|
111
115
|
### 3. 정리 결과 미리보기
|
|
112
116
|
|
|
113
|
-
|
|
117
|
+
기본 정리 범위에서 바뀔 항목을 확인합니다. Orca 앱이 아직 설치돼 있거나 실행 중이면 여기서 ⛔ 표시가 나옵니다. 그때는 앱부터 제거하세요.
|
|
114
118
|
|
|
115
119
|
```bash
|
|
116
|
-
npx orca-agent-cleanup clean --dry-run
|
|
120
|
+
npx orca-agent-cleanup clean --dry-run
|
|
117
121
|
```
|
|
118
122
|
|
|
119
123
|
### 4. 복구 가능하게 정리
|
|
120
124
|
|
|
121
125
|
```bash
|
|
122
|
-
npx orca-agent-cleanup clean
|
|
126
|
+
npx orca-agent-cleanup clean
|
|
123
127
|
```
|
|
124
128
|
|
|
125
129
|
### 5. 백업 무결성 확인
|
|
126
130
|
|
|
131
|
+
`clean`이 출력한 백업 위치로 아래 경로를 바꾸어 확인합니다.
|
|
132
|
+
|
|
127
133
|
```bash
|
|
128
|
-
npx orca-agent-cleanup verify
|
|
129
|
-
--manifest ~/OrcaAgentCleanupBackups/<실행시각-UUID>/manifest.json
|
|
134
|
+
npx orca-agent-cleanup verify --manifest /path/to/backup/manifest.json
|
|
130
135
|
```
|
|
131
136
|
|
|
137
|
+
필요하면 복원할 내용도 미리 확인한 뒤 복원할 수 있습니다.
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
npx orca-agent-cleanup restore --dry-run --manifest /path/to/backup/manifest.json
|
|
141
|
+
npx orca-agent-cleanup restore --manifest /path/to/backup/manifest.json
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
앱 데이터·음성 캐시, 사용자·프로젝트 상태와 프로세스 종료는 별도 옵션입니다. 아래 범위를 확인하고, 옵션을 적용하기 전에 같은 옵션을 붙여 미리보기부터 실행하세요. 종료한 프로세스는 파일을 복원해도 다시 실행되지 않습니다.
|
|
145
|
+
|
|
132
146
|
정리가 끝나면 Claude, Codex와 터미널을 완전히 종료한 뒤 다시 실행하세요. 기존 세션이 스킬 목록이나 환경 변수를 캐시하고 있을 수 있습니다.
|
|
133
147
|
|
|
134
148
|
## 🖥️ 지원 운영체제
|
|
@@ -144,9 +158,9 @@ npx orca-agent-cleanup verify \
|
|
|
144
158
|
|
|
145
159
|
## 🧹 무엇을 정리하나요?
|
|
146
160
|
|
|
147
|
-
### 공식 번들 스킬
|
|
161
|
+
### 공식 번들 스킬 10종
|
|
148
162
|
|
|
149
|
-
Orca의
|
|
163
|
+
Orca v1.4.243의 공식 manifest에 등록된 다음 스킬을 검사합니다.
|
|
150
164
|
|
|
151
165
|
| 영역 | 스킬 |
|
|
152
166
|
| --- | --- |
|
|
@@ -154,6 +168,7 @@ Orca의 현재 공식 manifest에 등록된 다음 스킬을 검사합니다.
|
|
|
154
168
|
| 오케스트레이션 | `orchestration`, `orca-per-workspace-env` |
|
|
155
169
|
| 에뮬레이터 | `orca-emulator`, `orca-emulator-android` |
|
|
156
170
|
| Linear 연동 | `orca-linear`, `linear-tickets` |
|
|
171
|
+
| Jira 연동 | `orca-jira`, `jira-tickets` |
|
|
157
172
|
|
|
158
173
|
검사하는 사용자 스킬 위치:
|
|
159
174
|
|
|
@@ -167,12 +182,13 @@ Orca의 현재 공식 manifest에 등록된 다음 스킬을 검사합니다.
|
|
|
167
182
|
~/.factory/skills ~/.continue/skills
|
|
168
183
|
~/.trae-cn/skills ~/.augment/skills
|
|
169
184
|
~/.gemini/config/skills ~/.config/muse/skills
|
|
170
|
-
~/.zcode/skills
|
|
185
|
+
~/.zcode/skills ~/.codebuddy/skills
|
|
186
|
+
~/.kiro/skills ~/.openclaude/skills
|
|
171
187
|
```
|
|
172
188
|
|
|
173
|
-
`CLAUDE_CONFIG_DIR`, `GROK_HOME`, `HERMES_HOME`으로 이동된 Skills와 Windows의 `%LOCALAPPDATA%\hermes\skills`도 검사합니다. Skills 설치가 중단되어 남은 `.orca-skill-extract-*`, `.*.orca-staging-*`, `.*.orca-placement-*` 등 Orca 전용 트랜잭션 경로도 격리합니다.
|
|
189
|
+
`CLAUDE_CONFIG_DIR`, `GROK_HOME`, `HERMES_HOME`, `KIRO_HOME`, `OPENCLAUDE_CONFIG_DIR`으로 이동된 Skills와 Windows의 `%LOCALAPPDATA%\hermes\skills`도 검사합니다. Skills 설치가 중단되어 남은 `.orca-skill-extract-*`, `.*.orca-staging-*`, `.*.orca-placement-*` 등 Orca 전용 트랜잭션 경로도 격리합니다.
|
|
174
190
|
|
|
175
|
-
`--project`를 사용하면 프로젝트의 `.agents`, `.claude`, `.factory`, `.continue`, `.trae`, `.grok`, `.augment` 스킬 폴더도 검사합니다.
|
|
191
|
+
`--project`를 사용하면 프로젝트의 `.agents`, `.claude`, `.factory`, `.continue`, `.trae`, `.grok`, `.augment`, `.codebuddy`, `.kiro`, `.openclaude` 스킬 폴더도 검사합니다.
|
|
176
192
|
|
|
177
193
|
```bash
|
|
178
194
|
npx orca-agent-cleanup scan --project /path/to/project
|
|
@@ -275,7 +291,7 @@ npx orca-agent-cleanup clean --dry-run --include-remote --remote-home /mnt/remot
|
|
|
275
291
|
|
|
276
292
|
| 항목 | 자동 정리되는 조건 |
|
|
277
293
|
| --- | --- |
|
|
278
|
-
| 스킬 | 공식 이름
|
|
294
|
+
| 스킬 | 확인한 공식 이름 10종이면서 해당 스킬 폴더의 `stablyai/orca` 잠금 출처 또는 Orca 고유 문구가 확인됨 |
|
|
279
295
|
| Codex 플러그인 캐시 | 깊이·항목 수를 제한해 탐색하고 `skills/<공식 이름>/SKILL.md`의 Orca 서명이 확인됨 |
|
|
280
296
|
| 프로젝트 스킬 | `--project`로 지정한 해당 프로젝트의 잠금 파일과 스킬 폴더가 서로 일치함 |
|
|
281
297
|
| 에이전트 훅 | 명령이 정확히 `.orca/agent-hooks`를 참조하거나(PowerShell·base64로 감싼 명령은 풀어서 확인) Orca 관리 표식이 확인됨 |
|
|
@@ -409,7 +425,7 @@ Windows 전용 이전 인터페이스도 호환성을 위해 유지합니다.
|
|
|
409
425
|
.\scripts\Remove-OrcaAgentIntegrations.ps1 -Apply -IncludeAppData -WhatIf
|
|
410
426
|
```
|
|
411
427
|
|
|
412
|
-
|
|
428
|
+
여러 에이전트의 스킬 폴더와 훅, 음성 데이터, macOS·Linux까지 함께 검사하려면 공통 Node.js 도구 사용을 권장합니다.
|
|
413
429
|
|
|
414
430
|
## 🧪 테스트
|
|
415
431
|
|
package/README.md
CHANGED
|
@@ -21,13 +21,13 @@ Inspect leftover Orca integrations, quarantine verified residue and restore it w
|
|
|
21
21
|
|
|
22
22
|
## Why use it
|
|
23
23
|
|
|
24
|
-
Removing Orca can leave shared skills, agent hooks, launchers, cached models and configuration behind. Agents may keep trying to call a missing Orca CLI or computer-use integration. This tool identifies residue using
|
|
24
|
+
Removing Orca can leave shared skills, agent hooks, launchers, cached models and configuration behind. Agents may keep trying to call a missing Orca CLI or computer-use integration. This tool identifies residue using a reviewed Orca manifest, ownership markers and signatures, then moves verified items into a recoverable backup.
|
|
25
25
|
|
|
26
26
|
It does **not** uninstall the Orca application itself.
|
|
27
27
|
|
|
28
28
|
## Quick start
|
|
29
29
|
|
|
30
|
-
Requires **Node.js 18 or newer**. The commands work in Windows PowerShell, macOS Terminal and Linux shells. Run it with `npx
|
|
30
|
+
Requires **Node.js 18 or newer**. The commands work in Windows PowerShell, macOS Terminal and Linux shells. Run it with `npx`, which downloads the package as needed.
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
33
|
npx orca-agent-cleanup scan
|
|
@@ -46,31 +46,40 @@ cd orca-agent-cleanup
|
|
|
46
46
|
npx orca-agent-cleanup scan
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
**Preview**
|
|
49
|
+
**Preview** the default cleanup. If Orca is still installed or running you will see a ⛔ warning; uninstall the app first.
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
|
-
npx orca-agent-cleanup clean --dry-run
|
|
52
|
+
npx orca-agent-cleanup clean --dry-run
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
**Apply** the reviewed cleanup:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
npx orca-agent-cleanup clean
|
|
58
|
+
npx orca-agent-cleanup clean
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
The command reports the backup location. Replace the placeholder below with that actual path:
|
|
61
|
+
The command reports the backup location. Replace the placeholder below with that actual path, then verify the backup:
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
64
|
npx orca-agent-cleanup verify --manifest /path/to/backup/manifest.json
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
+
If needed, preview and then restore the backup:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx orca-agent-cleanup restore --dry-run --manifest /path/to/backup/manifest.json
|
|
71
|
+
npx orca-agent-cleanup restore --manifest /path/to/backup/manifest.json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
App data, voice caches, extra user or project state, and stopping processes require separate options. Review the coverage below and include the same options in the preview before applying them. Stopped processes are not restarted by restoring files.
|
|
75
|
+
|
|
67
76
|
Restart your coding agents and terminals afterward so their cached skill lists and environment variables are refreshed.
|
|
68
77
|
|
|
69
78
|
## Cleanup coverage
|
|
70
79
|
|
|
71
80
|
| Target | Included by default? |
|
|
72
81
|
| --- | --- |
|
|
73
|
-
|
|
|
82
|
+
| Ten reviewed Orca skills and signed copies in Codex plugin caches | Yes, after ownership verification |
|
|
74
83
|
| Orca-managed agent hooks and marked extensions (24 agent integrations, see below) | Yes |
|
|
75
84
|
| Verified user CLI launchers and Orca PATH entries | Yes |
|
|
76
85
|
| Orca background processes left running after the app was removed | `--stop-processes` |
|
|
@@ -86,7 +95,7 @@ Hook cleanup follows every agent integration in Orca's `src/main/*/hook-service.
|
|
|
86
95
|
|
|
87
96
|
The credential files are `openai-speech-token.enc`, `bitbucket-credential.*`, `linear-token.enc`, `linear-workspaces.json`, `jira-tokens`, `jira-sites.json`, `zcode-plan-api-key.enc`, `opencode-go-api-key.enc` and `minimax-*.enc`. Orca encrypts them with its own app key, so they are useless once the app is gone. Other files under `~/.orca`, such as worktrees and `keybindings.json`, stay unless you pass `--include-user-state`.
|
|
88
97
|
|
|
89
|
-
The
|
|
98
|
+
The reviewed Orca v1.4.243 skill names are `computer-use`, `orca-cli`, `orchestration`, `orca-per-workspace-env`, `orca-emulator`, `orca-emulator-android`, `orca-linear`, `linear-tickets`, `orca-jira` and `jira-tickets`. A matching name alone is insufficient: unrelated providers' skills, including OpenAI's computer-use and Paseo skills, are preserved. The other cleanup contracts remain based on the v1.4.224 review; changes in later Orca versions have not all been assessed.
|
|
90
99
|
|
|
91
100
|
## Platforms
|
|
92
101
|
|
|
@@ -152,6 +161,15 @@ Automatic cleanup does not remove the app, change macOS privacy permissions, uni
|
|
|
152
161
|
|
|
153
162
|
The app can be uninstalled through Windows Settings, the macOS Applications folder or the Linux installation method you originally used. Complete that step before cleaning its integrations.
|
|
154
163
|
|
|
164
|
+
## Version 1.5.2
|
|
165
|
+
|
|
166
|
+
The two Jira skills added by Orca are included in the reviewed skill names.
|
|
167
|
+
CodeBuddy, Kiro and OpenClaude skill roots are checked in the home and in
|
|
168
|
+
explicitly selected projects; `KIRO_HOME` and `OPENCLAUDE_CONFIG_DIR` are also
|
|
169
|
+
checked when set. The same ownership checks, preview, backup and restore rules
|
|
170
|
+
apply. Other upstream changes after the v1.4.224 contract review still need
|
|
171
|
+
separate assessment.
|
|
172
|
+
|
|
155
173
|
## Version 1.5.0
|
|
156
174
|
|
|
157
175
|
This version runs with `npx orca-agent-cleanup`. `clean` now stops when the Orca app is still installed or running, because Orca reinstalls its hooks and plugins on launch and quarantining its credentials would break a working app; `--force` overrides this. Orca terminal daemons left running after uninstalling are reported by executable location and stopped with `--stop-processes`. Files Orca creates outright, such as Copilot `hooks/orca.json` and Grok `hooks/orca-status.json`, are quarantined whole instead of being left as empty shells when nothing but Orca entries remain.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orca-agent-cleanup",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.2",
|
|
4
4
|
"description": "Find and safely quarantine leftover Orca (stablyai/orca) skills, agent hooks, CLI launchers, credentials and app data after uninstalling Orca, with verified restore.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"orca",
|
|
@@ -6,10 +6,12 @@ import { createHash, randomUUID } from 'node:crypto';
|
|
|
6
6
|
|
|
7
7
|
export const OFFICIAL_ORCA_SKILLS = Object.freeze([
|
|
8
8
|
'computer-use',
|
|
9
|
+
'jira-tickets',
|
|
9
10
|
'linear-tickets',
|
|
10
11
|
'orca-cli',
|
|
11
12
|
'orca-emulator',
|
|
12
13
|
'orca-emulator-android',
|
|
14
|
+
'orca-jira',
|
|
13
15
|
'orca-linear',
|
|
14
16
|
'orca-per-workspace-env',
|
|
15
17
|
'orchestration',
|
|
@@ -36,6 +38,9 @@ export const HOME_SKILL_ROOTS = Object.freeze([
|
|
|
36
38
|
'.augment/skills',
|
|
37
39
|
'.config/muse/skills',
|
|
38
40
|
'.zcode/skills',
|
|
41
|
+
'.codebuddy/skills',
|
|
42
|
+
'.kiro/skills',
|
|
43
|
+
'.openclaude/skills',
|
|
39
44
|
]);
|
|
40
45
|
|
|
41
46
|
// Orca가 프로젝트에서 추가로 검사하는 스킬 루트.
|
|
@@ -47,6 +52,9 @@ export const PROJECT_SKILL_ROOTS = Object.freeze([
|
|
|
47
52
|
'.trae/skills',
|
|
48
53
|
'.grok/skills',
|
|
49
54
|
'.augment/skills',
|
|
55
|
+
'.codebuddy/skills',
|
|
56
|
+
'.kiro/skills',
|
|
57
|
+
'.openclaude/skills',
|
|
50
58
|
]);
|
|
51
59
|
|
|
52
60
|
const LINUX_CLI_DISPATCHER_MARKER = '# orca-serve-bare-orca-dispatcher';
|
|
@@ -192,6 +200,8 @@ function environmentSkillRoots(platform, home, env) {
|
|
|
192
200
|
env.CLAUDE_CONFIG_DIR && path.join(env.CLAUDE_CONFIG_DIR, 'skills'),
|
|
193
201
|
env.GROK_HOME && path.join(env.GROK_HOME, 'skills'),
|
|
194
202
|
env.HERMES_HOME && path.join(env.HERMES_HOME, 'skills'),
|
|
203
|
+
env.KIRO_HOME && path.join(env.KIRO_HOME, 'skills'),
|
|
204
|
+
env.OPENCLAUDE_CONFIG_DIR && path.join(env.OPENCLAUDE_CONFIG_DIR, 'skills'),
|
|
195
205
|
];
|
|
196
206
|
if (platform === 'win32' && env.LOCALAPPDATA) {
|
|
197
207
|
roots.push(path.join(env.LOCALAPPDATA, 'hermes', 'skills'));
|