klaude-code 1.2.22__py3-none-any.whl → 1.2.24__py3-none-any.whl
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.
- klaude_code/command/prompt-jj-describe.md +32 -0
- klaude_code/command/status_cmd.py +1 -1
- klaude_code/{const/__init__.py → const.py} +11 -2
- klaude_code/core/executor.py +1 -1
- klaude_code/core/manager/sub_agent_manager.py +1 -1
- klaude_code/core/reminders.py +51 -0
- klaude_code/core/task.py +37 -18
- klaude_code/core/tool/__init__.py +1 -4
- klaude_code/core/tool/file/read_tool.py +23 -1
- klaude_code/core/tool/file/write_tool.py +7 -3
- klaude_code/core/tool/skill/__init__.py +0 -0
- klaude_code/core/tool/{memory → skill}/skill_tool.py +16 -39
- klaude_code/llm/openai_compatible/client.py +29 -102
- klaude_code/llm/openai_compatible/stream.py +272 -0
- klaude_code/llm/openrouter/client.py +29 -109
- klaude_code/llm/openrouter/{reasoning_handler.py → reasoning.py} +24 -2
- klaude_code/protocol/model.py +15 -2
- klaude_code/session/export.py +1 -1
- klaude_code/session/store.py +4 -2
- klaude_code/skill/__init__.py +27 -0
- klaude_code/skill/assets/deslop/SKILL.md +17 -0
- klaude_code/skill/assets/dev-docs/SKILL.md +108 -0
- klaude_code/skill/assets/handoff/SKILL.md +39 -0
- klaude_code/skill/assets/jj-workspace/SKILL.md +20 -0
- klaude_code/skill/assets/skill-creator/SKILL.md +139 -0
- klaude_code/{core/tool/memory/skill_loader.py → skill/loader.py} +60 -24
- klaude_code/skill/manager.py +70 -0
- klaude_code/skill/system_skills.py +192 -0
- klaude_code/ui/core/stage_manager.py +0 -3
- klaude_code/ui/modes/repl/completers.py +103 -3
- klaude_code/ui/modes/repl/event_handler.py +101 -49
- klaude_code/ui/modes/repl/input_prompt_toolkit.py +55 -6
- klaude_code/ui/modes/repl/renderer.py +24 -17
- klaude_code/ui/renderers/assistant.py +7 -2
- klaude_code/ui/renderers/developer.py +12 -0
- klaude_code/ui/renderers/diffs.py +1 -1
- klaude_code/ui/renderers/metadata.py +6 -8
- klaude_code/ui/renderers/sub_agent.py +28 -5
- klaude_code/ui/renderers/thinking.py +16 -10
- klaude_code/ui/renderers/tools.py +83 -34
- klaude_code/ui/renderers/user_input.py +32 -2
- klaude_code/ui/rich/markdown.py +40 -20
- klaude_code/ui/rich/status.py +15 -19
- klaude_code/ui/rich/theme.py +70 -17
- {klaude_code-1.2.22.dist-info → klaude_code-1.2.24.dist-info}/METADATA +18 -13
- {klaude_code-1.2.22.dist-info → klaude_code-1.2.24.dist-info}/RECORD +49 -45
- klaude_code/command/prompt-deslop.md +0 -14
- klaude_code/command/prompt-dev-docs-update.md +0 -56
- klaude_code/command/prompt-dev-docs.md +0 -46
- klaude_code/command/prompt-handoff.md +0 -33
- klaude_code/command/prompt-jj-workspace.md +0 -18
- klaude_code/core/tool/memory/__init__.py +0 -5
- klaude_code/llm/openai_compatible/stream_processor.py +0 -83
- /klaude_code/core/tool/{memory → skill}/skill_tool.md +0 -0
- {klaude_code-1.2.22.dist-info → klaude_code-1.2.24.dist-info}/WHEEL +0 -0
- {klaude_code-1.2.22.dist-info → klaude_code-1.2.24.dist-info}/entry_points.txt +0 -0
klaude_code/ui/rich/theme.py
CHANGED
|
@@ -25,7 +25,18 @@ class Palette:
|
|
|
25
25
|
diff_remove: str
|
|
26
26
|
diff_remove_char: str
|
|
27
27
|
code_theme: str
|
|
28
|
-
|
|
28
|
+
code_background: str
|
|
29
|
+
green_background: str
|
|
30
|
+
blue_grey_background: str
|
|
31
|
+
# Sub-agent backgrounds (corresponding to sub_agent_colors order)
|
|
32
|
+
cyan_background: str
|
|
33
|
+
green_sub_background: str
|
|
34
|
+
blue_sub_background: str
|
|
35
|
+
purple_background: str
|
|
36
|
+
orange_background: str
|
|
37
|
+
red_background: str
|
|
38
|
+
grey_background: str
|
|
39
|
+
yellow_background: str
|
|
29
40
|
|
|
30
41
|
|
|
31
42
|
LIGHT_PALETTE = Palette(
|
|
@@ -44,10 +55,20 @@ LIGHT_PALETTE = Palette(
|
|
|
44
55
|
lavender="#5f87af",
|
|
45
56
|
diff_add="#2e5a32 on #dafbe1",
|
|
46
57
|
diff_add_char="#2e5a32 on #aceebb",
|
|
47
|
-
diff_remove="#
|
|
48
|
-
diff_remove_char="#
|
|
58
|
+
diff_remove="#82071e on #ffecec",
|
|
59
|
+
diff_remove_char="#82071e on #ffcfcf",
|
|
49
60
|
code_theme="ansi_light",
|
|
50
|
-
|
|
61
|
+
code_background="#e0e0e0",
|
|
62
|
+
green_background="#e8f1e9",
|
|
63
|
+
blue_grey_background="#e8e9f1",
|
|
64
|
+
cyan_background="#e0f0f0",
|
|
65
|
+
green_sub_background="#e0f0e0",
|
|
66
|
+
blue_sub_background="#e0e8f5",
|
|
67
|
+
purple_background="#ede0f5",
|
|
68
|
+
orange_background="#f5ebe0",
|
|
69
|
+
red_background="#f5e0e0",
|
|
70
|
+
grey_background="#e8e8e8",
|
|
71
|
+
yellow_background="#f5f5e0",
|
|
51
72
|
)
|
|
52
73
|
|
|
53
74
|
DARK_PALETTE = Palette(
|
|
@@ -65,16 +86,30 @@ DARK_PALETTE = Palette(
|
|
|
65
86
|
purple="#afbafe",
|
|
66
87
|
lavender="#9898b8",
|
|
67
88
|
diff_add="#c8e6c9 on #1b3928",
|
|
68
|
-
diff_add_char="#c8e6c9 on #
|
|
89
|
+
diff_add_char="#c8e6c9 on #2d6b42",
|
|
69
90
|
diff_remove="#ffcdd2 on #3d1f23",
|
|
70
|
-
diff_remove_char="#ffcdd2 on #
|
|
91
|
+
diff_remove_char="#ffcdd2 on #7a3a42",
|
|
71
92
|
code_theme="ansi_dark",
|
|
72
|
-
|
|
93
|
+
code_background="#2f3440",
|
|
94
|
+
green_background="#23342c",
|
|
95
|
+
blue_grey_background="#313848",
|
|
96
|
+
cyan_background="#1a3333",
|
|
97
|
+
green_sub_background="#1b3928",
|
|
98
|
+
blue_sub_background="#1a2a3d",
|
|
99
|
+
purple_background="#2a2640",
|
|
100
|
+
orange_background="#3d2a1a",
|
|
101
|
+
red_background="#3d1f23",
|
|
102
|
+
grey_background="#2a2d30",
|
|
103
|
+
yellow_background="#3d3a1a",
|
|
73
104
|
)
|
|
74
105
|
|
|
75
106
|
|
|
76
107
|
class ThemeKey(str, Enum):
|
|
77
108
|
LINES = "lines"
|
|
109
|
+
|
|
110
|
+
# PANEL
|
|
111
|
+
SUB_AGENT_RESULT_PANEL = "panel.sub_agent_result"
|
|
112
|
+
WRITE_MARKDOWN_PANEL = "panel.write_markdown"
|
|
78
113
|
# DIFF
|
|
79
114
|
DIFF_FILE_NAME = "diff.file_name"
|
|
80
115
|
DIFF_REMOVE = "diff.remove"
|
|
@@ -92,9 +127,9 @@ class ThemeKey(str, Enum):
|
|
|
92
127
|
METADATA_DIM = "metadata.dim"
|
|
93
128
|
METADATA_BOLD = "metadata.bold"
|
|
94
129
|
# SPINNER_STATUS
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
130
|
+
STATUS_SPINNER = "spinner.status"
|
|
131
|
+
STATUS_TEXT = "spinner.status.text"
|
|
132
|
+
STATUS_TEXT_BOLD = "spinner.status.text.bold"
|
|
98
133
|
# STATUS
|
|
99
134
|
STATUS_HINT = "status.hint"
|
|
100
135
|
# USER_INPUT
|
|
@@ -102,6 +137,7 @@ class ThemeKey(str, Enum):
|
|
|
102
137
|
USER_INPUT_PROMPT = "user.input.prompt"
|
|
103
138
|
USER_INPUT_AT_PATTERN = "user.at_pattern"
|
|
104
139
|
USER_INPUT_SLASH_COMMAND = "user.slash_command"
|
|
140
|
+
USER_INPUT_SKILL = "user.skill"
|
|
105
141
|
# REMINDER
|
|
106
142
|
REMINDER = "reminder"
|
|
107
143
|
REMINDER_BOLD = "reminder.bold"
|
|
@@ -161,6 +197,7 @@ class Themes:
|
|
|
161
197
|
thinking_markdown_theme: Theme
|
|
162
198
|
code_theme: str
|
|
163
199
|
sub_agent_colors: list[Style]
|
|
200
|
+
sub_agent_backgrounds: list[Style]
|
|
164
201
|
|
|
165
202
|
|
|
166
203
|
def get_theme(theme: str | None = None) -> Themes:
|
|
@@ -169,6 +206,9 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
169
206
|
app_theme=Theme(
|
|
170
207
|
styles={
|
|
171
208
|
ThemeKey.LINES.value: palette.grey3,
|
|
209
|
+
# PANEL
|
|
210
|
+
ThemeKey.SUB_AGENT_RESULT_PANEL.value: f"on {palette.blue_grey_background}",
|
|
211
|
+
ThemeKey.WRITE_MARKDOWN_PANEL.value: f"on {palette.green_background}",
|
|
172
212
|
# DIFF
|
|
173
213
|
ThemeKey.DIFF_FILE_NAME.value: palette.blue,
|
|
174
214
|
ThemeKey.DIFF_REMOVE.value: palette.diff_remove,
|
|
@@ -182,19 +222,19 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
182
222
|
ThemeKey.ERROR_BOLD.value: "bold " + palette.red,
|
|
183
223
|
ThemeKey.INTERRUPT.value: "reverse bold " + palette.red,
|
|
184
224
|
# USER_INPUT
|
|
185
|
-
ThemeKey.USER_INPUT.value: palette.magenta,
|
|
186
|
-
ThemeKey.USER_INPUT_PROMPT.value: palette.magenta,
|
|
225
|
+
ThemeKey.USER_INPUT.value: "bold " + palette.magenta,
|
|
226
|
+
ThemeKey.USER_INPUT_PROMPT.value: "bold " + palette.magenta,
|
|
187
227
|
ThemeKey.USER_INPUT_AT_PATTERN.value: palette.purple,
|
|
188
228
|
ThemeKey.USER_INPUT_SLASH_COMMAND.value: "bold reverse " + palette.blue,
|
|
229
|
+
ThemeKey.USER_INPUT_SKILL.value: "bold reverse " + palette.green,
|
|
189
230
|
# METADATA
|
|
190
231
|
ThemeKey.METADATA.value: palette.lavender,
|
|
191
232
|
ThemeKey.METADATA_DIM.value: "dim " + palette.lavender,
|
|
192
233
|
ThemeKey.METADATA_BOLD.value: "bold " + palette.lavender,
|
|
193
|
-
# SPINNER_STATUS
|
|
194
|
-
ThemeKey.SPINNER_STATUS.value: palette.blue,
|
|
195
|
-
ThemeKey.SPINNER_STATUS_TEXT.value: palette.blue,
|
|
196
|
-
ThemeKey.SPINNER_STATUS_TEXT_BOLD.value: "bold " + palette.blue,
|
|
197
234
|
# STATUS
|
|
235
|
+
ThemeKey.STATUS_SPINNER.value: palette.blue,
|
|
236
|
+
ThemeKey.STATUS_TEXT.value: palette.blue,
|
|
237
|
+
ThemeKey.STATUS_TEXT_BOLD.value: "bold italic " + palette.blue,
|
|
198
238
|
ThemeKey.STATUS_HINT.value: palette.grey2,
|
|
199
239
|
# REMINDER
|
|
200
240
|
ThemeKey.REMINDER.value: palette.grey1,
|
|
@@ -263,7 +303,10 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
263
303
|
),
|
|
264
304
|
thinking_markdown_theme=Theme(
|
|
265
305
|
styles={
|
|
266
|
-
|
|
306
|
+
# THINKING (used for left-side mark in thinking output)
|
|
307
|
+
ThemeKey.THINKING.value: "italic " + palette.grey2,
|
|
308
|
+
ThemeKey.THINKING_BOLD.value: "bold italic " + palette.grey1,
|
|
309
|
+
"markdown.code": palette.grey1 + " italic on " + palette.code_background,
|
|
267
310
|
"markdown.code.block": palette.grey1,
|
|
268
311
|
"markdown.code.border": palette.grey3,
|
|
269
312
|
"markdown.h1": "bold reverse",
|
|
@@ -290,4 +333,14 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
290
333
|
Style(color=palette.grey1),
|
|
291
334
|
Style(color=palette.yellow),
|
|
292
335
|
],
|
|
336
|
+
sub_agent_backgrounds=[
|
|
337
|
+
Style(bgcolor=palette.cyan_background),
|
|
338
|
+
Style(bgcolor=palette.green_sub_background),
|
|
339
|
+
Style(bgcolor=palette.blue_sub_background),
|
|
340
|
+
Style(bgcolor=palette.purple_background),
|
|
341
|
+
Style(bgcolor=palette.orange_background),
|
|
342
|
+
Style(bgcolor=palette.red_background),
|
|
343
|
+
Style(bgcolor=palette.grey_background),
|
|
344
|
+
Style(bgcolor=palette.yellow_background),
|
|
345
|
+
],
|
|
293
346
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: klaude-code
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.24
|
|
4
4
|
Summary: Add your description here
|
|
5
5
|
Requires-Dist: anthropic>=0.66.0
|
|
6
6
|
Requires-Dist: chardet>=5.2.0
|
|
@@ -18,18 +18,23 @@ Requires-Dist: typer>=0.17.3
|
|
|
18
18
|
Requires-Python: >=3.13
|
|
19
19
|
Description-Content-Type: text/markdown
|
|
20
20
|
|
|
21
|
-
#
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
##
|
|
26
|
-
- **
|
|
27
|
-
- **
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
30
|
-
- **
|
|
31
|
-
- **
|
|
32
|
-
- **
|
|
21
|
+
# Klaude Code
|
|
22
|
+
|
|
23
|
+
Multi-model code agent CLI.
|
|
24
|
+
|
|
25
|
+
## Features
|
|
26
|
+
- **Multi-provider**: Anthropic, OpenAI Responses API, OpenRouter
|
|
27
|
+
- **Keep reasoning item in context**: Interleaved thinking support
|
|
28
|
+
- **Model-aware tools**: Claude Code tools for Sonnet, `apply_patch` for GPT-5/Codex
|
|
29
|
+
- **Structured sub-agent output**: Define JSON schema, get schema-compliant responses via constrained decoding
|
|
30
|
+
- **Recursive `@file` mentions**: Circular dependency protection, relative path resolution
|
|
31
|
+
- **Reminders**: Cooldown-based todo tracking and instruction reinforcement
|
|
32
|
+
- **External file sync**: Monitoring for external edits (linter, manual)
|
|
33
|
+
- **Interrupt handling**: Ctrl+C preserves partial responses and synthesizes tool cancellation results
|
|
34
|
+
- **Output truncation**: Large outputs saved to file system with snapshot links
|
|
35
|
+
- **Skills**: Built-in + user + project Agent Skills (with implicit invocation by Skill tool or explicit invocation by typing `$`)
|
|
36
|
+
- **Sessions**: Resumable with `--continue`
|
|
37
|
+
- **Extras**: Slash commands, sub-agents, image paste, terminal notifications, auto-theming
|
|
33
38
|
|
|
34
39
|
## Installation
|
|
35
40
|
|
|
@@ -22,30 +22,26 @@ klaude_code/command/export_cmd.py,sha256=Cs7YXWtos-ZfN9OEppIl8Xrb017kDG7R6hGiilq
|
|
|
22
22
|
klaude_code/command/export_online_cmd.py,sha256=kOVmFEW7gEEFvaKnXL8suNenktLyTW-13bT64NBGwUQ,5861
|
|
23
23
|
klaude_code/command/help_cmd.py,sha256=yQJnVtj6sgXQdGsi4u9aS7EcjJLSrXccUA-v_bqmsRw,1633
|
|
24
24
|
klaude_code/command/model_cmd.py,sha256=GmDln1N6u7eWLK15tm_lcdDJBY8qI0ih48h6AhijafI,1665
|
|
25
|
-
klaude_code/command/prompt-deslop.md,sha256=Qpd8P_iVNv6DMg5EZotSivDaxx3SDqOUhMsIFCE3sdo,1309
|
|
26
|
-
klaude_code/command/prompt-dev-docs-update.md,sha256=g1IWIWIa-3qlNOw5mBA4N9H1_nvYcw8AKo7XoQw_AZQ,1855
|
|
27
|
-
klaude_code/command/prompt-dev-docs.md,sha256=PU9iT6XdUEH6grfSjHVma7xKOQcA__ZTKlEDkbbO0hA,1783
|
|
28
|
-
klaude_code/command/prompt-handoff.md,sha256=RXIeXNwOpSpkwAyNFSvQFoo077TVkbj11fqQ2r8aCh4,1638
|
|
29
25
|
klaude_code/command/prompt-init.md,sha256=a4_FQ3gKizqs2vl9oEY5jtG6HNhv3f-1b5RSCFq0A18,1873
|
|
30
|
-
klaude_code/command/prompt-jj-
|
|
26
|
+
klaude_code/command/prompt-jj-describe.md,sha256=n-7hiXU8oodCMR3ipNyRR86pAUzXMz6seloU9a6QQnY,974
|
|
31
27
|
klaude_code/command/prompt_command.py,sha256=rMi-ZRLpUSt1t0IQVtwnzIYqcrXK-MwZrabbZ8dc8U4,2774
|
|
32
28
|
klaude_code/command/refresh_cmd.py,sha256=575eJ5IsOc1e_7CulMxvTu5GQ6BaXTG1k8IsAqzrwdQ,1244
|
|
33
29
|
klaude_code/command/registry.py,sha256=avTjsoyLv11SsLsY_qb3OpsRjsSyxIlu7uwJI0Nq6HE,6176
|
|
34
30
|
klaude_code/command/release_notes_cmd.py,sha256=FIrBRfKTlXEp8mBh15buNjgOrl_GMX7FeeMWxYYBn1o,2674
|
|
35
|
-
klaude_code/command/status_cmd.py,sha256=
|
|
31
|
+
klaude_code/command/status_cmd.py,sha256=sYmzfex7RVhgrBCjRyD8fsZ6ioZvjVzQ_-FvmcsA7fo,5365
|
|
36
32
|
klaude_code/command/terminal_setup_cmd.py,sha256=SivM1gX_anGY_8DCQNFZ5VblFqt4sVgCMEWPRlo6K5w,10911
|
|
37
33
|
klaude_code/command/thinking_cmd.py,sha256=XDyq0q8eb3Os4FyWjr-moiKjmzGIaNhOC9h89y1AZ84,8854
|
|
38
34
|
klaude_code/config/__init__.py,sha256=Qrqvi8nizkj6N77h2vDj0r4rbgCiqxvz2HLBPFuWulA,120
|
|
39
35
|
klaude_code/config/config.py,sha256=2jvM6a8zoC-TdRFaLIw3OW5paxxeXC6l-o05ds4RysA,7263
|
|
40
36
|
klaude_code/config/select_model.py,sha256=KCdFjaoHXyO9QidNna_OGdDrvlEXtRUXKfG-F8kdNLk,5188
|
|
41
|
-
klaude_code/const
|
|
37
|
+
klaude_code/const.py,sha256=H6CDlh1-AkV3TUe7pDOBA6VaS-81uuWG12NmqERetaA,4483
|
|
42
38
|
klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
39
|
klaude_code/core/agent.py,sha256=bWm-UFX_0-KAy5j_YHH8X8o3MJT4-40Ni2EaDP2SL5k,5819
|
|
44
|
-
klaude_code/core/executor.py,sha256=
|
|
40
|
+
klaude_code/core/executor.py,sha256=E8IdgNEzcHnWoN9q9VMZljcXoCqWWRU7XzleCZ7jhtA,24907
|
|
45
41
|
klaude_code/core/manager/__init__.py,sha256=hdIbpnYj6i18byiWjtJIm5l7NYYDQMvafw8fePVPydc,562
|
|
46
42
|
klaude_code/core/manager/llm_clients.py,sha256=X2oMFWgJcP0tK8GEtMMDYR3HyR6_H8FuyCqpzWF5x2k,871
|
|
47
43
|
klaude_code/core/manager/llm_clients_builder.py,sha256=pPZ_xBh-_ipV66L-9a1fnwNos4iik82Zkq0E0y3WrfI,1521
|
|
48
|
-
klaude_code/core/manager/sub_agent_manager.py,sha256=
|
|
44
|
+
klaude_code/core/manager/sub_agent_manager.py,sha256=DCRlPimgmW_wykkjqAK_dUeeKxNavS8fJ4mhhT7As-E,4872
|
|
49
45
|
klaude_code/core/prompt.py,sha256=piHP0Cu_u583_RHPjhVvTkdp5GgHQ29y3IM2QFVHITY,3869
|
|
50
46
|
klaude_code/core/prompts/prompt-claude-code.md,sha256=uuWBv6GrG63mdmBedAHT5U9yOpbHSKFYbbS2xBnUzOE,8290
|
|
51
47
|
klaude_code/core/prompts/prompt-codex-gpt-5-1-codex-max.md,sha256=SW-y8AmR99JL_9j26k9YVAOQuZ18vR12aT5CWHkZDc4,11741
|
|
@@ -57,9 +53,9 @@ klaude_code/core/prompts/prompt-sub-agent-explore.md,sha256=21kFodjhvN0L-c_ZFo4y
|
|
|
57
53
|
klaude_code/core/prompts/prompt-sub-agent-oracle.md,sha256=1PLI3snvxnenCOPVrL0IxZnBl5b2xxGhlufHAyLyf60,1376
|
|
58
54
|
klaude_code/core/prompts/prompt-sub-agent-web.md,sha256=ewS7-h8_u4QZftFpqrZWpht9Ap08s7zF9D4k4md8oD8,2360
|
|
59
55
|
klaude_code/core/prompts/prompt-sub-agent.md,sha256=dmmdsOenbAOfqG6FmdR88spOLZkXmntDBs-cmZ9DN_g,897
|
|
60
|
-
klaude_code/core/reminders.py,sha256=
|
|
61
|
-
klaude_code/core/task.py,sha256=
|
|
62
|
-
klaude_code/core/tool/__init__.py,sha256=
|
|
56
|
+
klaude_code/core/reminders.py,sha256=ivY7k2Iw9XVgsWfMDckSGsbonFRgGjCJM8MeI0dzuEs,23448
|
|
57
|
+
klaude_code/core/task.py,sha256=yJAcs_hFm1NYaLbjj-qbGiJr65Nu76uLD2lGGfseYYg,11773
|
|
58
|
+
klaude_code/core/tool/__init__.py,sha256=fOEwgJMGHT8NkYYE6l1FZ0fDRUmHzC6laA8wESo9j60,1939
|
|
63
59
|
klaude_code/core/tool/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
60
|
klaude_code/core/tool/file/_utils.py,sha256=OG4BE9WyJqzH8ilVCL3D9yvAcHk-r-L9snd-E8gO_io,967
|
|
65
61
|
klaude_code/core/tool/file/apply_patch.py,sha256=LZd3pYQ9ow_TxiFnqYuzD216HmvkLX6lW6BoMd9iQRs,17080
|
|
@@ -69,18 +65,17 @@ klaude_code/core/tool/file/diff_builder.py,sha256=b53S4Ebw7aPmd9AZ97Pxu6MRcnUIdV
|
|
|
69
65
|
klaude_code/core/tool/file/edit_tool.md,sha256=rEcUjJuPC46t1nXWjTDxplDcxWDbzTWsr6_bYt5_aRI,1110
|
|
70
66
|
klaude_code/core/tool/file/edit_tool.py,sha256=wuXISJRTWobNCKjkQ01UpoA13I0Zxcg1r7hXErAQxnQ,10897
|
|
71
67
|
klaude_code/core/tool/file/read_tool.md,sha256=74SLSl1tq3L0por73M0QV_ws41MRIvGXQpfLb8dmtp0,1351
|
|
72
|
-
klaude_code/core/tool/file/read_tool.py,sha256=
|
|
68
|
+
klaude_code/core/tool/file/read_tool.py,sha256=HFA4lYaS_eV9C0UjXCuIVXhbD6OKrpkq4WN33z0EgP0,12877
|
|
73
69
|
klaude_code/core/tool/file/write_tool.md,sha256=CNnYgtieUasuHdpXLDpTEsqe492Pf7v75M4RQ3oIer8,613
|
|
74
|
-
klaude_code/core/tool/file/write_tool.py,sha256=
|
|
75
|
-
klaude_code/core/tool/memory/__init__.py,sha256=oeBpjUXcAilCtYXhiXDzavw5-BE_pbB2ZxsFJKTTcdc,143
|
|
76
|
-
klaude_code/core/tool/memory/skill_loader.py,sha256=WGC3svsasEIM8yDAjFmFId1HQuEhuD3KFEvgoXcHmD4,8870
|
|
77
|
-
klaude_code/core/tool/memory/skill_tool.md,sha256=UfjJK5EGAd3mf7ym5rIrRdPyV3kBTxNnwzOjNnHOBrE,973
|
|
78
|
-
klaude_code/core/tool/memory/skill_tool.py,sha256=8SC4asNZSKfExuhzbyGz4f2cr78PgCpNkut_31IHePw,3602
|
|
70
|
+
klaude_code/core/tool/file/write_tool.py,sha256=j9OCPnCXIg4RC-DF5yw7U5_X1KMNBnqxn1exF-XqFeo,5682
|
|
79
71
|
klaude_code/core/tool/report_back_tool.py,sha256=KRZzQAIxniwXe58SDJcfK_DCf9TFFAx8XC75wPEjmpY,3246
|
|
80
72
|
klaude_code/core/tool/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
73
|
klaude_code/core/tool/shell/bash_tool.md,sha256=ILKpnRCBTkU2uSDEdZQjNYo1l6hsM4TO-3RD5zWC61c,3935
|
|
82
74
|
klaude_code/core/tool/shell/bash_tool.py,sha256=NSWXU_MzKqJBtkljOPNWGTwtAZwxMrCF-y8GC5MysFI,14465
|
|
83
75
|
klaude_code/core/tool/shell/command_safety.py,sha256=bGsooLovuzq8WmLcZ2v24AVBDj3bZv2p4GSL0IlixvM,13192
|
|
76
|
+
klaude_code/core/tool/skill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
|
+
klaude_code/core/tool/skill/skill_tool.md,sha256=UfjJK5EGAd3mf7ym5rIrRdPyV3kBTxNnwzOjNnHOBrE,973
|
|
78
|
+
klaude_code/core/tool/skill/skill_tool.py,sha256=QLcweYEfO-ncv2tdPSqANZrq2U651AG4RjGpFKeAweY,2880
|
|
84
79
|
klaude_code/core/tool/sub_agent_tool.py,sha256=5n0HDxv4cUzuwBhYiAe3gIJ0s3QgV4GSV12CIIkD_g0,3190
|
|
85
80
|
klaude_code/core/tool/todo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
81
|
klaude_code/core/tool/todo/todo_write_tool.md,sha256=BFP9qIkzkakzskHwIOPVtDhehkh0F90A5oosyDuC_BE,1682
|
|
@@ -110,14 +105,14 @@ klaude_code/llm/codex/__init__.py,sha256=8vN2j2ezWB_UVpfqQ8ooStsBeLL5SY4SUMXOXdW
|
|
|
110
105
|
klaude_code/llm/codex/client.py,sha256=0BAOiLAdk2PxBEYuC_TGOs4_h6yfNZr1YWuf1lzkBxM,5329
|
|
111
106
|
klaude_code/llm/input_common.py,sha256=NxiYlhGRFntiLiKm5sKLCF0xGYW6DwcyvIhj6KAZoeU,8533
|
|
112
107
|
klaude_code/llm/openai_compatible/__init__.py,sha256=ACGpnki7k53mMcCl591aw99pm9jZOZk0ghr7atOfNps,81
|
|
113
|
-
klaude_code/llm/openai_compatible/client.py,sha256=
|
|
108
|
+
klaude_code/llm/openai_compatible/client.py,sha256=sMzHxaDZ4CRDgwSr1pZPqpG6YbHJA-Zk0cFyC_r-ihA,4396
|
|
114
109
|
klaude_code/llm/openai_compatible/input.py,sha256=rtWVjpwb9tLrinucezmncQXet8MerUxE5Gxc32sfDr4,3750
|
|
115
|
-
klaude_code/llm/openai_compatible/
|
|
110
|
+
klaude_code/llm/openai_compatible/stream.py,sha256=_OlnD5IBAq4xS5tb3mZUObZFGjXP-66lY4g8cxErRoo,10808
|
|
116
111
|
klaude_code/llm/openai_compatible/tool_call_accumulator.py,sha256=kuw3ceDgenQz2Ccc9KYqBkDo6F1sDb5Aga6m41AIECA,4071
|
|
117
112
|
klaude_code/llm/openrouter/__init__.py,sha256=_As8lHjwj6vapQhLorZttTpukk5ZiCdhFdGT38_ASPo,69
|
|
118
|
-
klaude_code/llm/openrouter/client.py,sha256=
|
|
113
|
+
klaude_code/llm/openrouter/client.py,sha256=zUkH7wkiYUJMGS_8iaVwdhzUnry7WLw4Q1IDQtncmK0,4864
|
|
119
114
|
klaude_code/llm/openrouter/input.py,sha256=aHVJCejkwzWaTM_EBbgmzKWyZfttAws2Y7QDW_NCnZk,5671
|
|
120
|
-
klaude_code/llm/openrouter/
|
|
115
|
+
klaude_code/llm/openrouter/reasoning.py,sha256=d6RU6twuGfdf0mXGQoxSNRzFaSa3GJFV8Eve5GzDXfU,4472
|
|
121
116
|
klaude_code/llm/registry.py,sha256=grgHetTd-lSxTXiY689QW_Zd6voaid7qBqSnulpg_fE,1734
|
|
122
117
|
klaude_code/llm/responses/__init__.py,sha256=WsiyvnNiIytaYcaAqNiB8GI-5zcpjjeODPbMlteeFjA,67
|
|
123
118
|
klaude_code/llm/responses/client.py,sha256=XEsVehevQJ0WFbEVxIkI-su7VwIcaeq0P9eSrIRcGug,10184
|
|
@@ -127,7 +122,7 @@ klaude_code/protocol/__init__.py,sha256=aGUgzhYqvhuT3Mk2vj7lrHGriH4h9TSbqV1RsRFA
|
|
|
127
122
|
klaude_code/protocol/commands.py,sha256=GN6GX9fo7YYtfumrBTpOmOvZofsnzZN2SAxP2X0BjTk,644
|
|
128
123
|
klaude_code/protocol/events.py,sha256=KUMf1rLNdHQO9cZiQ9Pa1VsKkP1PTMbUkp18bu_jGy8,3935
|
|
129
124
|
klaude_code/protocol/llm_param.py,sha256=cb4ubLq21PIsMOC8WJb0aid12z_sT1b7FsbNJMr-jLg,4255
|
|
130
|
-
klaude_code/protocol/model.py,sha256=
|
|
125
|
+
klaude_code/protocol/model.py,sha256=aJUavwtGWY-XiDF6qk2ZV6FwEfjTqOnXZeznB7_zc_4,13606
|
|
131
126
|
klaude_code/protocol/op.py,sha256=X3UeXxBOLf_jkEaYXhQSTpjtUV2u1Ot5f4bbPWNdQp4,4241
|
|
132
127
|
klaude_code/protocol/op_handler.py,sha256=qaWrm2rlskSyF7ukPtxFAKf8brgLsUaVzg6035N-7w0,1565
|
|
133
128
|
klaude_code/protocol/sub_agent/__init__.py,sha256=Abap5lPLgnSCQsVD3axfeqnj2UtxOcDLGX8e9HugfSU,3964
|
|
@@ -138,18 +133,27 @@ klaude_code/protocol/sub_agent/web.py,sha256=Z5vUM367kz8CIexN6UVPG4XxzVOaaRek-Ga
|
|
|
138
133
|
klaude_code/protocol/tools.py,sha256=OpGCr47ARKaCHcIlljhEN-p-2h4djgbP5jtfTIoKB-A,359
|
|
139
134
|
klaude_code/session/__init__.py,sha256=oXcDA5w-gJCbzmlF8yuWy3ezIW9DgFBNUs-gJHUJ-Rc,121
|
|
140
135
|
klaude_code/session/codec.py,sha256=ummbqT7t6uHHXtaS9lOkyhi1h0YpMk7SNSms8DyGAHU,2015
|
|
141
|
-
klaude_code/session/export.py,sha256=
|
|
136
|
+
klaude_code/session/export.py,sha256=_xJGVHSjaVbDOLR5yrYUoVFuY4oIKyq5gNq_jupuVkc,29303
|
|
142
137
|
klaude_code/session/selector.py,sha256=gijwWQkSV20XYP3Fxr27mFXuqP4ChY2DQm_YuBOTQKw,2888
|
|
143
138
|
klaude_code/session/session.py,sha256=LDrRlxv35_jJGwxv6Lv_WdBYNY2UZZAZ4vippq8pN_o,16016
|
|
144
|
-
klaude_code/session/store.py,sha256
|
|
139
|
+
klaude_code/session/store.py,sha256=-e-lInCB3N1nFLlet7bipkmPk1PXmGthuMxv5z3hg5o,6953
|
|
145
140
|
klaude_code/session/templates/export_session.html,sha256=bA27AkcC7DQRoWmcMBeaR8WOx1z76hezEDf0aYH-0HQ,119780
|
|
141
|
+
klaude_code/skill/__init__.py,sha256=yeWeCfRGPOhT4mx_pjdo4fLondQ_Vx0edBtnFusLhls,839
|
|
142
|
+
klaude_code/skill/assets/deslop/SKILL.md,sha256=XMBER6gOyYnZof_u7l30CZSzmDcINe8XP-n_loah0EQ,873
|
|
143
|
+
klaude_code/skill/assets/dev-docs/SKILL.md,sha256=eHI9v44KZAOcptlnAVp2aq2Ms7WGhncm-zmGUPGmhU8,3810
|
|
144
|
+
klaude_code/skill/assets/handoff/SKILL.md,sha256=GDHrEqWUeAQy7gGhha_y5jzjpv8C-xhk0hqMH5h59v8,1712
|
|
145
|
+
klaude_code/skill/assets/jj-workspace/SKILL.md,sha256=toxoyrBBoGl9Yv4PYrw_gD071LLZ2RoepUR8qTDRn1M,977
|
|
146
|
+
klaude_code/skill/assets/skill-creator/SKILL.md,sha256=0ByoWb9ao0UKSoM5Tmz-Qe5CAPliTrVpUK0gPd9TFqo,5520
|
|
147
|
+
klaude_code/skill/loader.py,sha256=3xGh4udco7tXlrnGFh4Kr5yljtadJ391jKYjaQ2Z3js,10534
|
|
148
|
+
klaude_code/skill/manager.py,sha256=XRSGgGpNJo2Q9pHKpWo-VyMqf_y-dEt9JGtDoC3Eq-U,2088
|
|
149
|
+
klaude_code/skill/system_skills.py,sha256=cfhxk5Jc1OFip-Lamr6RwlAEPq-UA60M3NdwSneKGco,6124
|
|
146
150
|
klaude_code/trace/__init__.py,sha256=q8uOYhWr2_Mia1aEK_vkqx91YAfFM25ItIB6J8n3_pM,352
|
|
147
151
|
klaude_code/trace/log.py,sha256=0H_RqkytSpt6AAIFDg-MV_8vA9zsR9BB1UqT6moTTTg,9134
|
|
148
152
|
klaude_code/ui/__init__.py,sha256=XuEQsFUkJet8HI04cRmNLwnHOUqaPCRy4hF7PJnIfCY,2737
|
|
149
153
|
klaude_code/ui/core/__init__.py,sha256=2NakrTDcxem5D0atyEY_Rxv1BbKCeZweF63L6AAq6r8,23
|
|
150
154
|
klaude_code/ui/core/display.py,sha256=NwFQ9oKi8i3T5EsYDRrTpGBr3BZI0Ggns37JuQEOH54,3540
|
|
151
155
|
klaude_code/ui/core/input.py,sha256=GqEos_VKRpfzQg0LQvr3210gzu2mw0_7OpPyNXmF3LI,2533
|
|
152
|
-
klaude_code/ui/core/stage_manager.py,sha256=
|
|
156
|
+
klaude_code/ui/core/stage_manager.py,sha256=5rJ7Fg3vf_4x9PTt6VOZ-SVRpg9jAZhZkCh_tQslLNg,1578
|
|
153
157
|
klaude_code/ui/modes/__init__.py,sha256=ByDPbyYYU4o5kdnEes3b1VEV173RI9XAXyzkFbrApEY,26
|
|
154
158
|
klaude_code/ui/modes/debug/__init__.py,sha256=1-1tAk7FtENdYzExSttYdHiJ-qH3DIQ5yYJ51ms2uSg,13
|
|
155
159
|
klaude_code/ui/modes/debug/display.py,sha256=7_j9NGZqL4wE2LWhF1TjDHac4MfaWlYN2RHZCTfQad8,1096
|
|
@@ -157,32 +161,32 @@ klaude_code/ui/modes/exec/__init__.py,sha256=RsYa-DmDJj6g7iXb4H9mm2_Cu-KDQOD10RJ
|
|
|
157
161
|
klaude_code/ui/modes/exec/display.py,sha256=m2kkgaUoGD9rEVUmcm7Vs_PyAI2iruKCJYRhANjSsKo,1965
|
|
158
162
|
klaude_code/ui/modes/repl/__init__.py,sha256=35a6SUiL1SDi2i43X2VjHQw97rR7yhbLBzkGI5aC6Bc,1526
|
|
159
163
|
klaude_code/ui/modes/repl/clipboard.py,sha256=ZCpk7kRSXGhh0Q_BWtUUuSYT7ZOqRjAoRcg9T9n48Wo,5137
|
|
160
|
-
klaude_code/ui/modes/repl/completers.py,sha256=
|
|
164
|
+
klaude_code/ui/modes/repl/completers.py,sha256=GIvUS9TAFMMPDpoXLuIupEccoqIMEpSEw4IZmKjVo4c,28560
|
|
161
165
|
klaude_code/ui/modes/repl/display.py,sha256=0u4ISeOoYjynF7InYyV-PMOZqP44QBbjYOLOL18V0c0,2245
|
|
162
|
-
klaude_code/ui/modes/repl/event_handler.py,sha256=
|
|
163
|
-
klaude_code/ui/modes/repl/input_prompt_toolkit.py,sha256=
|
|
166
|
+
klaude_code/ui/modes/repl/event_handler.py,sha256=UUJYhNRSTFj7CVi_IG-fe3B5-pv9odcBvqgbJxeoQp0,25161
|
|
167
|
+
klaude_code/ui/modes/repl/input_prompt_toolkit.py,sha256=Jbpk-jOmBNBhw3hKkB8YzGSXRduIH9YOGMhMIPzF3gk,8564
|
|
164
168
|
klaude_code/ui/modes/repl/key_bindings.py,sha256=Fxz9Ey2SnOHvfleMeSYVduxuofY0Yo-97hMRs-OMe-o,7800
|
|
165
|
-
klaude_code/ui/modes/repl/renderer.py,sha256=
|
|
169
|
+
klaude_code/ui/modes/repl/renderer.py,sha256=Apg_z6D7JTmzxGN9os64bjlG9LxfOAgqjAAmiXA8fMc,12247
|
|
166
170
|
klaude_code/ui/renderers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
167
|
-
klaude_code/ui/renderers/assistant.py,sha256=
|
|
171
|
+
klaude_code/ui/renderers/assistant.py,sha256=nO_QNJ2e9TwtU2IlojO9lCMWNFUNmcE9Ezz-WW748_w,743
|
|
168
172
|
klaude_code/ui/renderers/common.py,sha256=5RdXC3ngtlhfmxRlbwOPtHtbXhAoWwbHoGX78tZcaTc,2284
|
|
169
|
-
klaude_code/ui/renderers/developer.py,sha256=
|
|
170
|
-
klaude_code/ui/renderers/diffs.py,sha256=
|
|
173
|
+
klaude_code/ui/renderers/developer.py,sha256=CawltuPSt_8s5lLoYKWYD9htwORbjgHeb4Ap0L2q7R4,6881
|
|
174
|
+
klaude_code/ui/renderers/diffs.py,sha256=A37Wuz1_UIg0-st5le68-DRGz4-kot6N-wy9xEMKdz0,10403
|
|
171
175
|
klaude_code/ui/renderers/errors.py,sha256=o9pOHRqZ0nxMPwkmV4CG81X7taW1-izvga6RY3fFRMI,516
|
|
172
|
-
klaude_code/ui/renderers/metadata.py,sha256=
|
|
173
|
-
klaude_code/ui/renderers/sub_agent.py,sha256
|
|
174
|
-
klaude_code/ui/renderers/thinking.py,sha256=
|
|
175
|
-
klaude_code/ui/renderers/tools.py,sha256=
|
|
176
|
-
klaude_code/ui/renderers/user_input.py,sha256=
|
|
176
|
+
klaude_code/ui/renderers/metadata.py,sha256=b1aNqLjyaqErP4O5YSEXg7ychJcNTKpZ6hTmdcNJX84,8190
|
|
177
|
+
klaude_code/ui/renderers/sub_agent.py,sha256=-8aDIIG4vmqwSSJepYy_tn2vmChAHOLjwmPWN2o_B_Y,5728
|
|
178
|
+
klaude_code/ui/renderers/thinking.py,sha256=y5ICt0eJvpn2rtv5-_x6FDWyOYAnJHkfTdBWCr4Y6Yk,1946
|
|
179
|
+
klaude_code/ui/renderers/tools.py,sha256=W24deCM4GhZT69gzo3FwZ0QVYbQ-x5Bo2-y5nFkOsdE,22268
|
|
180
|
+
klaude_code/ui/renderers/user_input.py,sha256=e2hZS7UUnzQuQ6UqzSKRDkFJMkKTLUoub1JclHMX40g,3941
|
|
177
181
|
klaude_code/ui/rich/__init__.py,sha256=zEZjnHR3Fnv_sFMxwIMjoJfwDoC4GRGv3lHJzAGRq_o,236
|
|
178
182
|
klaude_code/ui/rich/cjk_wrap.py,sha256=ncmifgTwF6q95iayHQyazGbntt7BRQb_Ed7aXc8JU6Y,7551
|
|
179
183
|
klaude_code/ui/rich/code_panel.py,sha256=MdUP4QSaQJQxX0MQJT0pvrkhpGYZx3gWdIRbZT_Uj_I,3938
|
|
180
184
|
klaude_code/ui/rich/live.py,sha256=Uid0QAZG7mHb4KrCF8p9c9n1nHLHzW75xSqcLZ4bLWY,2098
|
|
181
|
-
klaude_code/ui/rich/markdown.py,sha256=
|
|
185
|
+
klaude_code/ui/rich/markdown.py,sha256=_B7yWgBpSY8I8MBTX1_qvDCmyIZY0I-EnPrmoShQ2iQ,12126
|
|
182
186
|
klaude_code/ui/rich/quote.py,sha256=tZcxN73SfDBHF_qk0Jkh9gWBqPBn8VLp9RF36YRdKEM,1123
|
|
183
187
|
klaude_code/ui/rich/searchable_text.py,sha256=DCVZgEFv7_ergAvT2v7XrfQAUXUzhmAwuVAchlIx8RY,2448
|
|
184
|
-
klaude_code/ui/rich/status.py,sha256=
|
|
185
|
-
klaude_code/ui/rich/theme.py,sha256=
|
|
188
|
+
klaude_code/ui/rich/status.py,sha256=JOB-Yb3_HBwKb8K-NHFVkjxCPLkDuAJYboS6JzNqMVc,9590
|
|
189
|
+
klaude_code/ui/rich/theme.py,sha256=GpPd_BD7rkCpmWDjdOYoW65UgJSMxAjA28Sgv5GbUNg,13291
|
|
186
190
|
klaude_code/ui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
|
|
187
191
|
klaude_code/ui/terminal/color.py,sha256=M-i09DVlLAhAyhQjfeAi7OipoGi1p_OVkaZxeRfykY0,7135
|
|
188
192
|
klaude_code/ui/terminal/control.py,sha256=6SGNwxorP3jMW9xqnZy2BC0OsJd4DSrS13O3t6YlZzs,4916
|
|
@@ -190,7 +194,7 @@ klaude_code/ui/terminal/notifier.py,sha256=wkRM66d98Oh6PujnN4bB7NiQxIYEHqQXverMK
|
|
|
190
194
|
klaude_code/ui/terminal/progress_bar.py,sha256=MDnhPbqCnN4GDgLOlxxOEVZPDwVC_XL2NM5sl1MFNcQ,2133
|
|
191
195
|
klaude_code/ui/utils/__init__.py,sha256=YEsCLjbCPaPza-UXTPUMTJTrc9BmNBUP5CbFWlshyOQ,15
|
|
192
196
|
klaude_code/ui/utils/common.py,sha256=tqHqwgLtAyP805kwRFyoAL4EgMutcNb3Y-GAXJ4IeuM,2263
|
|
193
|
-
klaude_code-1.2.
|
|
194
|
-
klaude_code-1.2.
|
|
195
|
-
klaude_code-1.2.
|
|
196
|
-
klaude_code-1.2.
|
|
197
|
+
klaude_code-1.2.24.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
|
|
198
|
+
klaude_code-1.2.24.dist-info/entry_points.txt,sha256=7CWKjolvs6dZiYHpelhA_FRJ-sVDh43eu3iWuOhKc_w,53
|
|
199
|
+
klaude_code-1.2.24.dist-info/METADATA,sha256=2hkiGL2H3Kze2MNzy6FcrtEG0KSh-t6tPBpgwjJreDk,7725
|
|
200
|
+
klaude_code-1.2.24.dist-info/RECORD,,
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Remove AI code slop
|
|
3
|
-
from: https://cursor.com/cn/link/command?name=deslop&text=%23%20Remove%20AI%20code%20slop%0A%0ACheck%20the%20diff%20against%20main%2C%20and%20remove%20all%20AI%20generated%20slop%20introduced%20in%20this%20branch.%0A%0AThis%20includes%3A%0A-%20Extra%20comments%20that%20a%20human%20wouldn%27t%20add%20or%20is%20inconsistent%20with%20the%20rest%20of%20the%20file%0A-%20Extra%20defensive%20checks%20or%20try%2Fcatch%20blocks%20that%20are%20abnormal%20for%20that%20area%20of%20the%20codebase%20(especially%20if%20called%20by%20trusted%20%2F%20validated%20codepaths)%0A-%20Casts%20to%20any%20to%20get%20around%20type%20issues%0A-%20Any%20other%20style%20that%20is%20inconsistent%20with%20the%20file%0A%0AReport%20at%20the%20end%20with%20only%20a%201-3%20sentence%20summary%20of%20what%20you%20changed
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Check $ARGUMENTS, and remove all AI generated slop.
|
|
7
|
-
|
|
8
|
-
This includes:
|
|
9
|
-
- Extra comments that a human wouldn't add or is inconsistent with the rest of the file
|
|
10
|
-
- Extra defensive checks or try/catch blocks that are abnormal for that area of the codebase (especially if called by trusted / validated codepaths)
|
|
11
|
-
- Casts to any to get around type issues
|
|
12
|
-
- Any other style that is inconsistent with the file
|
|
13
|
-
|
|
14
|
-
Report at the end with only a 1-3 sentence summary of what you changed
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Update dev documentation before context compaction
|
|
3
|
-
from: https://github.com/diet103/claude-code-infrastructure-showcase/blob/main/.claude/commands/dev-docs-update.md
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
We're approaching context limits. Please update the development documentation to ensure seamless continuation after context reset.
|
|
7
|
-
|
|
8
|
-
## Required Updates
|
|
9
|
-
|
|
10
|
-
### 1. Update Active Task Documentation
|
|
11
|
-
For each task in `/dev/active/`:
|
|
12
|
-
- Update `[task-name]-context.md` with:
|
|
13
|
-
- Current implementation state
|
|
14
|
-
- Key decisions made this session
|
|
15
|
-
- Files modified and why
|
|
16
|
-
- Any blockers or issues discovered
|
|
17
|
-
- Next immediate steps
|
|
18
|
-
- Last Updated timestamp
|
|
19
|
-
|
|
20
|
-
- Update `[task-name]-tasks.md` with:
|
|
21
|
-
- Mark completed tasks as ✅
|
|
22
|
-
- Add any new tasks discovered
|
|
23
|
-
- Update in-progress tasks with current status
|
|
24
|
-
- Reorder priorities if needed
|
|
25
|
-
|
|
26
|
-
### 2. Capture Session Context
|
|
27
|
-
Include any relevant information about:
|
|
28
|
-
- Complex problems solved
|
|
29
|
-
- Architectural decisions made
|
|
30
|
-
- Tricky bugs found and fixed
|
|
31
|
-
- Integration points discovered
|
|
32
|
-
- Testing approaches used
|
|
33
|
-
- Performance optimizations made
|
|
34
|
-
|
|
35
|
-
### 3. Update Memory (if applicable)
|
|
36
|
-
- Store any new patterns or solutions in project memory/documentation
|
|
37
|
-
- Update entity relationships discovered
|
|
38
|
-
- Add observations about system behavior
|
|
39
|
-
|
|
40
|
-
### 4. Document Unfinished Work
|
|
41
|
-
- What was being worked on when context limit approached
|
|
42
|
-
- Exact state of any partially completed features
|
|
43
|
-
- Commands that need to be run on restart
|
|
44
|
-
- Any temporary workarounds that need permanent fixes
|
|
45
|
-
|
|
46
|
-
### 5. Create Handoff Notes
|
|
47
|
-
If switching to a new conversation:
|
|
48
|
-
- Exact file and line being edited
|
|
49
|
-
- The goal of current changes
|
|
50
|
-
- Any uncommitted changes that need attention
|
|
51
|
-
- Test commands to verify work
|
|
52
|
-
|
|
53
|
-
## Additional Context:
|
|
54
|
-
$ARGUMENTS
|
|
55
|
-
|
|
56
|
-
**Priority**: Focus on capturing information that would be hard to rediscover or reconstruct from code alone.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create a comprehensive strategic plan with structured task breakdown
|
|
3
|
-
from: https://github.com/diet103/claude-code-infrastructure-showcase/blob/main/.claude/commands/dev-docs.md
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Create a comprehensive, actionable plan for:
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
## Instructions
|
|
10
|
-
|
|
11
|
-
1. **Analyze the request** and determine the scope of planning needed
|
|
12
|
-
2. **Examine relevant files** in the codebase to understand current state
|
|
13
|
-
3. **Create a structured plan** with:
|
|
14
|
-
- Executive Summary
|
|
15
|
-
- Current State Analysis
|
|
16
|
-
- Proposed Future State
|
|
17
|
-
- Implementation Phases (broken into sections)
|
|
18
|
-
- Detailed Tasks (actionable items with clear acceptance criteria)
|
|
19
|
-
- Risk Assessment and Mitigation Strategies
|
|
20
|
-
- Success Metrics
|
|
21
|
-
- Required Resources and Dependencies
|
|
22
|
-
- Timeline Estimates
|
|
23
|
-
|
|
24
|
-
4. **Task Breakdown Structure**:
|
|
25
|
-
- Each major section represents a phase or component
|
|
26
|
-
- Number and prioritize tasks within sections
|
|
27
|
-
- Include clear acceptance criteria for each task
|
|
28
|
-
- Specify dependencies between tasks
|
|
29
|
-
- Estimate effort levels (S/M/L/XL)
|
|
30
|
-
|
|
31
|
-
5. **Create task management structure**:
|
|
32
|
-
- Create directory: `dev/active/[task-name]/` (relative to project root)
|
|
33
|
-
- Generate three files:
|
|
34
|
-
- `[task-name]-plan.md` - The comprehensive plan
|
|
35
|
-
- `[task-name]-context.md` - Key files, decisions, dependencies
|
|
36
|
-
- `[task-name]-tasks.md` - Checklist format for tracking progress
|
|
37
|
-
- Include "Last Updated: YYYY-MM-DD" in each file
|
|
38
|
-
|
|
39
|
-
6. **Stop and Consult**: Pause and negotiate the plan with the user.
|
|
40
|
-
|
|
41
|
-
## Quality Standards
|
|
42
|
-
- Plans must be self-contained with all necessary context
|
|
43
|
-
- Use clear, actionable language
|
|
44
|
-
- Include specific technical details where relevant
|
|
45
|
-
- Consider both technical and business perspectives
|
|
46
|
-
- Account for potential risks and edge cases
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Write a HANDOFF.md for another agent to continue the conversation
|
|
3
|
-
from: amp-cli https://ampcode.com/manual#handoff
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Write a HANDOFF.md file in the current working directory for another agent to continue this conversation.
|
|
7
|
-
|
|
8
|
-
Extract relevant context from the conversation above to facilitate continuing this work. Write from my perspective (first person: "I did...", "I told you...").
|
|
9
|
-
|
|
10
|
-
Consider what would be useful to know based on my request below. Relevant questions include:
|
|
11
|
-
- What did I just do or implement?
|
|
12
|
-
- What instructions did I give you that are still relevant (e.g., follow patterns in the codebase)?
|
|
13
|
-
- Did I provide a plan or spec that should be included?
|
|
14
|
-
- What important information did I share (certain libraries, patterns, constraints, preferences)?
|
|
15
|
-
- What key technical details did I discover (APIs, methods, patterns)?
|
|
16
|
-
- What caveats, limitations, or open questions remain?
|
|
17
|
-
|
|
18
|
-
Extract only what matters for the specific request below. Skip irrelevant questions. Choose an appropriate length based on the complexity of the request.
|
|
19
|
-
|
|
20
|
-
Focus on capabilities and behavior, not file-by-file changes. Avoid excessive implementation details (variable names, storage keys, constants) unless critical.
|
|
21
|
-
|
|
22
|
-
Format: Plain text with bullets. No markdown headers, no bold/italic, no code fences. Use workspace-relative paths for files.
|
|
23
|
-
|
|
24
|
-
List file or directory paths (workspace-relative) relevant to accomplishing the goal in the following format:
|
|
25
|
-
<example>
|
|
26
|
-
@src/project/main.py
|
|
27
|
-
@src/project/llm/
|
|
28
|
-
</example>
|
|
29
|
-
|
|
30
|
-
My request:
|
|
31
|
-
$ARGUMENTS
|
|
32
|
-
|
|
33
|
-
<system>If the request section is empty, ask for clarification about the goal</system>
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create a jj workspace before starting work to enable parallel Clauding
|
|
3
|
-
---
|
|
4
|
-
<task>
|
|
5
|
-
$ARGUMENTS
|
|
6
|
-
</task>
|
|
7
|
-
<system>
|
|
8
|
-
You are now in jj-workspace mode. Before working on any task, you MUST first create a dedicated jj workspace. This allows multiple Claude sessions to work in parallel without conflicts.
|
|
9
|
-
|
|
10
|
-
If the <task> above is empty, inform the user that you are ready to work in jj-workspace mode and waiting for a task description. Once provided, follow the steps below.
|
|
11
|
-
|
|
12
|
-
When a task is provided, follow these steps:
|
|
13
|
-
1. Generate a short, descriptive workspace name based on the task (e.g., `workspace-add-login` or `workspace-fix-typo`)
|
|
14
|
-
2. Run `jj workspace add <workspace-name>` to create the workspace
|
|
15
|
-
3. Change into the workspace directory: `cd <workspace-name>`
|
|
16
|
-
4. Describe the change: `jj describe -m '<brief task description>'`
|
|
17
|
-
5. Continue all subsequent work within this workspace directory
|
|
18
|
-
</system>
|