Skip to content

Conventions Naming Standards

Cengiz Ilerler edited this page Jul 10, 2026 · 12 revisions

Opinionated Role-Based Access Control (RBAC) Naming Convention

[Role].[Environment]@mycompany.local

Opinionated Message Queue Naming Convention

Component Naming Pattern Dead Letter Suffix
Exchange [myApp].[myModule].exchange .dlx
Routing Key [myApp].[myModule].[myEvent/myAction]
Queue [myApp].[myModule].[myConsumer].[myEvent/myAction].queue .dlq

Opinionated Artifact Naming Convention

Given the project name Company.Project.Descriptor.csproj, here are the recommended naming patterns for each artifact:

Artifact Naming Pattern Notes
NuGet Package Name Company.Project.Descriptor
Docker Image Name company-project-descriptor Replace each . with -
URL Public https://descriptor.project.environment.company.app
URL Private https://descriptor.project.environment.company.internal
URL Private (dev) https://descriptor.project.environment.company.local
URL Private K8S (dev) https://descriptor.project.environment.svc.cluster.local
URL Private K8S https://descriptor.project.environment.svc.cluster.internal

Optionated Test Project Naming Convention

{Project}.{TestType}.Tests

Opinionated Default Repository Naming Convention

myproduct-domain

meta : Centralized tracking for bugs, feature requests, milestones, and project initiatives across all related repositories.

dev-toolkit : Local development toolkit including environment setup, scripts, and supporting resources.

host : Core backend handling API endpoints, background event processing, migrations, and scheduled tasks.

portal : User-facing web app for managing accounts and services.

gateway : Reverse proxy handling TLS termination, traffic routing, and webhook ingestion.

e2e : Automated end-to-end tests covering critical product workflows across frontend and backend components.

Opinionated Folder Structures

.NET Solution

solution-structure skill.

Workspace

[!CAUTION] Do not use AI on the /local/archives, /local/_git-bare, and /local/docs folders. They probably contain sensitive, private information that must not be processed or shared with any AI models.

