---
name: deply-config
description: Use when creating, auditing, validating, or integrating Deply v1.2.1 architecture configuration files for Python projects, including deply.yaml, light/medium/strict guidance, monorepos, CI, Makefiles, and architecture documentation.
license: MIT
metadata:
  version: "1.2.1"
---

# Deply Config

Use this skill to create or audit a production-ready `deply.yaml` for a Python project and wire it into local checks, CI, and documentation.

## Workflow

1. Inspect the repository before asking questions:
   - Package tree and Python source roots.
   - `pyproject.toml`, `setup.py`, `setup.cfg`, requirements files, lockfiles.
   - `Makefile`, `.github/workflows/`, `.gitlab-ci.yml`, tox/nox/pre-commit config.
   - Existing docs, architecture notes, and framework imports.
   - Existing `deply.yaml` files and `deply:ignore` / `deply:ignore-file` suppressions.
2. Ask only for intent that cannot be discovered:
   - Preserve current architecture or enforce a target architecture.
   - Strictness: `light`, `medium`, or `strict`.
   - CI rollout: fail immediately or adopt with a temporary `--max-violations=N` ratchet.
3. Read the needed references:
   - `references/discovery.md` first for deterministic repository inspection before asking questions.
   - `references/deply-v1-schema.md` for exact Deply v1.2.1 YAML, collectors, rules, and validation constraints.
   - `references/architecture-recipes.md` when choosing a target architecture style.
   - `references/presets.md` for `light`, `medium`, and `strict` Agent Skill profiles.
   - `references/framework-presets.md` for Agent Skill guidance when the repo uses Django, FastAPI, Flask, Celery, or SQLAlchemy.
   - `references/adoption-and-audit.md` when auditing an existing config or adopting Deply in a legacy project.
   - `references/monorepo.md` when the repo has multiple apps, packages, or services.
   - `references/violation-triage.md` when `deply analyze` reports violations.
   - `references/ci-and-docs.md` when adding Makefile, CI, or documentation changes.
4. Choose the mode:
   - Create/update mode: generate or improve `deply.yaml` with public root key `deply:`.
   - Audit mode: review existing config, CI, docs, and suppressions before proposing changes.
5. Run `deply validate --config=deply.yaml` from the project root.
6. Run `deply analyze --parallel --config=deply.yaml` from the project root.
7. If violations exist, triage them before editing. Fix collectors/excludes first. Only use `--max-violations=N` when the user chooses non-blocking adoption.
8. Add local command, CI step, and short architecture docs when requested.
9. Finish with the output contract below.

## Rules

- Prefer the smallest config that enforces the intended boundaries.
- Do not invent unsupported keys such as `allow_layer_dependencies`.
- Do not add generated files, tests, migrations, virtualenvs, build output, or vendored code to analysis scope.
- Keep domain/business layers independent from frameworks, persistence, transport, and SDKs when using `medium` or `strict`.
- Do not add new Deply suppressions unless the user accepts a specific architectural reason.
- Report existing suppressions separately from new violations.
- Validate every config with the installed Deply CLI before presenting it as complete.

## Final Output Contract

End every run with:

- Changed files.
- Mode: create/update or audit.
- Strictness: `light`, `medium`, `strict`, or `not changed`.
- Validation command and result.
- Analyze command and result.
- Current violation count.
- Existing suppression count and any new suppressions added.
- CI behavior: blocking, non-blocking, ratchet with exact `--max-violations=N`, or not changed.
- Follow-up work, only if required to finish adoption safely.
