Install
$ agentstack add skill-tairitsua-monica-monica-application-modular-monolith ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Monica Application Modular Monolith
Overview
Use this skill to structure a Monica application solution as a modular monolith with explicit subdomain boundaries. It keeps the deployment single while preserving contract-first collaboration and clear ownership per bounded context.
Workflow
- Read [00-solution-layout.md](references/00-solution-layout.md) to understand the target domain-first structure.
- Use [01-create-subdomain-and-domain.md](references/01-create-subdomain-and-domain.md) when adding a new bounded context.
- Use [02-protocol-platform-and-internal-collaboration.md](references/02-protocol-platform-and-internal-collaboration.md) before introducing cross-domain requests, DTOs, or events.
- Use [03-boundaries-dependencies-and-persistence.md](references/03-boundaries-dependencies-and-persistence.md) to keep host composition and persistence ownership coherent.
- Hand unit implementation to
monica-application-project-unit-development, then finish with [04-delivery-checklist.md](references/04-delivery-checklist.md).
Core Rules
- Split the solution by bounded context under
Domains/, not by globalApplication,Domain, orInfrastructurebuckets. - Each bounded context under
Domains/uses a singleDomains.{Subdomain}.csprojthat keepsApplication, domain models, and domain-owned infrastructure together. - Keep the shared platform split explicit:
Platform.BuildingBlocksfor project-agnostic infrastructure extensions,Platform.Infrastructurefor solution-owned infrastructure wiring, andPlatform.Protocolfor shared business language. - Use the strict solution-project reference chain
AppHost -> Domains.{Subdomain} -> Platform.Infrastructure -> Platform.Protocol -> Platform.BuildingBlocks. - Put project-common library references in
Platform.BuildingBlocks. Keep subdomain-only package references in the owningDomains.{Subdomain}.csproj. - Keep cross-domain dependencies pointed at
Shared/Platform.Protocol/PublishedLanguages, consuming sharedContracts/and only the deliberateImplementations/*surfaces exposed there. Do not reference another domain's internal implementation directly. - Keep domain-owned application units in
Application/HandlersCommand,Application/HandlersQuery,Application/HandlersEvent, andApplication/BackgroundWorkers. - Keep repository implementations and
DbContext-related files inRepository/, and keep pure helper code inUtilities/withUtils*names. - When a domain exposes
ApplicationServiceHTTP endpoints through default routing, keep one assembly-levelAutoControllerConfig(DefaultRoutePrefix = "api/v1", DomainName = "{Subdomain}")file in the domain project root instead of repeating class-levelRouteattributes on every handler. - AppHost entry projects are composition-only entry points. Keep them down to the project file and
Program.cs; do not place business ProjectUnits there. - When AppHost composition needs a
ConfigurationProjectUnit during registration, registerMo.AddConfiguration(...)first and callMo.RegisterInstantly(builder)before later registrations depend on those options. - Keep
.slnxsolution folders aligned with the physical layout undersrc/AppHost,src/Shared, andsrc/Domains. - Treat the modular monolith as one deployment, not as hidden microservices in the same repository.
Reference Navigation
- Solution structure: [00-solution-layout.md](references/00-solution-layout.md)
- New subdomain/domain workflow: [01-create-subdomain-and-domain.md](references/01-create-subdomain-and-domain.md)
- Protocol platform and collaboration: [02-protocol-platform-and-internal-collaboration.md](references/02-protocol-platform-and-internal-collaboration.md)
- Boundaries, dependencies, and persistence: [03-boundaries-dependencies-and-persistence.md](references/03-boundaries-dependencies-and-persistence.md)
- Completion checklist: [04-delivery-checklist.md](references/04-delivery-checklist.md)
Scope Notes
- This skill defines domain boundaries and composition rules inside one deployment.
- Use
monica-application-project-unit-developmentwhenever the next step is to implement requests, handlers, entities, repositories, events, configurations, or jobs.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Tairitsua
- Source: Tairitsua/Monica
- License: MIT
- Homepage: https://monica.dpdns.org/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.