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.
- **[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 dangerouslyskip--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 |
@@ -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)
<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 `\`)
- **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.
![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.
![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.
![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/**)`.
![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.
![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`.
![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.
![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.
![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](../!/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
- **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.
![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 |
| `/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 |
+4 -1
View File
@@ -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).
<table width="100%">
<tr>
@@ -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",