aurora-project-structure

- User asks "where is..." or "where should I put..."

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "aurora-project-structure" with this command: npx skills add avvale/aurora-front/avvale-aurora-front-aurora-project-structure

When to Use

  • User asks "where is..." or "where should I put..."

  • User needs to understand the project organization

  • User asks about naming conventions

  • User needs to navigate between layers (Aurora, Fuse, Apps)

  • User is new to Aurora Angular architecture

Critical Patterns

Layer Responsibilities

Layer Path Responsibility Can Modify?

@fuse src/@fuse/

Fuse template library (animations, core components, services) NO (template)

@aurora src/@aurora/

Aurora framework (reusable components, modules, services) Exceptionally

Apps src/app/modules/admin/apps/

Business domain modules (generated + custom) YES (handlers)

Core src/app/core/

App core (auth, navigation, icons, transloco) Exceptionally

Layout src/app/layout/

Layout components (header, sidebar, settings) Exceptionally

Module File Pattern

Each module in apps/[bounded-context]/[module]/ follows this structure:

[module]-detail.component.ts # Detail/Edit view (extends ViewDetailComponent) [module]-detail.component.html # Detail template [module]-list.component.ts # List view (extends ViewBaseComponent) [module]-list.component.html # List template with au-grid [module].columns-config.ts # Grid column definitions [module].graphql.ts # GraphQL queries and mutations [module].resolvers.ts # Route resolvers [module].service.ts # CRUD service with Apollo index.ts # Barrel exports public-api.ts # Public API exports

Project Structure

