Common
The shared cross-cutting primitives of Aragon OSx. These were once a separate osx-commons library; they now live within osx itself, at src/common in the osx repo, there is no separate osx-commons package to install. (In Solidity you import them directly from osx, @aragon/osx/common/….) They are the reusable pieces the core, the framework, and every plugin draw on: authorization, governance primitives, and low-level utilities.
What it means to be a plugin, the base contracts, the setup, and the plugin model, lives in the framework, since a plugin is defined by using the framework to operate a DAO. This area is the primitives it reuses.
Authorization building blocks
- Authorizing against a DAO —
DaoAuthorizableand theauthmodifier: how any contract defers access control to a DAO. - Permission conditions — dynamic, on-chain authorization logic (
IPermissionCondition). - RuledCondition — a declarative rule engine for composing conditions.
Governance primitives
- Proposals — the shared proposal shape and lifecycle every governance plugin reuses.
- Membership and the address list — snapshot-safe membership.
- Ratio — fixed-point threshold math (
RATIO_BASE).
Low-level utilities
- Proxy deployment — UUPS and minimal-proxy mechanics, and the storage-layout discipline they require.
- Protocol version — the protocol-version convention (distinct from a plugin's release/build).
Where these are used
The core, the framework, and every plugin build on these, deferring access control to a DAO, reusing the governance primitives, and wiring conditions from here.