Skip to content

Perfect-Abstractions/Compose

Compose

License: MIT Discord

⚠️ Early Stage: Compose is currently in development and only available to contributors. It is NOT production ready.

What is Compose?

Compose is a smart contract library that helps developers create smart contract systems using ERC-2535 Diamonds.

Compose provides:

  • An on-chain standard library of facets (modular smart contracts)
  • Building blocks for diamond-based smart contract systems
  • Patterns and libraries to combine Compose facets with your custom logic

The project actively evolves based on community input—tell us what you'd like Compose to do for you.

Why Compose is Different

Forget traditional smart contract design patterns—Compose takes a radically different approach.

We build high-quality smart contracts by intentionally restricting Solidity features and following conventions designed specifically for smart contracts. This is Smart Contract Oriented Programming (SCOP).

Core Philosophy

  • Read First: Code written to be understood, not just executed
  • Diamond-Native: Built specifically for ERC-2535 diamond contracts
  • Composition Over Inheritance: Combine facets instead of inheriting contracts
  • Intentional Simplicity: Banned features lead to clearer, safer code

Quick Start

# Clone the repository
git clone https://github.com/Perfect-Abstractions/Compose.git
cd Compose

# Install dependencies
forge install

# Build the project
forge build

# Run tests
forge test

# For test documentation, see test/README.md

Documentation

Please see our documentation website for full documentation.

Contributing

We welcome contributions from everyone! Compose grows through community involvement.

Please see the documentation for contributing.



Compose is evolving with your help. Join us in building the future of smart contract development.

-Nick & The Compose Community

Made with 🩵 by the Compose Community

About

A smart contract library that emphasizes readability and onchain composability using EIP-2535 Diamonds.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 29