solution-structure

Defines the canonical .NET solution folder structure, documentation placement, and project naming rules.

2|1|Updated Feb 12, 2026
One-click install
npx skills add https://github.com/cilerler/lillian --skill solution-structure-cilerler
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: solution-structure
Source: https://github.com/cilerler/lillian/tree/main/plugins/ai-toolkit/skills/solution-structure
Command: npx skills add https://github.com/cilerler/lillian --skill solution-structure-cilerler

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams building .NET solutions often struggle with inconsistent folder layouts, misplaced files, and ad-hoc naming conventions. This Skill provides a single source of truth for where every file, project, document, and deployment manifest belongs in the repository. ## Core Features & Use Cases - Canonical .NET Solution Layout: Defines deployable runners (Host, Gateway, AppHost), separate Web and MAUI client projects with a shared Razor Class Library, and optional shared persistence projects (Models, Data, Migrations). - Documentation Placement and Naming: Specifies exact scope roots, typed directories, filenames, and attachment conventions for ADRs, RFCs, runbooks, test plans, tickets, and project documents. - Kubernetes and Test Structure: Defines the /tools/Kubernetes base-and-overlay Kustomize layout and test project naming rules. - Use Case: When adding a new runbook for a modular service, consult this Skill to place it at the service's Docs/runbooks/{slug}.md path with the correct attachment folder convention instead of inventing a new location. ## Quick Start Ask the AI where a new file, document, service, or Kubernetes manifest should be placed in the .NET solution and follow the canonical structure it returns.

Frequently Asked Questions about solution-structure

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a .NET solution with Blazor and MAUI clients?▼

Create a shared Razor Class Library named {Organization}.{Product}.Client.Shared plus separate Client.Web and Client.Maui runner projects. Both runners reference Client.Shared, which owns reusable components, while each runner keeps only its platform-specific shell and assets.

Where should architecture decision records go in a repository?▼

ADRs belong in the adrs/ typed directory under the narrowest owning scope root, such as /docs/adrs/ at repository level or a module's Docs/adrs/ folder. Filenames use the {yyyyMMddHHmm}-{slug}.md format with attachments in a matching basename subfolder.

How should Kubernetes manifests be organized with Kustomize?▼

Place manifests under /tools/Kubernetes/ with a base/{DeploymentName} directory containing the required kustomization.yaml and deployment.yaml, plus overlays/{environment}/{DeploymentName} directories for each supported environment like integration, staging, or production.

Can the Host project contain business logic or data access?▼

No. The Host project is a composition and app-runner wrapper only. Domain logic belongs in modules or services, data access belongs in the Data persistence project, and reusable contracts belong in the Abstractions project.

When should I use shared Models, Data, and Migrations projects?▼

Use them only when the solution intentionally shares one application-wide Entity Framework DbContext and database model. Solutions where capabilities own separate persistence models should not create these optional sibling projects.

What are the limitations of this solution structure skill?▼

It covers only the in-repo .NET solution layout. It does not define workspace structure, company-wide document taxonomy, RBAC or repository naming, or personal and HR artifacts like brag documents, which live outside the repository.