ArchRails Academy

Learn the ArchRails workflow.

Short, focused lessons that take you from your first bootstrap PR through declaring nodes, relationships, patterns, controls, and flows. Each lesson maps to something you'll actually do in your repo — not abstract theory. New to FINOS CALM? Start with lesson 1 and the rest will fill in as you go.

Foundations
1
8 min

Bootstrap your first repo

Open one empty .archrails/config.yml, let ArchRails infer your services from the code, then review the generated config in a PR.

Workflow · PR-driven
2
6 min

Declare nodes

Services, databases, actors, networks — what each node type means in CALM, the required fields, and how owned paths bind a node to a directory in your repo.

CALM v1 · nodes
3
7 min

Declare relationships

connects, interacts, composed-of, deployed-in — when each one applies and what ArchRails enforces from them.

CALM v1 · relationships
Governance
4
8 min

Patterns

Reusable architecture shapes — zero-trust, hexagonal, fan-in queue. How to author a pattern in CALM JSON Schema and apply it across repos via federation.

CALM v1 · patterns
5
7 min

Controls

Attach compliance and security requirements to nodes and relationships. The AR-CTRL catalog, evidence requirements, and how reviewers see them on every PR.

CALM v1 · controls
5+
Reference

Control template catalog

Paste-in CALM snippets for PCI DSS v4, GDPR Art. 32, SOC 2, HIPAA, NIST CSF 2.0, ISO 27001:2022, DORA, MiFID II, NYDFS Part 500, and SOX 404 ITGC. Public Beta.

Reference · Beta
6
6 min

Flows

Document end-to-end interactions — "place an order", "open an account" — as ordered sequences over your declared relationships.

CALM v1 · flows
Enforcement
7
9 min

Attestation

How a verdict gets made. The three outcomes (allowed / refused / review required), how to read a finding, the two surfaces (code-gen-time + PR-time), and authoring controls that actually engage.

Outcomes · verdicts

Want the underlying spec?

These lessons teach the ArchRails workflow on top of CALM. For the open FINOS standard itself — full schema, primitive types, vocabulary — see the FINOS CALM tutorials. Your .calm.json files are portable; nothing in ArchRails locks you in.