# Monica Application Project Unit Development

> Shared Monica-native DDD ProjectUnit development guidance for application projects. Use when creating, naming, placing, or refactoring ApplicationService, RequestDto, DomainService, Entity, Repository, DomainEvent, DomainEventHandler, LocalEventHandler, Configuration, RecurringJob, or TriggeredJob types, or when deciding which ProjectUnits a new feature requires in either microservice or modular…

- **Type:** Skill
- **Install:** `agentstack add skill-tairitsua-monica-monica-application-project-unit-development`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Tairitsua](https://agentstack.voostack.com/s/tairitsua)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Tairitsua](https://github.com/Tairitsua)
- **Source:** https://github.com/Tairitsua/Monica/tree/dev/.claude/skills/monica-application-project-unit-development
- **Website:** https://monica.dpdns.org/

## Install

```sh
agentstack add skill-tairitsua-monica-monica-application-project-unit-development
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Monica Application ProjectUnit Development

## Overview

Use this skill for unit-level application development in Monica-based DDD projects. It defines the common ProjectUnit language shared by both `monica-application-microservice` and `monica-application-modular-monolith`.

## Workflow

1. Start with the architecture skill to choose the target subdomain, project, and folder layout.
2. Read [00-project-unit-overview.md](references/00-project-unit-overview.md) and [02-project-unit-composition-map.md](references/02-project-unit-composition-map.md) to identify the units the feature needs.
3. Load only the template references relevant to the units you are creating or changing.
4. Keep the boundary thin: `ApplicationService` returns `Res`, while internal `DomainService`, repository, and entity logic stay on normal .NET return types and exceptions.
5. Prefer rich entities and value objects over procedural handlers that directly mutate persistence state.

## Ground Rules

- Use Monica-native base classes and interfaces only. Do not introduce `Our*` wrappers or FIPS-specific conventions.
- Follow the naming, placement, and boundary rules in [01-project-unit-naming-and-boundaries.md](references/01-project-unit-naming-and-boundaries.md). These rules are aligned with the current `Monica.Framework/ProjectUnits` discovery behavior.
- Keep persistence concerns in repositories and persistence classes, not in request handlers.
- Keep repository implementations in the owning subdomain or service infrastructure boundary. Do not move a repository or adapter to `Platform` just because it uses an external library; only project-common reusable infrastructure belongs in `Platform`.
- Keep contracts stable: requests, DTOs, and events are not persistence entities.
- If a handler returns `Res`, use `Res.Ok(value)` instead of `Res.Ok(value)` to avoid the non-generic string overload.
- For HTTP-exposed `ApplicationService` handlers, prefer the controller route pattern `api/{version}/{DomainName(PascalCase)}` and keep only the request-specific segment on the handler method, such as `GET api/v1/Documentation/tree`.
- If host composition must consume a `Configuration` ProjectUnit during registration, register `Mo.AddConfiguration(...)` first and then call `Mo.RegisterInstantly(builder)` before the dependent registration code runs.

## Reference Navigation

- Unit catalog and responsibilities: [00-project-unit-overview.md](references/00-project-unit-overview.md)
- Naming, placement, and boundary rules: [01-project-unit-naming-and-boundaries.md](references/01-project-unit-naming-and-boundaries.md)
- Unit selection by feature shape: [02-project-unit-composition-map.md](references/02-project-unit-composition-map.md)
- `ApplicationService` templates: [10-application-service-template.md](references/10-application-service-template.md)
- `DomainService` templates: [11-domain-service-template.md](references/11-domain-service-template.md)
- Entity, request, and event templates: [12-entity-request-event-template.md](references/12-entity-request-event-template.md)
- Repository and DbContext templates: [13-repository-and-persistence-template.md](references/13-repository-and-persistence-template.md)
- Event handler templates: [14-event-handler-template.md](references/14-event-handler-template.md)
- Job templates: [15-job-template.md](references/15-job-template.md)
- Configuration templates: [16-configuration-template.md](references/16-configuration-template.md)
- Completion checklist: [17-feature-checklist.md](references/17-feature-checklist.md)

## Scope Notes

- This skill is architecture-agnostic. It explains unit design, not solution topology.
- Use `monica-application-microservice` to decide service splits, published-language layout, and migration project boundaries.
- Use `monica-application-modular-monolith` to decide module splits, host composition, and cross-module contracts.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Tairitsua](https://github.com/Tairitsua)
- **Source:** [Tairitsua/Monica](https://github.com/Tairitsua/Monica)
- **License:** MIT
- **Homepage:** https://monica.dpdns.org/

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-tairitsua-monica-monica-application-project-unit-development
- Seller: https://agentstack.voostack.com/s/tairitsua
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
