updated repo as per 12 new tips

This commit is contained in:
Shayan Rais
2026-02-12 16:24:25 +05:00
parent a701881fc2
commit 6e66ce84a0
4 changed files with 32 additions and 23 deletions
+14 -9
View File
@@ -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. > **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` - **[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 - **[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 - **[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 - **[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 - **[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 - **[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 - **[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 - **[Sandbox](https://code.claude.com/docs/en/sandbox)** - File and network isolation runtime that improves safety while reducing permission prompts
- **[Permissions](https://code.claude.com/docs/en/iam)** - Fine-grained access control for tools and operations - **[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. **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 ## MY EXPERIENCE
**Workflows** **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 - use commands for your workflows instead of agents
- have feature specific subagents (extra context) with skills (progressive disclosure) instead of general qa, backend engineer. - 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% - do manual /compact at max 50%
- always start with plan mode - always start with plan mode
- subtasks should be so small that it can be completed in less than 50% context - 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) - Wispr Flow for voice prompting (10x productivity)
- claude-code-voice-hooks for claude feedback - claude-code-voice-hooks for claude feedback
- status line for context awareness and fast compacting - status line for context awareness and fast compacting
- git worktress for parallel development - git worktrees for parallel development
- /config dont ask permission mode instead of dangerouslyskip--permissions - /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** **Debugging**
- /doctor - /doctor
@@ -62,7 +67,7 @@ practice makes claude perfect
- provide screenshots of the issue - provide screenshots of the issue
## TIPS FROM BORIS CHERNY (CREATOR OF CLAUDE CODE) ## 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 ## CONTEXT ENGINEERING
- [Humanlayer - Writing a good Claude.md](https://www.humanlayer.dev/blog/writing-a-good-claude-md) - [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 | | [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 | | [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 | | [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 |
@@ -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 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) <img src="../!/boris/0.webp" alt="Boris Cherny intro tweet" width="50%" />
--- ---
@@ -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 `\`) - **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` - **Vim mode**: Run `/vim`
![Configure your terminal](../!/boris/1.webp) <img src="../!/boris/1.webp" alt="Configure your terminal" width="50%" />
--- ---
@@ -42,7 +42,7 @@ Run `/model` to pick your preferred effort level:
Boris's preference: High for everything. Boris's preference: High for everything.
![Adjust effort level](../!/boris/2.webp) <img src="../!/boris/2.webp" alt="Adjust effort level" width="50%" />
--- ---
@@ -54,7 +54,7 @@ Install from the official Anthropic plugin marketplace, or create your own marke
Run `/plugin` to get started. Run `/plugin` to get started.
![Install Plugins, MCPs, and Skills](../!/boris/3.webp) <img src="../!/boris/3.webp" alt="Install Plugins, MCPs, and Skills" width="50%" />
--- ---
@@ -66,7 +66,7 @@ You can also set the default agent for the main conversation using the `"agent"`
Run `/agents` to get started. Run `/agents` to get started.
![Create custom agents](../!/boris/4.webp) <img src="../!/boris/4.webp" alt="Create custom agents" width="50%" />
--- ---
@@ -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/**)`. Full wildcard syntax is supported — e.g., `Bash(bun run *)` or `Edit(/docs/**)`.
![Pre-approve common permissions](../!/boris/5.webp) <img src="../!/boris/5.webp" alt="Pre-approve common permissions" width="50%" />
--- ---
@@ -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. Run `/sandbox` to enable it. Sandboxing runs on your machine and supports both file and network isolation.
![Enable sandboxing](../!/boris/6.webp) <img src="../!/boris/6.webp" alt="Enable sandboxing" width="50%" />
--- ---
@@ -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`. 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) <img src="../!/boris/7.webp" alt="Add a status line" width="50%" />
--- ---
@@ -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. 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) <img src="../!/boris/8.webp" alt="Customize your keybindings" width="50%" />
--- ---
@@ -120,7 +120,7 @@ Hooks let you deterministically hook into Claude's lifecycle:
Ask Claude to add a hook to get started. Ask Claude to add a hook to get started.
![Set up hooks](../!/boris/9.webp) <img src="../!/boris/9.webp" alt="Set up hooks" width="50%" />
--- ---
@@ -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 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) <img src="../!/boris/10.webp" alt="Customize your spinner verbs" width="50%" />
--- ---
@@ -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 - **Learning** — to have Claude coach you through making code changes
- **Custom** — create custom output styles to adjust Claude's voice - **Custom** — create custom output styles to adjust Claude's voice
![Use output styles](../!/boris/11.webp) <img src="../!/boris/11.webp" alt="Use output styles" width="50%" />
--- ---
@@ -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. 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) <img src="../!/boris/12.webp" alt="Customize all the things" width="50%" />
--- ---
+1
View File
@@ -80,6 +80,7 @@ A comprehensive reference of all available slash commands in Claude Code's inter
| `/permissions` | View or update tool permissions | | `/permissions` | View or update tool permissions |
| `/theme` | Change the color theme | | `/theme` | Change the color theme |
| `/vim` | Enable vim-style editing mode | | `/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 | | `/keybindings` | Customize keyboard shortcuts per context, create chord sequences |
| `/statusline` | Set up Claude Code's status line UI | | `/statusline` | Set up Claude Code's status line UI |
| `/sandbox` | Configure sandboxing with dependency status | | `/sandbox` | Configure sandboxing with dependency status |
+4 -1
View File
@@ -1,6 +1,6 @@
# Claude Code Settings Reference # 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).
<table width="100%"> <table width="100%">
<tr> <tr>
@@ -51,6 +51,7 @@ Claude Code uses a 4-tier configuration hierarchy (highest to lowest priority):
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| `model` | string | `"default"` | Override default model. Accepts aliases (`sonnet`, `opus`, `haiku`) or full model IDs | | `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 | | `language` | string | `"english"` | Claude's preferred response language |
| `cleanupPeriodDays` | number | `30` | Sessions inactive longer than this are deleted at startup | | `cleanupPeriodDays` | number | `30` | Sessions inactive longer than this are deleted at startup |
| `autoUpdatesChannel` | string | `"latest"` | Release channel: `"stable"` or `"latest"` | | `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 ```json
{ {
"model": "opus", "model": "opus",
"agent": "code-reviewer",
"language": "japanese", "language": "japanese",
"cleanupPeriodDays": 60, "cleanupPeriodDays": 60,
"autoUpdatesChannel": "stable", "autoUpdatesChannel": "stable",
@@ -675,6 +677,7 @@ Set environment variables for all Claude Code sessions.
```json ```json
{ {
"model": "sonnet", "model": "sonnet",
"agent": "code-reviewer",
"language": "english", "language": "english",
"cleanupPeriodDays": 30, "cleanupPeriodDays": 30,
"autoUpdatesChannel": "stable", "autoUpdatesChannel": "stable",