cliter/ # Aurora YAML Definitions ├── [bounded-context]/ │ ├── [module].aurora.yaml # Module definition (source of truth) │ └── [module]-lock.json # Generation lock file │ src/ ├── @fuse/ # Fuse Template Library (DO NOT MODIFY) │ ├── animations/ # Animation utilities │ ├── components/ # Core UI components │ │ ├── alert/ # Alert component │ │ ├── card/ # Card component │ │ ├── confirmation/ # Confirmation dialog │ │ ├── drawer/ # Drawer/sidebar component │ │ ├── fullscreen/ # Fullscreen toggle │ │ ├── highlight/ # Syntax highlighting │ │ ├── loading-bar/ # Loading indicator │ │ ├── masonry/ # Masonry grid layout │ │ └── navigation/ # Navigation components │ │ ├── horizontal/ # Horizontal nav │ │ └── vertical/ # Vertical nav │ ├── directives/ # Custom directives │ │ ├── scroll-reset/ # Reset scroll position │ │ └── scrollbar/ # Custom scrollbar │ ├── lib/ # Libraries │ │ └── mock-api/ # Mock API utilities │ ├── pipes/ # Common pipes │ ├── services/ # Core services │ │ ├── config/ # App configuration │ │ ├── confirmation/ # Confirmation service │ │ ├── loading/ # Loading service │ │ ├── media-watcher/ # Responsive breakpoints │ │ ├── platform/ # Platform detection │ │ ├── splash-screen/ # Splash screen │ │ └── utils/ # Utility functions │ ├── styles/ # SCSS styles │ │ ├── components/ # Component styles │ │ └── overrides/ # Material overrides │ ├── tailwind/ # Tailwind plugins │ │ ├── plugins/ # Custom plugins (theming, utilities) │ │ └── utils/ # Tailwind utilities │ └── validators/ # Form validators │ ├── @aurora/ # Aurora Framework Library │ ├── components/ # Reusable UI Components │ │ ├── attachments/ # File attachments │ │ ├── breadcrumb/ # Breadcrumb navigation │ │ ├── chat-timeline/ # Chat/timeline component │ │ ├── datepicker/ # Custom datepicker │ │ ├── dialog/ # Dialog wrapper │ │ ├── file-upload/ # File upload component │ │ ├── flag-icon/ # Country flag icons │ │ ├── grid/ # Main grid component │ │ │ ├── grid/ # Core grid │ │ │ ├── grid-columns-config/ # Column configuration │ │ │ ├── grid-filters-dialog/ # Filter dialog │ │ │ ├── grid-search/ # Search component │ │ │ ├── grid-translations/ # i18n support │ │ │ ├── directives/ # Grid directives │ │ │ └── pipes/ # Grid pipes │ │ ├── grid-dialog/ # Grid in dialog │ │ ├── grid-elements-manager/ # Element manager grid │ │ ├── grid-select-element/ # Single selection grid │ │ ├── grid-select-multiple/ # Multiple selection grid │ │ ├── image-input/ # Image input control │ │ ├── image-preview-overlay/ # Image preview │ │ ├── password-strength/ # Password strength indicator │ │ ├── phone-number-format/ # Phone formatting │ │ ├── slug/ # URL slug generator │ │ ├── split-button/ # Split button │ │ ├── title/ # Page title │ │ ├── validation-messages/ # Form validation messages │ │ └── version-input/ # Version input (x.y.z) │ ├── decorators/ # Custom decorators │ ├── directives/ # Custom directives │ │ ├── decimal.directive.ts # Decimal input │ │ ├── focus.directive.ts # Auto focus │ │ └── scroll-end.directive.ts # Infinite scroll │ ├── foundations/ # Base classes and interfaces │ │ └── interfaces/ # Common interfaces │ ├── modules/ # Feature modules │ │ ├── authentication/ # Auth adapters │ │ ├── authorization/ # Permissions (can pipe) │ │ ├── graphql/ # Apollo GraphQL setup │ │ ├── iam/ # IAM adapters │ │ ├── lang/ # Language services │ │ ├── ms-entra-id/ # Azure AD integration │ │ ├── routing/ # Route services │ │ ├── session/ # Session management │ │ └── action/ # Action service │ ├── pipes/ # Common pipes │ │ ├── date-format.pipe.ts # Date formatting │ │ ├── get.pipe.ts # Object property getter │ │ ├── safe.pipe.ts # Sanitizer pipe │ │ └── truncate-words.pipe.ts # Text truncation │ ├── providers/ # Angular providers │ ├── services/ # Core services │ │ ├── action.service.ts # Action dispatcher │ │ ├── download.service.ts # File download │ │ └── initializerService.service.ts # App initializer │ └── styles/ # Aurora styles │ ├── layout.scss # Grid layout system │ ├── themes.scss # Theme configuration │ └── overrides/ # Style overrides │ ├── app/ │ ├── core/ # Application Core │ │ ├── auth/ # Authentication │ │ │ └── guards/ # Route guards │ │ ├── icons/ # Icon registration │ │ ├── navigation/ # Navigation data │ │ ├── transloco/ # i18n configuration │ │ └── user/ # User service │ │ │ ├── layout/ # Layout Components │ │ ├── common/ # Common layout parts │ │ │ ├── languages/ # Language selector │ │ │ ├── messages/ # Messages dropdown │ │ │ ├── notifications/ # Notifications │ │ │ ├── quick-chat/ # Quick chat │ │ │ ├── search/ # Search bar │ │ │ ├── settings/ # Theme settings │ │ │ ├── shortcuts/ # Shortcuts menu │ │ │ └── user/ # User menu │ │ └── layouts/ # Layout variants │ │ ├── empty/ # Empty layout (login) │ │ ├── horizontal/ # Horizontal navigation │ │ │ ├── centered/ # Centered content │ │ │ ├── enterprise/ # Enterprise layout │ │ │ ├── material/ # Material style │ │ │ └── modern/ # Modern style │ │ └── vertical/ # Vertical navigation │ │ ├── classic/ # Classic sidebar │ │ ├── classy/ # Classy style │ │ ├── compact/ # Compact sidebar │ │ ├── dense/ # Dense sidebar │ │ ├── futuristic/ # Futuristic style │ │ └── thin/ # Thin sidebar │ │ │ ├── mock-api/ # Mock API Data (development) │ │ ├── apps/ # App mock data │ │ ├── common/ # Common mock data │ │ ├── dashboards/ # Dashboard mock data │ │ └── ui/ # UI mock data │ │ │ └── modules/ # Feature Modules │ ├── admin/ # Admin section │ │ ├── apps/ # Business Domain Modules │ │ │ ├── [bounded-context]/ # Bounded context folder │ │ │ │ ├── [bounded-context].component.ts # Container component │ │ │ │ ├── [bounded-context].routes.ts # Module routes │ │ │ │ ├── [bounded-context].types.ts # TypeScript types │ │ │ │ ├── shared/ # Shared module resources │ │ │ │ └── [module]/ # Entity module │ │ │ │ ├── [module]-detail.component.ts │ │ │ │ ├── [module]-detail.component.html │ │ │ │ ├── [module]-list.component.ts │ │ │ │ ├── [module]-list.component.html │ │ │ │ ├── [module].columns-config.ts │ │ │ │ ├── [module].graphql.ts │ │ │ │ ├── [module].resolvers.ts │ │ │ │ ├── [module].service.ts │ │ │ │ ├── index.ts │ │ │ │ └── public-api.ts │ │ │ │ │ │ │ ├── auditing/ # Audit logs │ │ │ ├── common/ # Common entities (country, lang) │ │ │ ├── iam/ # Identity & Access Management │ │ │ ├── message/ # Messaging system │ │ │ ├── o-auth/ # OAuth management │ │ │ ├── queue-manager/ # Job queues │ │ │ ├── search-engine/ # Search configuration │ │ │ ├── settings/ # User settings │ │ │ ├── support/ # Support/Issues │ │ │ └── tools/ # Admin tools │ │ │ │ │ ├── example/ # Example components │ │ ├── kitchen-sink/ # Component showcase │ │ └── pages/ # Static pages │ │ │ ├── auth/ # Authentication pages │ │ ├── confirmation-required/ # Email confirmation │ │ ├── forgot-password/ # Password reset request │ │ ├── reset-password/ # Password reset │ │ ├── sign-in/ # Login │ │ ├── sign-out/ # Logout │ │ ├── sign-up/ # Registration │ │ └── unlock-session/ # Session unlock │ │ │ └── landing/ # Public landing pages │ └── home/ # Home page │ ├── assets/ # Static assets │ ├── fonts/ # Custom fonts │ ├── i18n/ # Translation files │ │ ├── en.json # English translations │ │ └── es.json # Spanish translations │ ├── icons/ # SVG icons │ └── images/ # Images │ ├── environments/ # Environment configurations │ ├── environment.ts # Default environment │ ├── environment.development.ts # Development │ ├── environment.localhost.ts # Local development │ ├── environment.production.ts # Production │ └── environment.quality.ts # QA environment │ ├── index.html # Main HTML file ├── main.ts # Application bootstrap └── styles.scss # Global styles