/Source                                     // Root directory located at %USERPROFILE%\Source
  /local                                    // Local and machine-specific files
    /!nuget                                 // Private offline NuGet packages
    /archives                              // Repository backups (settings, tool data, user secrets)
      /_temp                                // Temporary extraction folder for packed backups (should not be visible unless an error occurs)
      /local__git-bare_UserSecrets.$timestamp.bundle                   // Bundled user secrets repository
      /local__git-bare_local_knowledgebase_personal.$timestamp.bundle  // Bundled knowledgebase repository
      /local__git-bare_local_docs_personal.$timestamp.bundle           // Bundled local notes repository
      /local_sandbox_$pocName1.bundle                                  // Bundled sandbox repository for PoC 1
      /local_sandbox_$pocName2.bundle                                  // Bundled sandbox repository for PoC 2
      /github_$user_$repository.bundle                                 // Bundled GitHub repository
      /vsts_$organization_$repository.bundle                           // Bundled Azure DevOps repository
      /vsts_$organization_DefaultCollection_$repository.zip            // Zipped Azure DevOps repository
      /assembla_$organization_$repository.zip                          // Zipped Assembla repository
      /bitbucket_$organization_$repository.bundle                      // Bundled BitBucket repository
    /_git-bare
      /local
        /knowledgebase                      // Bare repository for knowledgebase
        /docs
          /personal                         // Bare repository for personal notes
          /...
      /UserSecrets                          // Bare repository for user secrets
    /sandbox                                // Experimental code and Proof-of-Concepts (PoCs)
    /knowledgebase                          // Knowledgebase organized by unit
      /personal                             // personal knowledgebase
        .editorconfig                       // Editor configuration for coding style
        .gitignore                          // Git ignore patterns for this repository
        .gitattribute                       // Git attributes configuration

        /home
          /trash                            // Staging area for files pending deletion
          /dump                             // Unsorted notes requiring classification or relocation
          /temp                             // Temporary scratch files with limited lifespan
          /private                          // Private notes, not for external distribution
            /<private subject 1>
          /public                           // Snippets suitable for sharing
            /<public subject 1>
          /global                           // Snippets relevant across multiple units
            /dev                            // General development-related snippets
              /powershell
                README.md                   // Markdown-formatted code snippets
                ...
              /...
              /notebook
                README.md                   // Markdown-formatted code snippets
                .env                        // Environment variables for notebook execution
                sample.dib                  // Example polyglot notebook (.dib)
                sample.ipynb                // Example Jupyter notebook (.ipynb)
              /...
            /...
          /...

    /docs
      /personal                             // Personal notes repository
        .editorconfig                       // Editor configuration for coding style
        .gitignore                          // Git ignore patterns for this repository
        .gitattribute                       // Git attributes configuration
        /.vscode                            // Visual Studio Code workspace settings
        /.workspaces                        // Visual Studio Code multi-root workspace definitions

        /home
          /trash                            // Staging area for files pending deletion
          /dump                             // Unsorted notes requiring classification or relocation
          /temp                             // Temporary scratch files with limited lifespan
          /private                          // Private notes, not for external distribution
            /<private subject 1>
          /public                           // Notes suitable for sharing
            /<public subject 1>
          /global                           // Notes relevant across multiple units
            Diary.md                        // Daily work log or journal
            /dev                            // General development-related notes
              Scratchpad.md                 // Quick code experiments and scratchpad
              /tickets                      // Notes specific to support tickets
                /<ticket1>
                  00-ActionPlan.md                                     // Summary of objectives, scope, and sequence of actions
                  01-ValidationChecklist.md                            // Validations to confirm expected outcomes
                  02-RollbackInstructions.md                           // Fallback steps in case execution needs to be reverted

                  11-PepareEnvironment.ps1                             // Pre-task infra adjustments (e.g., scale down services)
                  12-PreChecks.md                                      // Verify pre-conditions (schema state, data quality)
                  13-Step1_TransformData.cs                            // First logical unit of data manipulation or migration
                  14-Step2.1_ModifySchemaForX.sql                      // Schema or structural changes (e.g., indexes, tables) for reason X
                  15-Step2.2_ModifySchemaForY.sql                      // Schema or structural changes (e.g., indexes, tables) for reason Y
                  16-Step3_TransformData.cs                            // Second logical unit of data manipulation or migration
                  17-Cleanup.md                                        // Post-processing cleanup (temporary tables, flags, etc.)
                  18-RestoreEnvironment.ps1                            // Infra restoration steps (e.g., scale up services again)
                  // ...

                  99-ExecutionSummary.md                               // Notes, logs, and summary from the task execution
                /...
              /projects                     // Notes specific to ongoing projects
                /<project1>
                /...
              /repositories                 // Notes specific to code repositories
                /<repo1>
                /...
              /middleware                   // Middleware, integration scripts, and helper utilities
                /certificates               // Certificates, keys, and security credentials
                /...
            /...
      /...

  /github
    /<username>                             // User-specific GitHub repositories
      /<repository>                         // Specific repository directory
    /dotnet                                 // Repositories related to .NET
      /dotnet-architecture                  // Repository for .NET architecture resources
    /OData                                  // Repositories related to OData
      /RESTier                              // Repository for the RESTier project
    /...

  /vsts                                     // Azure DevOps (formerly VSTS) repositories
    /<organization>                         // Azure DevOps organization
      /<repository>                         // Specific repository directory
    /...

  /...
