Coretsia [kɔˈrɛtsjɑ] / [ko-RET-si-ya] — from the Ukrainian word “серцевина” (core, foundation)
A modular, deterministic-by-default PHP framework monorepo with strict compile-time boundaries and SSoT-driven development
Coretsia Framework is in active development.
- Prelude: implemented
- Phase 0 — Spikes and prototypes: implemented
- Phase 1 — Core: active development
- Stable production release: not available yet
Current public implementation baseline:
- deterministic tooling and gates
- managed Composer workspace/repository synchronization
- publishing rails policy
- canonical CLI ports
- prod-safe CLI base
- Phase 0 devtools command pack
Authoritative planning and invariants:
- Roadmap (canonical):
docs/roadmap/ROADMAP.md - Canonical condensed rules (normative):
docs/roadmap/ROADMAP.md - Single Source of Truth (invariants/shapes/policies):
docs/ssot/** - Security policy:
SECURITY.md
framework/— framework meta-package + all framework packages- packages:
framework/packages/<layer>/<slug>/ - layers:
core|platform|integrations|enterprise|devtools|presets
- packages:
skeleton/— local workspace app sandbox- fixtures, entrypoints, E2E tests, runtime caches (
skeleton/var/**)
- fixtures, entrypoints, E2E tests, runtime caches (
docs/— documentationdocs/roadmap/**— task-first roadmap (phases/epics)docs/ssot/**— Single Source of Truth (invariants, shapes, policies)docs/architecture/**,docs/ops/**— non-SSoT guides (must link to SSoT for truth)
framework/tools/— tooling, gates, CI rails, spikes (Phase 0 / Prelude)
- Package path:
framework/packages/<layer>/<slug>/ - Package id:
<layer>/<slug> - Composer name:
coretsia/<layer>-<slug> - Monorepo-wide versioning via git tags
vMAJOR.MINOR.PATCH(no per-package versions) - Canonical packaging strategy (single-choice):
docs/architecture/PACKAGING.md
Run commands from the repo root. Canonical scripts:
composer setup
composer test
composer cirepositories blocks in root/framework/skeleton composer.json files are managed only by:
php framework/tools/build/sync_composer_repositories.php --check
php framework/tools/build/sync_composer_repositories.phpManual edits are forbidden by policy and enforced by pre-commit/CI drift checks.
- lock files are committed for root/framework/skeleton
- CI uses
composer installand fails on lock drift - drift check for managed repositories runs before installs
config/<name>.phpreturns a subtree (no wrapper repeating the root key).- Example:
config/foundation.phpreturns['container' => ...], not['foundation' => ...].
- Example:
- Runtime reads from global config under that root key (e.g.
foundation.container.*).
- Runtime module discovery uses Composer metadata only.
- Runtime discovery MUST NOT do filesystem scanning.
- Tooling package indexes MUST NOT be used as runtime input.
- The only spikes root is
framework/tools/spikes/**. - Spikes must not import runtime packages (
core/*,platform/*,integrations/*) nor path-importframework/packages/**/src/**. - Single exception:
coretsia/internal-toolkit(tooling-only) used only via Composer autoload.
- PHP: >= 8.4
- Composer: 2.x
Run everything from the repository root. Canonical entrypoints:
composer setup
composer test
composer cicomposer setupenables.githooks/(setscore.hooksPath) and ensures managed Composer repositories policy.composer testruns the baseline test suite.composer ciruns the CI-style pipeline locally.
- Quickstart (clean clone → working baseline):
docs/guides/quickstart.md - Developer onboarding checklist:
docs/guides/onboarding.md - Git hooks + managed repositories policy:
docs/guides/git-hooks.md - Dependency graph (conceptual; truth is in SSoT):
docs/guides/dependency-graph.md - Releasing (GitHub Release + Packagist):
docs/guides/releasing.md
- Packaging strategy (canonical):
docs/architecture/PACKAGING.md - Repository structure:
docs/architecture/STRUCTURE.md - Roadmap:
docs/roadmap/ROADMAP.md - Canonical condensed rules (normative):
docs/roadmap/ROADMAP.md - SSoT index:
docs/ssot/INDEX.md - Branding spec:
docs/architecture/BRANDING.md
Licensed under the Apache License, Version 2.0. See LICENSE.
See NOTICE for attribution and third-party notices (if applicable).