ovecc architecture templates
Lists the built-in templates: reference architectures distilled from each ecosystem's published canon, shipped inside the binary and applied with no network access.
Usage: ovecc architecture templates
Example
$ ovecc architecture templates
fsd Feature-Sliced Design: six layers importing strictly downward (app > pages > widgets > features > entities > shared) (JavaScript/TypeScript frontends)
source: https://feature-sliced.design
bulletproof-react bulletproof-react: a unidirectional codebase, imports flow shared > features > app and features never import each other (React / JavaScript / TypeScript apps)
source: https://github.com/alan2207/bulletproof-react
nx-workspace Nx module boundaries by library type: app > feature > (ui, data-access) > util (Nx monorepos (JavaScript/TypeScript))
source: https://nx.dev
clean-architecture Clean/Hexagonal: dependencies point inward to a pure domain (presentation > application > domain, infrastructure implements the ports) (TypeScript backends and libraries)
source: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
Apply one: ovecc architecture init --template <name> (no index required).
The catalog
fsd — Feature-Sliced Design
Six layers importing strictly downward: app > pages > widgets > features > entities > shared, with slice isolation on pages, widgets, features, and entities. FSD's @x
public-API escape hatch is honored, so a deliberate cross-import through @x is not a
breach.
bulletproof-react
A unidirectional codebase where imports flow shared > features > app, and features
never import each other (slice isolation on features).
nx-workspace
Nx module boundaries by library type: app > feature > (ui, data-access) > util.
Nx binds types with tags, not folders, so this template approximates them by the
conventional libs/<domain>/<type>-<name> layout. Rebind paths if yours differs.
clean-architecture
Clean/Hexagonal: dependencies point inward — presentation > application > domain, with
infrastructure implementing the ports. The domain is a pure ring: deny_capabilities
forbids it network, filesystem, storage, dom, process, clock, and randomness, and it
carries a per-function complexity budget.
Applying one
ovecc architecture init --template clean-architecture
This needs no index, so it works on an empty repository. The result is a target, not a
mirror of today's code — see architecture init.
Related
architecture suggest— which template this repository already resemblesarchitecture init— apply one, or draft from the graph instead