---
name: erp-kit-shared
description: Shared references for both module and app skills. Not invoked directly — referenced by erp-kit-module and erp-kit-app skills.
metadata:
  erp-kit-version: "0.23.0"
---

# erp-kit-shared

Canonical reference files shared across both module and app skills. Individual skills reference these instead of maintaining their own copies.

## Design Philosophy

Modules are intentionally simple. Each module is a thin layer of domain logic over the database — avoid introducing unnecessary abstractions, deep inheritance hierarchies, or complex patterns. Over-engineering is actively harmful: it makes modules harder to understand, test, and maintain. When in doubt, choose the straightforward approach. A few lines of duplicated code is better than a premature abstraction.

## Common References

- [Field builder API](references/db-field-api.md) — TailorDB field types, options, and file attachments

## App References

- [Schema constraints](references/schema-constraints.md) — H1 heading rules and validation constraints enforced by `erp-kit app check`
- [Naming conventions](references/naming-conventions.md) — File and heading naming patterns for all doc types
- [Link format reference](references/link-format-reference.md) — Canonical doc-to-doc link formats across tiers
- [Resolver classification](references/resolver-classification.md) — Custom vs built-in resolver decision table and operation mapping
- [Progress protocol](references/progress-protocol.md) — Audit trail logging for app skills
- [Deploy workflow](references/deploy.md) — App deployment steps

## Module References

- [Module structure](references/structure.md) — Standard module directory layout
- [Command patterns](references/commands.md) — run function, custom fields, CQRS
- [Query patterns](references/queries.md) — defineQuery, ReadonlyDB, conventions
- [Error patterns](references/errors.md) — Error class generation from docs
- [Testing patterns](references/testing.md) — Mock DB, fixtures, test structure
