Overview
Code Atlas in Cubyts helps organize your codebase into domains and code areas, enabling better impact analysis, ownership clarity, and AI-driven workflows.
Cubyts provides an automatic way to determine domains and code areas, while also allowing customers to define custom rules for greater control and precision.
Configuration types
Code Atlas provides an automatic baseline for domain and code area determination, which can be extended or overridden using custom YAML rules.
Custom Rule-Based Determination (YAML Configuration)
Customers can explicitly define domains and code areas using a YAML file
Enables alignment with business-specific boundaries and ownership
Provides full control over how code is grouped
⚠️ Note
If a file does not match any of the glob patterns defined in the YAML configuration, Cubyts will automatically assign it to domains and code areas using its default logic.
YAML Configuration Requirements
To define custom domains and code areas absolutely controlled by you (based on your definition), you must create a YAML file with a specific structure and location.
File path: .cubyts/areas.yml
Branch requirement: The file must be merged into the configured main/default branch configured in your Cubyts Git integration.
Important: Cubyts will only pick up the configuration if:
The file is named exactly areas.yml.
It is placed under .cubyts/.
It exists in the configured default branch.
YAML Structure
The YAML file defines:
Domains → High-level functional grouping
Areas → Subsections within a domain
Globs → File path patterns that map code to areas
Structure
domains:
- label: "<Domain Name>"
description: "<Optional description>"
areas:
- label: "<Area Name>"
description: "<Optional description>"
globs:
- "<file path pattern>"
Sample YAML Configuration
domains:
- label: "Axios HTTP Client"
description: "HTTP Proxy Layer for all external access to other systems"
areas:
- label: "HTTP endpoint controllers"
description: "All controllers for the http operations"
globs:
- "aint/axioshelper/api/controllers/**"
- label: "HTTP endpoint models and routes"
globs:
- "aint/axioshelper/api/models/**"
- "aint/axioshelper/api/routes/**"
- label: "Server, Utils & Configuration"
globs:
- "aint/axioshelper/api/**"
- label: "Third Party Integrations"
areas:
- label: "Common API and Utils"
globs:
- "aint/common/**"
- label: "SAP"
globs:
- "aint/SAP/**"
- label: "Atlassian Jira"
globs:
- "aint/jira/**"
- label: "Salesforce Slack"
globs:
- "aint/slack/**"
- label: "Edge Proxy (TCP & HTTP)"
areas:
- label: "Protocol Support"
globs:
- "UI/3rdparty/edge/proxy/http/**"
- "UI/3rdparty/edge/proxy/tcp/**"
- label: "Pre and Post Processing"
globs:
- "UI/3rdparty/edge/proxy/processors/**"
- label: "Server, Utils & Configuration"
globs:
- "UI/3rdparty/edge/proxy/**"
How It Works
Glob patterns map files to code areas.
Code areas are grouped into domains.
This structure is used for:
Impact radius analysis.
Code ownership understanding.
AI agent context.
Best Practices
Keep domains aligned with business capabilities.
Avoid overlapping glob patterns.
Use specific paths instead of broad patterns.
Add descriptions for better clarity.
Review YAML changes via pull requests.
Troubleshooting
When to Use YAML configuration
Summary
Cubyts provides automatic domain and area detection by default
YAML configuration allows customization and precision
Files not covered by YAML rules are still handled automatically
Use YAML when accuracy and business alignment are critical
Footnote: Automatic Determination (Cubyts Logic)
Cubyts can automatically determine domains and code areas without any manual configuration by analyzing repository structure, folder hierarchy, and code semantics. It groups related files into logical domains and areas, enabling quick setup and faster onboarding.
This approach is best suited for initial setup or well-structured repositories where minimal configuration is preferred. However, automatically inferred domains may not always align with business-specific boundaries. For precise control and customization, defining rules via YAML configuration is recommended.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article