Files
everything-claude-code/rules/README.md
Mark L 33186f1a93 fix: preserve directory structure in installation to prevent file overwrites (#169)
Fix installation instructions that caused file overwrites. Adds install.sh script and preserves directory structure. Fixes #164.
2026-02-08 16:12:05 -08:00

3.0 KiB

Rules

Structure

Rules are organized into a common layer plus language-specific directories:

rules/
├── common/          # Language-agnostic principles (always install)
│   ├── coding-style.md
│   ├── git-workflow.md
│   ├── testing.md
│   ├── performance.md
│   ├── patterns.md
│   ├── hooks.md
│   ├── agents.md
│   └── security.md
├── typescript/      # TypeScript/JavaScript specific
├── python/          # Python specific
└── golang/          # Go specific
  • common/ contains universal principles — no language-specific code examples.
  • Language directories extend the common rules with framework-specific patterns, tools, and code examples. Each file references its common counterpart.

Installation

# Install common + one or more language-specific rule sets
./install.sh typescript
./install.sh python
./install.sh golang

# Install multiple languages at once
./install.sh typescript python

Option 2: Manual Installation

Important: Copy entire directories — do NOT flatten with /*. Common and language-specific directories contain files with the same names. Flattening them into one directory causes language-specific files to overwrite common rules, and breaks the relative ../common/ references used by language-specific files.

# Install common rules (required for all projects)
cp -r rules/common ~/.claude/rules/common

# Install language-specific rules based on your project's tech stack
cp -r rules/typescript ~/.claude/rules/typescript
cp -r rules/python ~/.claude/rules/python
cp -r rules/golang ~/.claude/rules/golang

# Attention ! ! ! Configure according to your actual project requirements; the configuration here is for reference only.

Rules vs Skills

  • Rules define standards, conventions, and checklists that apply broadly (e.g., "80% test coverage", "no hardcoded secrets").
  • Skills (skills/ directory) provide deep, actionable reference material for specific tasks (e.g., python-patterns, golang-testing).

Language-specific rule files reference relevant skills where appropriate. Rules tell you what to do; skills tell you how to do it.

Adding a New Language

To add support for a new language (e.g., rust/):

  1. Create a rules/rust/ directory
  2. Add files that extend the common rules:
    • coding-style.md — formatting tools, idioms, error handling patterns
    • testing.md — test framework, coverage tools, test organization
    • patterns.md — language-specific design patterns
    • hooks.md — PostToolUse hooks for formatters, linters, type checkers
    • security.md — secret management, security scanning tools
  3. Each file should start with:
    > This file extends [common/xxx.md](../common/xxx.md) with <Language> specific content.
    
  4. Reference existing skills if available, or create new ones under skills/.