tweakcc 3.1.6 → 3.2.0
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.md +55 -13
- package/dist/index.js +144 -128
- package/package.json +13 -3
package/README.md
CHANGED
|
@@ -1,27 +1,49 @@
|
|
|
1
|
+
<div>
|
|
2
|
+
<div align="right">
|
|
3
|
+
<a href="https://piebald.ai"><img width="200" top="20" align="right" src="https://github.com/Piebald-AI/.github/raw/main/Wordmark.svg"></a>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<div align="left">
|
|
7
|
+
|
|
8
|
+
### Announcement: Piebald is released!
|
|
9
|
+
We've released **Piebald**, the ultimate agentic AI developer experience. \
|
|
10
|
+
Download it and try it out for free! **https://piebald.ai/**
|
|
11
|
+
|
|
12
|
+
<sub>[Scroll down for tweakcc.](https://github.com/Piebald-AI/tweakcc#tweakcc) :point_down:</sub>
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<div align="left">
|
|
18
|
+
<a href="https://piebald.ai">
|
|
19
|
+
<picture>
|
|
20
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/79c18689-e2f0-4008-a13f-61c80756286a">
|
|
21
|
+
<source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/25cb5df8-cf15-4cae-9c1e-e88645f06ee1">
|
|
22
|
+
<img alt="hero" width="600" src="https://github.com/user-attachments/assets/25cb5df8-cf15-4cae-9c1e-e88645f06ee1">
|
|
23
|
+
</picture>
|
|
24
|
+
</a>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
1
27
|
# tweakcc
|
|
2
28
|
|
|
3
29
|
[](https://www.npmjs.com/package/tweakcc)
|
|
4
30
|
[](https://github.com/hesreallyhim/awesome-claude-code)
|
|
5
31
|
[](https://claudelog.com/)
|
|
6
32
|
|
|
7
|
-
tweakcc is a CLI tool that upgrades your Claude Code experience
|
|
8
|
-
|
|
9
|
-
> [!important]
|
|
10
|
-
> **NEW in 3.1.0:** tweakcc now enables you to manually name your Claude Code sessions—run `npx tweakcc --apply` now to get a `/title my chat title` slash command (or `/rename`)!
|
|
11
|
-
|
|
12
|
-
> [!tip]
|
|
13
|
-
> **NEW in 3.0.0:** tweakcc now supports Claude Code native installations! It also adds a new feature to CC called **toolsets**—try them out in Claude Code with the `/toolsets` command after you create them in tweakcc. Lastly it makes [Claude Code's native LSP server support work.](https://www.reddit.com/r/ClaudeAI/comments/1otdfo9/lsp_is_coming_to_claude_code_and_you_can_try_it/)
|
|
33
|
+
**tweakcc is a CLI tool that upgrades your Claude Code experience.** Customize its system prompts, add custom themes, create toolsets, and personalize the UI. From the team behind [<img src="https://github.com/Piebald-AI/piebald/raw/main/assets/logo.svg" width="15"> **Piebald.**](https://piebald.ai/)
|
|
14
34
|
|
|
35
|
+
<!--
|
|
15
36
|
> [!note]
|
|
16
37
|
> ⭐ **If you find tweakcc useful, please consider [starring the repository](https://github.com/Piebald-AI/tweakcc) to show your support!** ⭐
|
|
38
|
+
-->
|
|
17
39
|
|
|
18
40
|
<img src="./assets/demo.gif" alt="Animated GIF demonstrating running `npx tweakcc`, creating a new theme, changing all of Claude Code's UI colors to purple, changing the thinking format from '<verb>ing...' to 'Claude is <verb>ing', changing the generating spinner style to a 50m glow animation, applying the changes, running Claude, and using '/config' to switch to the new theme, and sending a message to see the new thinking verb format." width="800">
|
|
19
41
|
|
|
20
42
|
With tweakcc, you can
|
|
21
43
|
|
|
22
|
-
- Customize all of Claude Code's **system prompts** (**NEW:** also see [**Claude Code
|
|
44
|
+
- Customize all of Claude Code's **system prompts** (**NEW:** also see all of [**Claude Code's system prompts**](https://github.com/Piebald-AI/claude-code-system-prompts))
|
|
23
45
|
- Create custom **toolsets** that can be used in Claude Code with the new **`/toolset`** command
|
|
24
|
-
- Manually name **sessions** in Claude Code with `/title my chat name` or `/rename`
|
|
46
|
+
- Manually name **sessions** in Claude Code with `/title my chat name` or `/rename` (see [**our blog post**](https://piebald.ai/blog/messages-as-commits-claude-codes-git-like-dag-of-conversations) for implementation details)
|
|
25
47
|
- Create **custom themes** with a graphical HSL/RGB color picker
|
|
26
48
|
- Add custom **thinking verbs** that will show while Claude's working
|
|
27
49
|
- Create custom **thinking spinner animations** with different speeds and phases
|
|
@@ -53,14 +75,26 @@ $ pnpm dlx tweakcc
|
|
|
53
75
|
|
|
54
76
|
tweakcc works by patching Claude Code's minified `cli.js` file. For npm-based installations this file is modified directly, but for native installation it's extracted from the binary, patched, and then the binary is repacked. When you update your Claude Code installation, your customizations will be overwritten, but they're remembered in your configuration file, so they can be reapplied by just running `npx tweakcc --apply`.
|
|
55
77
|
|
|
56
|
-
tweakcc is verified to work with Claude Code **2.0.
|
|
78
|
+
tweakcc is verified to work with Claude Code **2.0.69**.
|
|
57
79
|
|
|
58
80
|
### Configuration directory
|
|
59
81
|
|
|
60
82
|
tweakcc stores its configuration files in one of the following locations, in order of priority:
|
|
61
83
|
|
|
62
|
-
1.
|
|
63
|
-
2.
|
|
84
|
+
1. **`TWEAKCC_CONFIG_DIR`** environment variable if set, or
|
|
85
|
+
2. **`~/.tweakcc/`** if it exists, or
|
|
86
|
+
3. **`~/.claude/tweakcc`** if it exists, or
|
|
87
|
+
4. **`$XDG_CONFIG_HOME/tweakcc`** if the `XDG_CONFIG_HOME` environment variable is set.
|
|
88
|
+
|
|
89
|
+
If none of the above exist, `~/.tweakcc` will be created and used. If you version control `~/.claude` for Claude Code configuration and want your tweakcc config and system prompts there too, then manually create the directory first, or move your existing `~/.tweakcc` directory there:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# For new users
|
|
93
|
+
mkdir -p ~/.claude/tweakcc
|
|
94
|
+
|
|
95
|
+
# For existing users
|
|
96
|
+
mv ~/.tweakcc ~/.claude/tweakcc
|
|
97
|
+
```
|
|
64
98
|
|
|
65
99
|
## Building from source
|
|
66
100
|
|
|
@@ -78,7 +112,7 @@ node dist/index.js
|
|
|
78
112
|
|
|
79
113
|
Other tools for customizing Claude Code or adding functionality to it:
|
|
80
114
|
|
|
81
|
-
- [**clotilde**](https://github.com/fgrehm/clotilde) - Wrapper for Claude Code that adds powerful manual session naming, resuming, forking, and incognito (ephemeral) session management to Claude Code.
|
|
115
|
+
- [**clotilde**](https://github.com/fgrehm/clotilde) - Wrapper for Claude Code that adds powerful manual session naming, resuming, forking, and incognito (ephemeral) session management to Claude Code.
|
|
82
116
|
- [**ccstatusline**](https://github.com/sirmalloc/ccstatusline) - Highly customizable status line formatter for Claude Code CLI that displays model info, git branch, token usage, and other metrics in your terminal.
|
|
83
117
|
- [**claude-powerline**](https://github.com/Owloops/claude-powerline) - Vim-style powerline statusline for Claude Code with real-time usage tracking, git integration, and custom themes.
|
|
84
118
|
- [**CCometixLine**](https://github.com/Haleclipse/CCometixLine) - A high-performance Claude Code statusline tool written in Rust with Git integration, usage tracking, interactive TUI configuration, and Claude Code enhancement utilities.
|
|
@@ -125,6 +159,14 @@ Screenshot of the HTML file:
|
|
|
125
159
|
|
|
126
160
|
This is a great idea, and we recommend it; in fact, we have one ourselves [here.](https://github.com/bl-ue/tweakcc-system-prompts) It allows you to keep your modified prompt safe in GitHub or elsewhere, and you can also switch from one set of prompts to another via branches, for example. In the future we plan to integrate git repo management for the system prompt markdown files into tweakcc. For now you'll need to manually initialize a git repository in `~/.tweakcc` directory. tweakcc automatically generates a recommended `.gitignore` file in that directory (which you can modify if you'd like).
|
|
127
161
|
|
|
162
|
+
## Toolsets
|
|
163
|
+
|
|
164
|
+
Toolsets are collections of built-in tools that Claude is allowed to call. Unlike Claude Code's builtin permission system, however, built-in tools that are not in the currently active toolset are not even sent to the model. As a result, Claude has no idea of tools that are not enabled in the current toolset (unless they happen to be mentioned in other parts of the system prompt), and it's not able to call them.
|
|
165
|
+
|
|
166
|
+
Toolsets can be helpful both for using Claude in different modes, e.g. a research mode where you might only include `WebFetch` and `WebSearch`, and for keeping the size of your system prompt by trimming out tools you don't ever want Claude to call. The description of each tool call is placed in the system prompt (see [here](https://github.com/Piebald-AI/claude-code-system-prompts#builtin-tool-descriptions)), and if there are multiple tools you don't care about (like `Skill`, `SlashCommand`, `BashOutput`, etc.), the accumulated size of their descriptions and parameters can bloat the context by several thousand tokens.
|
|
167
|
+
|
|
168
|
+
To create a toolset, run `npx tweakcc`, go to `Toolsets`, and hit `n` to create a new toolset. Set tapply your customizations, and then run `claude`. If you marked a toolset as the default in tweakcc, it will be automatically selected.
|
|
169
|
+
|
|
128
170
|
## Troubleshooting
|
|
129
171
|
|
|
130
172
|
tweakcc stores a backup of your Claude Code `cli.js`/binary for when you want to revert your customizations and for reapplying patches. Before it applies your customizations, it restores the original `cli.js`/binary so that it can start from a clean slate. Sometimes things can get confused and your `claude` can be corrupted.
|