Company Taxonomy
MyCompany/
├── Administration/
|   ├── Finance/
|   │   ├── BankCorrespondence/
|   │   │   ├── CitiBusiness/
|   │   │   │   └── 20251001_account-inactivity-notice_XXXX1234.pdf
|   │   │   └── Chase/
|   │   │   │   ├── 20231214_offer.pdf
|   │   │   │   └── 20231231_notice.pdf
|   │   ├── BankStatements/
|   │   │   ├── BankOfAmerica/
|   │   │   │   ├── 202312_statement.pdf
|   │   │   │   └── 202401_statement.pdf
|   │   │   └── Chase/
|   │   │   │   ├── 202312_statement.pdf
|   │   │   │   └── 202401_statement.pdf
|   │   ├── CreditCards/
|   │   │   ├── Amex_XXXX/
|   │   │   │   ├── 202312_statement.pdf
|   │   │   │   └── 202401_statement.pdf
|   │   │   └── Chase/
|   │   │   │   ├── 202312_statement.pdf
|   │   │   │   └── 202401_statement.pdf
|   │   ├── DebtAndFinancing/
|   │   │   └── BankOfAmerica_LineOfCredit_XXXX/
|   │   │       ├── loan_agreement_2025-02-11.pdf
|   │   │       ├── amortization_schedule.xlsx
|   │   │       └── Payments/
|   │   │           └── 2025/
|   │   │               └── 2025-10-01_payment_confirmation.pdf
|   │   ├── ShareholderTransactions/
|   │   │   ├── Distributions/
|   │   │   └── OwnerLoanRepayaments/
|   │   │       ├── promissory-note_2024-01-10.pdf
|   │   │       └── 2025/
|   │   │           └── 2025-10-02_loan-repayment_confirmation.pdf
|   │   ├── Taxes/
|   │   │   ├── 2023/
|   │   │   └── 2024/
|   │   ├── Payroll/
|   │   │   ├── 2023/
|   │   │   └── 2024/
|   │   ├── Expenses/
|   │   │   ├── Reports/
|   │   │   ├── Receipts/
|   │   │   ├── VendorInvoices/
|   │   │   └── ContractorInvoices/   (shortcuts to contractor folders)
|   │   ├── Invoices/
|   │   │   ├── ClientInvoices/       (shortcuts to client folders)
|   │   ├── Accounting/
|   │   |   ├── QuickBooksExports/
|   │   |   └── YearEndReports/
|   │   └── Treasury/
|   │       ├── BankAccounts/
|   │       │   └── Citi_Business_Checking_XXXX1234/
|   │       │       ├── account_info_form.pdf
|   │       │       └── voided_check.png
|   │       ├── CreditCards/
|   │       │   └── Chase_Business_XXXX5678/
|   │       │       ├── scan_front.jpg
|   │       │       └── scan_back_redacted_cvv.jpg
|   │       └── DebitCards/
|   │           └── Citi_Business_Debit_XXXX9876/
|   │               ├── scan_front.jpg
|   │               └── scan_back_redacted_cvv.jpg
|   |   
|   ├── Legal/
|   |   ├── ArticlesOfIncorporation/          # Filed with FL Division of Corporations
|   |   ├── Bylaws/                           # Current and historical versions
|   |   ├── ShareholderAgreement/             # Buy-sell, drag-along, etc.
|   |   ├── BoardMinutes_Resolutions/         # Minutes, written consents, notices, waivers
|   |   ├── StockLedger/                      # CSV/XLS showing holders and share counts
|   |   ├── StockCertificates/                # PDFs of signed certs (or DRS statements)
|   |   ├── EquityPlans_OptionGrants/         # 409A, option agreements, SAFE/NOTE docs
|   |   ├── SCorp_Election/                   # Form 2553 and IRS acceptance letter
|   |   ├── AnnualReports_StateFilings/       # FL annual reports, amendments, foreign quals
|   |   |   └── 2025_FL_annual-report_payment-receipt.pdf
|   |   ├── Licenses/                         # State, county, professional, reseller
|   |   │   ├── 2025_Palm-Beach-County_business-tax-receipt.pdf
|   |   │   └── 2025_Boca-Raton_business-license-renewal.pdf
|   |   ├── GovernmentCorrespondence/         # Official, non-tax correspondence with government agencies (IRS, State, City)
|   |   |   ├── 20251002_IRS_address-change-confirmation.pdf
|   |   |   └── 20250925_FL-Dept-of-State_address-change_filed.pdf
|   |   ├── GoodStandingCertificates/         # Florida and any other states
|   |   ├── Contracts_IP/                     # IP assignment, SaaS terms, MSA templates
|   |   ├── Trademarks_Patents/               # USPTO filings, office actions
|   |   ├── Compliance/                       # SOC 2, PCI, data-processing addenda, BOI*
|   |   ├── NDAs/                             # One-off NDAs that don’t belong in Clients/
|   |   ├── Insurance/                        # GL, E&O, cyber, workers comp, D&O
|   |   └── RegisteredAgent/                  # Service-of-process contract and renewals
|   |   
|   └── HumanResources/
|       ├── EmployeeRecords/                  # split into Active/Former or use year folders
|       │   ├── TaxForms/                     # W-4s, 1099s, I-9s with IDs kept separate
|       │   ├── PerformanceReviews/           #
|       │   ├── CompensationLetters/          # offer letters, merit increases, equity grants
|       │   └── Terminations/                 # exit checklist, COBRA notices, release forms
|       ├── PoliciesAndProcedures/            # already present
|       ├── Benefits/                         # plan docs, enrollments, ACA 1095s
|       ├── TimeOff_Leave/                    # PTO requests, FMLA, parental-leave paperwork
|       ├── Compliance/                       # EEOC logs, OSHA 300, harassment training certs
|       ├── TrainingOnboarding/               #
|       │   ├── EmployeeOnboarding/           #
|       │   ├── ContractorTraining/           #
|       │   └── ContinuousEducation/          #
|       ├── JobDescriptions/                  # current postings and baseline role profiles
|       ├── BackgroundChecks/                 # reports and consent forms (lock this down)
|       └── Hiring/                           # 
|           ├── Requisitions/                 # approved headcount authorizations
|           └── Candidates/                   # resumes, interview notes, decision sheets
|
├── Internal/
│   ├── ToolsAndAccess/
│   ├── Templates/
│   ├── Strategy/
|   |   ├── CompanyVision.md
|   |   ├── AnnualObjectives_2025.md
|   |   ├── ProductRoadmap_Q3_2025.md
|   |   ├── CompetitiveLandscape_2025.md
|   |   ├── SWOT_2025.md
|   |   ├── PricingStrategy.md
|   |   ├── Go-to-market_Playbook.md
|   |   ├── GrowthExperiments.md
|   |   └── RiskRegister.md
|   └── SOPs/
|       ├── Business/
|       │   ├── NewClient_Onboarding.md
|       │   ├── Contractor_Engagement.md
|       │   └── Invoice_Issue_Resolution.md
|       ├── Admin/
|       |   ├── Payroll_Run.md
|       |   ├── Quarterly_Tax_Filing.md
|       |   └── Expense_Approval_Flow.md
|       ├── IncidentResponse/
|       │   ├── SeverityLevels.md
|       │   ├── OnCall_Handoff.md
|       │   └── Postmortem_Template.md
|       ├── Engineering/
|       │   ├── CodeReview.md
|       │   ├── BranchStrategy.md
|       │   ├── ReleaseChecklist.md
|       │   ├── HotfixProcedure.md
|       │   └── ADR_Template.md
|       └── DevOps/
|           ├── KubernetesRollback.md
|           └── Observability_Setup.md

