Mined the egirl->cocotte lineage + the prose agentic configs. Per-language standards (py/rust/gd) and general conventions: service_architecture, multi_agent_workflow, error_handling_logging, mcp_server_patterns, naming_conventions, tenancy_patterns (draft), database_patterns. Captures the canonical/latest where versions diverged. 14/14 lint:yaml-valid. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
1.3 KiB
YAML
25 lines
1.3 KiB
YAML
apiVersion: conventions/v1
|
|
version: 0.1.0
|
|
updated: "2026-06-29"
|
|
name: naming_conventions
|
|
title: Naming — provider-generic code, instance-specific domains
|
|
scope: general
|
|
status: active
|
|
summary: Code/packages are provider-generic; only deployed domains/instances are provider-specific (quinn.*). Snake_case slugs/IDs/DB fields. V4 canonical (supersedes v2 quinn-* package names).
|
|
appliesTo: ["@applications/*", "@projects/*"]
|
|
rules:
|
|
- id: provider_generic_code
|
|
level: must
|
|
text: "Package/module names are provider-generic (provider-portal, messenger, prospector) — no `quinn-*` in new code. Quinn is an instance, not the codebase."
|
|
- id: instance_domains
|
|
level: must
|
|
text: "Instance-specific names appear only in deployed domains: quinn.api / quinn.my / quinn.ai; other providers get {provider}.*."
|
|
- id: brand_shared
|
|
level: should
|
|
text: "Shared/platform infra uses the brand domain (sso.cocotte.io, platform.admin, beacon.cocotte.io)."
|
|
- id: snake_identifiers
|
|
level: must
|
|
text: "snake_case for slugs, IDs, and DB fields (org_id, user_id, slug: transquinnftw)."
|
|
- id: lang_naming
|
|
level: should
|
|
text: "Per-language casing per that language's convention (TS PascalCase types / camelCase vals / kebab files; Py snake; etc.). See programming_<lang>."
|