個人的に一番いい構成がClaude Max + Claude code + Termux + Tailscale + tmuxだった。
前提
- TDDを全力でやる
インストール
Claude Maxを契約していたらClaude Codeを定額で利用できる。元々APIで使っていてMaxを契約しても一旦ログアウトしないと課金されるので注意
$ npm install -g @anthropic-ai/claude-code
$ claude login
初期設定
/init
をすると既存のREADME、Cursor RulesやCLINE Rulesを読んでくれていい感じにCLAUDE.md生成してくれる。
トークンがいっぱいになると要約して開放するような挙動をするはず。このあたりを読んでホームディレクトリやプロジェクトディレクトリに設定を追加する。
-
IDE統合も基本的には自動インストールされる。(手動の場合は/ide)
-
/terminal-setupも実行しておく
Claude Codeはメモリを再帰的に読み取ります。cwdから始めて、/まで再帰的に読み取り、見つかったCLAUDE.mdまたはCLAUDE.local.mdファイルを読み取ります。これは、Claude Codeを__foo/bar/で実行し、 foo/CLAUDE.md_とfoo/bar/CLAUDE.mdの両方にメモリが存在するような大規模なリポジトリで作業している場合に_特に便利です。Claude は、現在の作業ディレクトリ以下のサブツリーにネストされた CLAUDE.md も検出します。起動時に読み込むのではなく、Claude がサブツリー内のファイルを読み取るときにのみ読み込みます。
完了後にベルを鳴らす:
https://docs.anthropic.com/ja/docs/claude-code/settings#%E9%80%9A%E7%9F%A5%E8%A8%AD%E5%AE%9A
claude config set --global preferredNotifChannel terminal_bell
基本操作
- claude -c: 前回のセッションに戻る
- claude -r: セッション履歴
- Ctrl + j で改行
- Ctrl + v でクリップボードから画像貼り付け
- @\path/to/file で任意のファイルを指定
- 直接コピーするか、ファイルをターミナルにドラッグ可能
- !を先頭につけるとbashコマンドを受け付ける
#
でメモリーに設定を保存ができる- /clearで新しいスレッドを開始する
- Shift + Tabでplan modeやauto accept edit modeに変える
- etcで処理を止める
Vimモード:
- モード切り替え:
Esc
(NORMALモードへ),i
/I
,a
/A
,o
/O
(INSERTモードへ) - ナビゲーション:
h
/j
/k
/l
(←/↓/↑/→),w
/e
/b
(単語移動),0
/$
(行頭/行末),^
(行頭の非空白文字),gg
/G
(ファイル先頭/末尾) - 編集:
x
(一文字削除),dw
/de
/db
/dd
/D
(削除),cw
/ce
/cb
/cc
/C
(変更),.
(直前の操作を繰り返し)
エイリアス
許可プロンプトをスキップする:
alias yolo="claude --dangerously-skip-permissions"
claude -pで応答を出力するショートカットとして使える。gcautoなどとして設定するといい。
git commit -m "$(claude -p "Look at the staged git changes and create a summarizing git commit title. Only respond with the title and no affirmation.")"
[現代のslコマンドは%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89)なので、Claude Codeを割り当てる
\$() {
claude "$*"
}
利用料金の把握
Claude Maxを使っていてもどのくらいコストを使っているかを可視化できる
# Using npx
npx ccusage@latest
# Using bunx
bunx ccusage
# Using pnpm
pnpm dlx ccusage
# Using Deno with security flags
deno run -E -R=$HOME/.claude/projects/ -S=homedir -N='raw.githubusercontent.com:443' npm:ccusage@latest
リアルタイム監視
npx ccusage@latest blocks --live
MCP
Claude Code自体をMCPサーバー化することもできるし、Claude CodeにもMCPを追加できる
{
"mcpServers": {
"claude_code": {
"command": "/usr/local/bin/claude",
"args": ["mcp", "serve"],
"env": {}
}
}
}
私は知り合いが作ったurl html2mdライブラリの[MCPサーバー](https://github.com/yutakobayashidev/webforai-mcp-server)入れてる。プロジェクトルートの .mcp.json
が自動で認識されます。
{
"mcpServers": {
"webforai": {
"command": "npx",
"args": ["mcp-remote","https://webforai-mcp-server.yutakobayashi.workers.dev/sse"]
}
}
}
$ claude --mcp-config=.claude/mcp.json
リモートMCPも対応した:
# Basic syntax
claude mcp add --transport http <name> <url>
# Example: Adding a streamable HTTP server
claude mcp add --transport http http-server https://example.com/mcp
# Example: Adding an HTTP server with authentication header
claude mcp add --transport http secure-server https://api.example.com/mcp -e Authorization="Bearer your-token"
CI / CD・リンター
リンターとして使う:
// package.json
{
...
"scripts": {
...
"lint:claude": "claude -p 'あなたはリンターです。mainブランチとの変更を確認し、タイポに関する問題を報告してください。ファイル名と行番号を1行目に、問題の説明を2行目に報告してください。他のテキストは返さないでください。'"
}
}
Github Actions:
若干evilなのでチームで使う場合やTOSが変わる場合は注視したほうがよさそう。また、Actionsのリポジトリオーナー以外がイシュー作ったりしても発火しないように調整が必要かも。
Is this allowed by Anthropic? · Issue #6 · grll/claude-code-action
name: Claude PR Assistant
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude-code-action:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude PR Action
uses: grll/claude-code-action@beta
with:
use_oauth: true
claude_access_token: ${{ secrets.CLAUDE_ACCESS_TOKEN }}
claude_refresh_token: ${{ secrets.CLAUDE_REFRESH_TOKEN }}
claude_expires_at: ${{ secrets.CLAUDE_EXPIRES_AT }}
timeout_minutes: "60"
# Optional: add custom trigger phrase (default: @claude)
# trigger_phrase: "/claude"
# Optional: add assignee trigger for issues
# assignee_trigger: "claude"
# Optional: add custom environment variables (YAML format)
# claude_env: |
# NODE_ENV: test
# DEBUG: true
# API_URL: https://api.example.com
並列化・リモート化
git worktree
git worktreeで開発したいなら以下のコマンドが良さそう:
$ git worktree add .git/works/new-feature
$ code .git/works/new-feature
# ここでAIに実装させておく
# 採用して削除
$ git rebase new-feature && git worktree remove .git/works/new-feature
参考: git worktreeを扱うfish functionを作成した - hiroppy’s site
Termux + Tailscale + Tmux + copilot.vim
トイレや外出中にもClaude Codeのセッションをスムーズに維持したままデバイス間で行き来したいため、この組み合わせが最高。スマホだけで作業を進められる。画面分割やgit worktreeと組み合わせてパネル複数の並列化も出いる
TermuxとTailscaleをインストールする:
TermuxはAndroidデバイスでLinuxのターミナル環境を動かすことができるOSS。ここからTailscaleでSSHする
- Tailscale · Best VPN Service for Secure Networks
- モバイルアプリとLinux PCにインストールしてSSH接続する
- Termux | F-Droid - Free and Open Source Android App Repository
- Google Playにもあるが、こちらがおすすめ
Tmux:
screenでも多分いけると思う。ターミナルを永続化するような役割
$ tmux new-session -s mysession
この間にClaude Codeを動かしておいて、Ctrl+b
を押してからd
を押して、セッションをデタッチして、バックグラウンドに送る。あとは他のクライアントでセッションに再接続できる。
$ tmux attach-session -t mysession
この辺りはキーバインドを工夫すれば簡素化できると思う
copilot.vim:
スマホだと編集がつらいのでcopilot.vim入れとく
git clone --depth=1 https://github.com/github/copilot.vim.git \
~/.config/nvim/pack/github/start/copilot.vim
隠しコマンド
ultrathinkとかいうとめちゃくちゃ考えてくれる
-
Basic: 考えて
-
Middle: もっと考えて, たくさん考えて, よく考えて, 長考
-
Highest: 熟考, 深く考えて, しっかり考えて
-
ENABLE_BACKGROUND_TASKS
-
CLAUDE_CODE_DISABLE_FINE_GRAINED_TOOL_STREAMING
-
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR
-
CLAUDE_CODE_ENABLE_UNIFIED_READ_TOOL
-
DISABLE_PROMPT_CACHING
-
ENABLE_BACKGROUND_TASKS
-
FORCE_AUTO_BACKGROUND_TASKS
カスタムコマンド
TODO
- これやりたい
- スマホからClaude Codeを操作する
- あなたもAndroidに機種変してTermuxでClaude CodeでMCPしよ?
- Termuxの意外と知らない日本語入力方法、特殊キータブの項目を増やす小技 Android - Qiita
- Claude Code: Deep Coding at Terminal Velocity \ Anthropic
- IDE統合 - Anthropic
- Claude Codeの設定 - Anthropic
- Tmux Cheat Sheet [Inc. Visuals]
- X
- claude code でローカルなMCPサーバーを叩けるようにする
- GitHub - ryoppippi/ccusage: A CLI tool for analyzing Claude Code usage from local JSONL files.’
- GitHub - grll/claude-code-action
- Remote MCP support in Claude Code \ Anthropic
- claude code でローカルなMCPサーバーを叩けるようにする
- X
- How I Use Claude Code | Philipp Spiess
- x.com/_kqqp_/status/1932081587577029068
- GitHub - grll/claude-code-action
- Mastering Claude Code in 30 minutes - YouTube
- Cosense
- Vibe coding: Build a RAG system for my Inkdrop notes, and automate journaling with Claude Code - YouTube
- ripgrep コマンドチートシート · GitHub
- Claude Code でカスタムスラッシュコマンドを作成する
- X
- similarity-ts でAIと人間が書き散らした重複コードを見つける