├── Marketing/
|   ├── WebsiteAssets/           # stays
|   │   ├── Copy/                # markdown drafts
|   │   ├── Images/              # optimized JPG/PNG, no PSD
|   │   ├── Wireframes/          # Figma exports, mock-ups
|   │   └── Builds/              # zipped static site snapshots
|   ├── SocialMedia/
|   │   ├── Calendar/            # posting schedule CSVs
|   │   ├── Creative/            # Canva, PSD, video source
|   │   └── PerformanceReports/  # monthly PDF exports from Meta, X, LinkedIn
|   ├── Branding/
|   │   ├── Logo/                # SVG, PNG, EPS
|   │   ├── BrandGuidelines.pdf  # the master doc
|   │   ├── Colors_Typography/
|   │   └── Templates/           # letterhead, business cards
|   ├── Campaigns/               # one subfolder per campaign
|   │   └── 2025-Q3-Launch/
|   │       ├── Brief.md
|   │       ├── Assets/
|   │       ├── AdSets/          # raw Ad Manager exports
|   │       └── Results/         # post-mortem deck, ROAS spreadsheet
|   ├── Content/                 # long-form top-of-funnel
|   │   ├── BlogPosts/
|   │   ├── Whitepapers/
|   │   ├── Webinars/
|   │   └── Scripts/
|   ├── EmailMarketing/
|   │   ├── DripSeries/
|   │   ├── Newsletters/
|   │   └── PerformanceReports/
|   ├── Ads/                     # paid media that is not part of a big campaign
|   │   ├── GoogleAds/
|   │   ├── LinkedInAds/
|   │   └── MetaAds/
|   ├── Events/                  # conferences, webinars, community meetups
|   │   └── 2025-SaaS-Expo/
|   ├── CaseStudies/             
|   ├── Collateral/              # one-pagers, data sheets, pitch decks
|   ├── PR/
|   │   ├── PressReleases/
|   │   ├── MediaMentions/
|   │   └── AnalystRelations/
|   └── Analytics_Reports/       # GA4, HubSpot, Amplitude exports
|
├── Clients/
|   └── acme-co/                                 # lowercase, hyphenated, no spaces
│   |   ├── Proposals/
|   |   ├── Agreements/
|   |   │   ├── msa_2024-01-15.pdf               # master services agreement
|   |   │   ├── sow_2024-03-01_search-module.pdf # statement of work
|   |   │   └── nda_2023-12-20.pdf               # non-disclosure agreement
|   |   ├── Invoices/
|   |   │   ├── ClientMemos/
|   |   │   │   └── 2025-06-18_cm_000349.pdf
|   |   │   ├── 2025/
|   |   │   │   └── 2025-06-15_inv_000345.pdf
|   |   │   └── 2024/
|   |   ├── Payments/                            # remittance advice, wire confirmations
|   |   ├── Projects/
|   |   │   ├── search-module/                   # one subfolder per project
|   |   │   │   ├── kickoff-notes.md
|   |   │   │   ├── deliverables/
|   |   │   │   ├── demos/
|   |   │   │   └── change-orders/
|   |   │   └── 2025-retainer/
|   |   └── Communication/                       # email threads, call recordings, Slack exports
│   └── [ClientName2]/
│       ├── Proposals/
│       ├── Agreements/
│       ├── Invoices/
│       ├── Payments/
│       ├── Projects/
│       └── Communication/
|
├── Contractors/
│   ├── [ContractorName1]/
│   │   ├── contracts/
│   │   │   ├── sia_2024-02-10.pdf      # services or independent contractor agreement
│   │   │   ├── nda_2024-02-01.pdf  # non-disclosure agreement
│   │   │   └── ip_assignment.pdf # intellectual property assignment
│   │   ├── onboarding/
│   │   │   ├── w9_2024.pdf
│   │   │   ├── security-training-cert.pdf
│   │   │   └── preferred-name-acknowledgment.pdf
│   │   ├── offboarding/
│   │   │   └── return-of-property-cert.pdf
│   │   ├── statements-of-work/
│   │   │   └── sow_2024-03-15_dashboard-rewrite.pdf
|   |   ├── timesheets/
|   |   │   └── 2025/
|   |   │       └── 2025-06-14_timesheet.pdf
|   |   ├── invoices/
|   |   │   └── 2025/
|   |   │       └── 2025-06-15_invoice_1023.pdf
|   |   ├── payments/                  # remittance proofs just like clients
|   |   └── deliverables/              # final code drops if not in Git
│   └── [ContractorName2]/
|       └── ...
|
└── Sales/
    ├── Decks/                 # customer-facing slides
    ├── Playbooks_Scripts/     # talk tracks, discovery questions
    ├── Templates/             # blank quote, proposal, SOW docs
    ├── ProspectLists/         # cold lists (lock down PII)
    ├── LeadManagement/        # MQL intake rules, scoring docs
    ├── Quotes_Proposals/
    │   ├── 2025/
    │   └── 2024/
    ├── Contracts_Orders/
    │   ├── 2025/
    │   └── 2024/
    ├── Pipeline_Forecasts/
    │   ├── Weekly/            # 2025-06-13_pipeline.xlsx
    │   └── QBRs/              # Q2-2025_forecast.pptx
    ├── Comp_Territory/
    │   ├── CommissionPlans/
    │   └── TerritoryMaps/
    └── CRMExports/            # raw HubSpot/Salesforce dumps

