diff --git a/README.md b/README.md index 0a3165f..96d74db 100644 --- a/README.md +++ b/README.md @@ -22,25 +22,27 @@ practice makes claude perfect > **Note:** Custom slash commands have been merged into skills. Files in `.claude/commands/` still work, but skills (`.claude/skills/`) are recommended as they support additional features like supporting files, invocation control, and subagent execution. - **[Skills](https://code.claude.com/docs/en/skills)** - Reusable knowledge, workflows, and slash commands that Claude can load on-demand or you invoke with `/skill-name` -- **[Subagents](https://code.claude.com/docs/en/sub-agents)** - Isolated execution contexts that run their own loops and return summarized results +- **[Agents](https://code.claude.com/docs/en/sub-agents)** - Custom agents in `.claude/agents/` with their own name, color, tools, permissions, and model — usable as default main agent (`"agent"` in settings.json) or as isolated subagents via the Task tool - **[Memory](https://code.claude.com/docs/en/memory)** - Persistent context via CLAUDE.md files and `@path` imports that Claude sees every session - **[Rules](https://code.claude.com/docs/en/memory#modular-rules-with-clauderules)** - Modular topic-specific instructions in `.claude/rules/*.md` with optional path-scoping via frontmatter - **[Hooks](https://code.claude.com/docs/en/hooks)** - Deterministic scripts that run outside the agentic loop on specific events - **[MCP Servers](https://code.claude.com/docs/en/mcp)** - Model Context Protocol connections to external tools, databases, and APIs - **[Plugins](https://code.claude.com/docs/en/plugins)** - Distributable packages that bundle skills, subagents, hooks, and MCP servers - **[Marketplaces](https://code.claude.com/docs/en/discover-plugins)** - Host and discover plugin collections -- **[Settings](https://code.claude.com/docs/en/settings)** - Hierarchical configuration system for Claude Code behavior -- **[Permissions](https://code.claude.com/docs/en/iam)** - Fine-grained access control for tools and operations +- **[Sandbox](https://code.claude.com/docs/en/sandbox)** - File and network isolation runtime that improves safety while reducing permission prompts +- **[Output Styles](https://code.claude.com/docs/en/output-styles)** - Configurable response tone and format — Explanatory, Learning, or Custom +- **[Settings](https://code.claude.com/docs/en/settings)** - Hierarchical configuration system for Claude Code behavior (37 settings, 84 env vars) +- **[Permissions](https://code.claude.com/docs/en/iam)** - Fine-grained access control for tools and operations with wildcard syntax **Extension Overview:** See [Extend Claude Code](https://code.claude.com/docs/en/features-overview) for when to use each feature and how they layer together. ## MY EXPERIENCE ■ **Workflows** -- Claude.md should not exceed 150+ lines. (still not 100% guarenteed) +- Claude.md should not exceed 150+ lines. (still not 100% guaranteed) - use commands for your workflows instead of agents - have feature specific subagents (extra context) with skills (progressive disclosure) instead of general qa, backend engineer. -- /memory, /rules, constitution.md does not guarentee anything +- /memory, /rules, constitution.md does not guarantee anything - do manual /compact at max 50% - always start with plan mode - subtasks should be so small that it can be completed in less than 50% context @@ -52,8 +54,11 @@ practice makes claude perfect - Wispr Flow for voice prompting (10x productivity) - claude-code-voice-hooks for claude feedback - status line for context awareness and fast compacting -- git worktress for parallel development -- /config dont ask permission mode instead of dangerously—skip--permissions +- git worktrees for parallel development +- /permissions with wildcard syntax (`Bash(npm run *)`, `Edit(/docs/**)`) instead of dangerously-skip-permissions +- /sandbox to reduce permission prompts with file and network isolation +- output styles: use Explanatory when learning a new codebase, Learning for coaching +- /keybindings to remap any key, settings live reload ■ **Debugging** - /doctor @@ -62,7 +67,7 @@ practice makes claude perfect - provide screenshots of the issue ## TIPS FROM BORIS CHERNY (CREATOR OF CLAUDE CODE) -- [Feb 2026 - 12 Tips](reports/claude-boris-tips-February-26.md) ([Reddit thread](https://www.reddit.com/r/ClaudeAI/comments/1r2m8ma/12_claude_code_tips_from_creator_of_claude_code/)) +- [Feb 2026 - 12 Tips](reports/claude-boris-tips-feb-26.md) ([Reddit thread](https://www.reddit.com/r/ClaudeAI/comments/1r2m8ma/12_claude_code_tips_from_creator_of_claude_code/)) ## CONTEXT ENGINEERING - [Humanlayer - Writing a good Claude.md](https://www.humanlayer.dev/blog/writing-a-good-claude-md) @@ -156,4 +161,4 @@ See [weather-orchestration-architecture](weather-orchestration/weather-orchestra | [Global vs Project Settings](reports/claude-global-vs-project-settings.md) | Which features are global-only (`~/.claude/`) vs dual-scope, including Tasks and Agent Teams | | [Skills Discovery in Monorepos](reports/claude-skills-for-larger-mono-repos.md) | How skills are discovered and loaded in large monorepo projects | | [Agent Memory Frontmatter](reports/claude-agent-memory.md) | Persistent memory scopes (`user`, `project`, `local`) for subagents — enabling agents to learn across sessions | -| [Boris Cherny's 12 Customization Tips](reports/claude-boris-tips-February-26.md) | 12 ways to customize Claude Code — from terminal config to plugins, agents, hooks, and output styles | +| [Boris Cherny's 12 Customization Tips](reports/claude-boris-tips-feb-26.md) | 12 ways to customize Claude Code — from terminal config to plugins, agents, hooks, and output styles | diff --git a/reports/claude-boris-tips-February-26.md b/reports/claude-boris-tips-feb-26.md similarity index 85% rename from reports/claude-boris-tips-February-26.md rename to reports/claude-boris-tips-feb-26.md index 1f444ef..92e4ceb 100644 --- a/reports/claude-boris-tips-February-26.md +++ b/reports/claude-boris-tips-feb-26.md @@ -15,7 +15,7 @@ A summary of customization tips shared by Boris Cherny ([@bcherny](https://x.com Boris Cherny highlighted that customizability is one of the things engineers love most about Claude Code — hooks, plugins, LSPs, MCPs, skills, effort, custom agents, status lines, output styles, and more. He shared 12 practical ways developers and teams are customizing their setups. -![Boris Cherny intro tweet](../!/boris/0.webp) +Boris Cherny intro tweet --- @@ -28,7 +28,7 @@ Set up your terminal for the best Claude Code experience: - **Newlines**: If using Claude Code in an IDE terminal, Apple Terminal, Warp, or Alacritty, run `/terminal-setup` to enable shift+enter for newlines (so you don't need to type `\`) - **Vim mode**: Run `/vim` -![Configure your terminal](../!/boris/1.webp) +Configure your terminal --- @@ -42,7 +42,7 @@ Run `/model` to pick your preferred effort level: Boris's preference: High for everything. -![Adjust effort level](../!/boris/2.webp) +Adjust effort level --- @@ -54,7 +54,7 @@ Install from the official Anthropic plugin marketplace, or create your own marke Run `/plugin` to get started. -![Install Plugins, MCPs, and Skills](../!/boris/3.webp) +Install Plugins, MCPs, and Skills --- @@ -66,7 +66,7 @@ You can also set the default agent for the main conversation using the `"agent"` Run `/agents` to get started. -![Create custom agents](../!/boris/4.webp) +Create custom agents --- @@ -78,7 +78,7 @@ Out of the box, a small set of safe commands are pre-approved. To pre-approve mo Full wildcard syntax is supported — e.g., `Bash(bun run *)` or `Edit(/docs/**)`. -![Pre-approve common permissions](../!/boris/5.webp) +Pre-approve common permissions --- @@ -88,7 +88,7 @@ Opt into Claude Code's open source sandbox runtime to improve safety while reduc Run `/sandbox` to enable it. Sandboxing runs on your machine and supports both file and network isolation. -![Enable sandboxing](../!/boris/6.webp) +Enable sandboxing --- @@ -98,7 +98,7 @@ Custom status lines show up right below the composer, displaying model, director Every team member can have a different statusline. Use `/statusline` to have Claude generate one based on your `.bashrc`/`.zshrc`. -![Add a status line](../!/boris/7.webp) +Add a status line --- @@ -106,7 +106,7 @@ Every team member can have a different statusline. Use `/statusline` to have Cla Every key binding in Claude Code is customizable. Run `/keybindings` to re-map any key. Settings live reload so you can see how it feels immediately. -![Customize your keybindings](../!/boris/8.webp) +Customize your keybindings --- @@ -120,7 +120,7 @@ Hooks let you deterministically hook into Claude's lifecycle: Ask Claude to add a hook to get started. -![Set up hooks](../!/boris/9.webp) +Set up hooks --- @@ -128,7 +128,7 @@ Ask Claude to add a hook to get started. Customize your spinner verbs to add or replace the default list with your own verbs. Check the `settings.json` into source control to share verbs with your team. -![Customize your spinner verbs](../!/boris/10.webp) +Customize your spinner verbs --- @@ -140,7 +140,7 @@ Run `/config` and set an output style to have Claude respond using a different t - **Learning** — to have Claude coach you through making code changes - **Custom** — create custom output styles to adjust Claude's voice -![Use output styles](../!/boris/11.webp) +Use output styles --- @@ -155,7 +155,7 @@ Claude Code works great out of the box, but when you do customize, check your `s With 37 settings and 84 environment variables (use the `"env"` field in your `settings.json` to avoid wrapper scripts), there's a good chance any behavior you want is configurable. -![Customize all the things](../!/boris/12.webp) +Customize all the things --- diff --git a/reports/claude-commands.md b/reports/claude-commands.md index b2885aa..9160615 100644 --- a/reports/claude-commands.md +++ b/reports/claude-commands.md @@ -80,6 +80,7 @@ A comprehensive reference of all available slash commands in Claude Code's inter | `/permissions` | View or update tool permissions | | `/theme` | Change the color theme | | `/vim` | Enable vim-style editing mode | +| `/terminal-setup` | Enable shift+enter for newlines in IDE terminals, Apple Terminal, Warp, and Alacritty | | `/keybindings` | Customize keyboard shortcuts per context, create chord sequences | | `/statusline` | Set up Claude Code's status line UI | | `/sandbox` | Configure sandboxing with dependency status | diff --git a/reports/claude-settings.md b/reports/claude-settings.md index 5430c8d..72b1218 100644 --- a/reports/claude-settings.md +++ b/reports/claude-settings.md @@ -1,6 +1,6 @@ # Claude Code Settings Reference -A comprehensive guide to all available configuration options in Claude Code's `settings.json` files. +A comprehensive guide to all available configuration options in Claude Code's `settings.json` files. As of February 2026, Claude Code exposes **37 settings** and **84 environment variables** (use the `"env"` field in `settings.json` to avoid wrapper scripts). @@ -51,6 +51,7 @@ Claude Code uses a 4-tier configuration hierarchy (highest to lowest priority): | Key | Type | Default | Description | |-----|------|---------|-------------| | `model` | string | `"default"` | Override default model. Accepts aliases (`sonnet`, `opus`, `haiku`) or full model IDs | +| `agent` | string | - | Set the default agent for the main conversation. Value is the agent name from `.claude/agents/`. Also available via `--agent` CLI flag | | `language` | string | `"english"` | Claude's preferred response language | | `cleanupPeriodDays` | number | `30` | Sessions inactive longer than this are deleted at startup | | `autoUpdatesChannel` | string | `"latest"` | Release channel: `"stable"` or `"latest"` | @@ -61,6 +62,7 @@ Claude Code uses a 4-tier configuration hierarchy (highest to lowest priority): ```json { "model": "opus", + "agent": "code-reviewer", "language": "japanese", "cleanupPeriodDays": 60, "autoUpdatesChannel": "stable", @@ -675,6 +677,7 @@ Set environment variables for all Claude Code sessions. ```json { "model": "sonnet", + "agent": "code-reviewer", "language": "english", "cleanupPeriodDays": 30, "autoUpdatesChannel": "stable",