- Add 60 new agents across all 10 categories (75 -> 135) - Add 95 new plugins with command files (25 -> 120) - Update all agents to use model: opus - Update README with complete plugin/agent tables - Update marketplace.json with all 120 plugins
3.0 KiB
3.0 KiB
Naming Conventions
General Principles
- Names should describe what something is or does, not how it works.
- Use domain-specific terminology from the project glossary.
- Avoid abbreviations unless universally understood:
id,url,db,configare fine.usr,mgr,procare not. - Be consistent. If the codebase uses
remove, do not introducedeletefor the same concept. - Longer names for larger scopes. Single letters only for loop counters and lambdas.
JavaScript / TypeScript
- Variables and functions:
camelCase(getUserById,isActive,orderCount). - Classes and type aliases:
PascalCase(UserService,OrderStatus,ApiResponse). - Constants:
UPPER_SNAKE_CASEfor true constants (MAX_RETRIES,DEFAULT_TIMEOUT). - Enums:
PascalCasefor name,PascalCasefor members (enum OrderStatus { Pending, Shipped }). - Booleans: prefix with
is,has,can,should(isEnabled,hasAccess,canEdit). - Event handlers: prefix with
onorhandle(onClick,handleSubmit). - Files:
kebab-case.tsfor modules,PascalCase.tsxfor React components.
Python
- Variables and functions:
snake_case(get_user_by_id,is_active,order_count). - Classes:
PascalCase(UserService,OrderRepository). - Constants:
UPPER_SNAKE_CASE(MAX_RETRIES,DEFAULT_TIMEOUT). - Private members: single underscore prefix (
_internal_cache,_validate_input). - Dunder methods: double underscore (
__init__,__repr__,__eq__). - Modules and packages:
snake_case(user_service.py,data_access/). - Type variables:
PascalCasewithTsuffix convention (ItemT,ResponseT).
Go
- Exported identifiers:
PascalCase(GetUserByID,OrderService,MaxRetries). - Unexported identifiers:
camelCase(getUserByID,orderService,maxRetries). - Interfaces: describe behavior, often ending in
-er(Reader,Closer,UserRepository). - Packages: short, lowercase, single word (
auth,db,handler). No underscores or hyphens. - Acronyms: all caps when at the start or alone (
ID,URL,HTTP), otherwiseId,Url. - Receivers: one or two letter abbreviation of the type (
func (s *Server) Start()).
Rust
- Variables and functions:
snake_case(get_user_by_id,is_active). - Types, traits, and enums:
PascalCase(UserService,Serialize,OrderStatus). - Constants and statics:
UPPER_SNAKE_CASE(MAX_RETRIES,DEFAULT_PORT). - Modules:
snake_case(user_service,data_access). - Lifetimes: short lowercase (
'a,'ctx,'de). - Crate names:
kebab-casein Cargo.toml,snake_casein code (my-cratebecomesmy_crate).
Database
- Tables:
snake_case, plural (users,order_items,payment_methods). - Columns:
snake_case, singular (user_id,created_at,is_active). - Primary keys:
idin the owning table. - Foreign keys:
<singular_table>_id(user_id,order_id). - Indexes:
idx_<table>_<columns>(idx_orders_user_id,idx_users_email). - Migrations:
<timestamp>_<description>(20260115_add_orders_status_column).