Opinionated Email Alias Reference Sheet

Enforce SPF, DKIM, DMARC at p=quarantine or p=reject once you are comfortable with reports landing in dmarc@. If you keep devnull@, make sure it truly black-holes mail and is not listed as a reply-to address anywhere.

Email Aliases

| Email Group                    | Purpose / Use Case                                  | Audience                   |
| ------------------------------ | --------------------------------------------------- | -------------------------- |
| abuse@                         | Spam or abuse reports, required by RFC 2142         | External (mail admins)     |
| admin@                         | IT, system administration, internal tools           | Internal                   |
| alerts@                        | Monitoring and on-call alert sink                   | Internal                   |
| all@                           | Announcements to entire company                     | Internal                   |
| billing@                       | Invoices, payments, financial questions             | Clients / Vendors          |
| bugbounty@ / security-reports@ | Bug-bounty and security research submissions        | External researchers       |
| careers@ / jobs@               | Job applications and recruiting                     | Applicants                 |
| dmarc@                         | Destination for DMARC aggregate reports             | Automated report providers |
| devnull@                       | Black hole for ignored or unmonitored replies       | N/A                        |
| engineering@                   | Developer team communication                        | Internal                   |
| escalations@                   | Urgent issues that bypass normal support            | Key clients / Execs        |
| events@                        | Sponsorship, conference, or webinar coordination    | Public / Partners          |
| feedback@                      | Collect user or customer feedback                   | Public or Internal         |
| finance@                       | Internal financial planning and vendor coordination | Internal                   |
| helpdesk@                      | Employee IT issues into ticketing system            | Internal                   |
| hr@                            | Internal HR matters, hiring coordination            | Internal                   |
| incident@                      | Thread for active incident response                 | Internal                   |
| info@                          | General inquiries                                   | Public / External          |
| legal@                         | Legal notices or compliance questions               | Legal entities             |
| management@                    | Executive or leadership team communication          | Internal                   |
| marketing@                     | Campaigns, branding, outreach coordination          | Internal                   |
| newsletter@ / updates@         | Marketing blasts or product release notes           | Subscribers                |
| no-reply@                      | Outgoing-only automated notifications               | External (one-way)         |
| notices@                       | System notifications, alerts                        | Internal                   |?
| notifications@                 | General notifications, alerts                       | Internal                   |?
| onboarding@ / newhires@        | New-hire onboarding workflows                       | Internal                   |
| ops@                           | DevOps, infrastructure, deployment coordination     | Internal                   |
| partners@                      | Business partnerships and B2B outreach              | External / Partners        |
| postmaster@                    | Required by RFC 2142, MTA notifications             | External (mail admins)     |
| press@                         | Media inquiries, PR contact                         | Journalists / Media        |
| privacy@                       | GDPR / CCPA privacy requests, breach notices        | Regulators / Customers     |
| purchasing@ / procurement@     | Orders, supplier quotes, PO approvals               | Finance / Ops              |
| sales@                         | Sales questions, demos, lead generation             | Prospects / Clients        |
| security@                      | Vulnerability reports, security alerts              | External or Internal       |
| support@                       | Customer support                                    | Clients / Customers        |
| webmaster@                     | Website problems, broken links, SSL errors          | Public                     |

Clone this wiki locally