refactor(rules): restructure into common + language-specific directories
* refactor(rules): restructure rules into common + language-specific directories
- Split 8 flat rule files into common/, typescript/, python/, golang/
- common/ contains language-agnostic principles (no code examples)
- typescript/ extracts TS/JS specifics (Zod, Playwright, Prettier hooks, etc.)
- python/ adds Python rules (PEP 8, pytest, black/ruff, bandit)
- golang/ adds Go rules (gofmt, table-driven tests, gosec, functional options)
- Replace deprecated ultrathink with extended thinking documentation
- Add README.md with installation guide and new-language template
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Fix installation commands for rules
Updated installation instructions to copy all rules to a single directory.
* docs: update README.md to reflect new rules directory structure
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Hor1zonZzz <Hor1zonZzz@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 21:58:06 +08:00
|
|
|
# TypeScript/JavaScript Patterns
|
|
|
|
|
|
|
|
|
|
> This file extends [common/patterns.md](../common/patterns.md) with TypeScript/JavaScript specific content.
|
Initial release: Complete Claude Code configuration collection
Battle-tested configs from 10+ months of daily Claude Code usage.
Won Anthropic x Forum Ventures hackathon building zenith.chat.
Includes:
- 9 specialized agents (planner, architect, tdd-guide, code-reviewer, etc.)
- 9 slash commands (tdd, plan, e2e, code-review, etc.)
- 8 rule files (security, coding-style, testing, git-workflow, etc.)
- 7 skills (coding-standards, backend-patterns, frontend-patterns, etc.)
- Hooks configuration (PreToolUse, PostToolUse, Stop)
- MCP server configurations (15 servers)
- Plugin/marketplace documentation
- Example configs (project CLAUDE.md, user CLAUDE.md, statusline)
Read the full guide: https://x.com/affaanmustafa/status/2012378465664745795
2026-01-17 17:49:33 -08:00
|
|
|
|
|
|
|
|
## API Response Format
|
|
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
|
interface ApiResponse<T> {
|
|
|
|
|
success: boolean
|
|
|
|
|
data?: T
|
|
|
|
|
error?: string
|
|
|
|
|
meta?: {
|
|
|
|
|
total: number
|
|
|
|
|
page: number
|
|
|
|
|
limit: number
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Custom Hooks Pattern
|
|
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
|
export function useDebounce<T>(value: T, delay: number): T {
|
|
|
|
|
const [debouncedValue, setDebouncedValue] = useState<T>(value)
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const handler = setTimeout(() => setDebouncedValue(value), delay)
|
|
|
|
|
return () => clearTimeout(handler)
|
|
|
|
|
}, [value, delay])
|
|
|
|
|
|
|
|
|
|
return debouncedValue
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Repository Pattern
|
|
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
|
interface Repository<T> {
|
|
|
|
|
findAll(filters?: Filters): Promise<T[]>
|
|
|
|
|
findById(id: string): Promise<T | null>
|
|
|
|
|
create(data: CreateDto): Promise<T>
|
|
|
|
|
update(id: string, data: UpdateDto): Promise<T>
|
|
|
|
|
delete(id: string): Promise<void>
|
|
|
|
|
}
|
|
|
|
|
```
|