a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky
atproto bluesky typescript npm
101
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: update CLAUDE.md

Mary 2670637e c64e83b7

+16 -12
+16 -12
CLAUDE.md
··· 37 37 38 38 - new files should be in kebab-case 39 39 - use tabs for indentation, spaces allowed for diagrams in comments 40 - - use single quotes and add trailing commas 40 + - use single quotes for strings; use template literals for localization strings (user-facing 41 + strings, error messages) 42 + - add trailing commas 41 43 - prefer arrow functions, but use regular methods in classes unless arrow functions are necessary 42 44 (e.g., when passing the method as a callback that needs `this` binding) 43 45 - use braces for control statements, even single-line bodies 44 46 - use bare blocks `{ }` to group related code and limit variable scope 45 - - use template literals for user-facing strings and error messages 47 + - avoid barrel exports (index files that re-export from other modules); import directly from source 46 48 - use `// #region <name>` and `// #endregion` to denote regions when a file needs to contain a lot 47 49 of code 50 + - a parameter should be optional only when callers genuinely split between passing a value and 51 + relying on the default; if every caller passes a value, make it required; if no caller would ever 52 + change it, it should not be a parameter at all 53 + - avoid optional parameters that change behavioral modes or make the function do different things 54 + based on presence/absence; prefer a separate function with a clearer name instead 48 55 49 56 ### documentation 50 57 51 - - documentations include README, code comments, commit messages, changesets 52 - - any writing should be in lowercase, except for proper nouns, acronyms and 'I' 58 + - documentations include README, code comments, commit messages 59 + - any writing should be in lowercase, except for proper nouns, acronyms and 'I'; this does not apply 60 + to public-facing interfaces like web UI 53 61 - only comment non-trivial code, focusing on _why_ rather than _what_ 54 62 - write comments and JSDoc in lowercase (except proper nouns, acronyms, and 'I') 55 63 - add JSDoc comments to new publicly exported functions, methods, classes, fields, and enums ··· 59 67 - use `@throws` for exceptions when applicable 60 68 - keep descriptions concise but informative 61 69 62 - ### testing 63 - 64 - - Vitest is the standard test runner, though some packages may still be using bun test 65 - - run tests via `pnpm run test` 66 - 67 - ### working style 70 + ### agentic coding 68 71 69 72 - `.research/` directory in the project root serves as a workspace for temporary experiments, 70 73 analysis, and planning materials. create if not present (it's gitignored). this directory may ··· 80 83 81 84 ### Claude Code-specific 82 85 83 - - Task tool (subagents for exploration, planning, etc.) may not always be accurate; verify subagent 84 - findings when needed 86 + - Explore subagent may not be accurate; verify findings as needed 87 + - never spawn subagents to read and return file contents; read files directly in the main context. 88 + subagents should perform searches or answer specific questions, not act as file I/O proxies 85 89 86 90 ### external repository research 87 91