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.