Module File Naming Convention

Components

[module]-detail.component.ts # Detail view (create/edit) [module]-detail.component.html # Detail template [module]-list.component.ts # List view with grid [module]-list.component.html # List template [module]-dialog.component.ts # Optional dialog component

Services and Configuration

[module].service.ts # CRUD service with Apollo GraphQL [module].graphql.ts # GraphQL queries and mutations [module].resolvers.ts # Route resolvers for data loading [module].columns-config.ts # Grid column configuration

Exports

index.ts # Barrel exports for module public-api.ts # Public API exports

Decision Tree: Where to Put Code?

Need to add a new field/entity? → Modify cliter/[bounded-context]/[module].aurora.yaml → Run Aurora CLI to regenerate

Need custom business logic in component? → Add to handleAction() method in component → Or create a shared service in [bounded-context]/shared/

Need a reusable UI component? → Add to src/@aurora/components/

Need a custom pipe or directive? → src/@aurora/pipes/ or src/@aurora/directives/

Need to modify grid columns? → Edit [module].columns-config.ts

Need custom GraphQL query? → Add to [module].graphql.ts

Need new route? → Modify [bounded-context].routes.ts

Need to add translations? → Edit src/assets/i18n/[lang].json

Need to modify layout/theme? → Check src/app/layout/ and src/@fuse/styles/

Key Base Components

Component Purpose Extend When

ViewDetailComponent

Detail/edit forms Creating entity detail views

ViewBaseComponent

List views Creating entity list views

GridComponent

Data grid Displaying tabular data

ViewDetailComponent Pattern

export class CountryDetailComponent extends ViewDetailComponent { breadcrumb: Crumb[] = [...]; managedObject: Country;

constructor(private readonly countryService: CountryService) { super(); }

init(): void { /* After ngOnInit */ }
createForm(): void { this.fg = this.fb.group({...}); }
async handleAction(action: Action): Promise<void> { /* Handle CRUD */ }

}

ViewBaseComponent Pattern

export class CountryListComponent extends ViewBaseComponent { gridId: string = 'common::country.list.mainGridList'; gridData$: Observable<GridData<Country>>; originColumnsConfig: ColumnConfig[] = [...];

async handleAction(action: Action): Promise&#x3C;void> { /* Handle actions */ }

}

Quick Navigation Commands

Find all files for a module

fd "country" src/app/modules/admin/apps/

Find all components

fd ".component.ts$" src/app/modules/admin/apps/

Find all services

fd ".service.ts$" src/

Find YAML definitions

ls cliter/*/

Find GraphQL files

fd ".graphql.ts$" src/

Find column configurations

fd ".columns-config.ts$" src/

Path Aliases

Alias Path Usage

@apps/*

src/app/modules/admin/apps/*

Business modules

@core/*

src/app/core/*

Core functionality

@aurora

src/@aurora/

Aurora framework

@fuse

src/@fuse/

Fuse template

import { GridComponent, ActionService } from '@aurora'; import { CountryService } from '@apps/common/country'; import { AuthService } from '@core/auth';

Resources

  • YAML Definitions: See cliter/[bounded-context]/[module].aurora.yaml

  • Aurora Components: See src/@aurora/components/

  • Fuse Template: See src/@fuse/

  • Layouts: See src/app/layout/layouts/

  • Translations: See src/assets/i18n/

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

angular-19

No summary provided by upstream source.

Repository SourceNeeds Review
General

angular-material-19

No summary provided by upstream source.

Repository SourceNeeds Review
General

tailwind-3

No summary provided by upstream source.

Repository SourceNeeds Review
General

aurora-sheets-sync

No summary provided by upstream source.

Repository SourceNeeds Review