We’re excited to announce Aragon OSx CLI, a tool that makes it easy to build, deploy, and publish plugins on Aragon OSx.
The CLI abstracts away the complexity of deploying and publishing a plugin, as well as providing better error handling so you can debug and solve problems faster.
Let’s dive into how Aragon OSx CLI makes development fast and easy, so you can focus on building custom functionality for your DAO!
“The CLI enables you to build faster and safer, and not have to work with the protocol in its raw state.”
— Aaron, Developer Experience Engineer
Plugins are smart contracts that change the logic of your DAO. They can be installed, uninstalled, and upgraded. Think of plugins like apps you install on your computer. They add extra functionality that extend what your DAO can do!
Plugins can perform lots of different actions onchain. Here are a few categories:
- Governance: alter the decision-making mechanism in your DAO, such as by installing a token voting plugin, cross-chain voting plugin, or something else.
- Asset management: swap tokens with a Uniswap plugin, stake assets with a Lido plugin, or buy NFTs with an OpenSea plugin.
- Membership: customize the voting census. Grant membership to individuals with a non-transferrable token plugin, to authorized wallets with a multisig plugin, or to token holders with an ERC-20 plugin.
- Anything else that extends the functionality of your DAO onchain!
One example of a plugin is the multichain governance plugin. DAOs can install it to change their DAO from being single-chain to multichain.
Plugins make your DAO modular by giving you the option to create custom logic, install the combination of plugins you need, and uninstall the ones you no longer need. They make it possible for you to adapt your DAO as its needs change, without having to abandon the existing DAO and deploy a new one.
Modularity through plugins makes it possible for your DAO to operate in a complex, ever-changing world and tap into the latest innovations and best practices!
The Aragon OSx CLI is a terminal interface making it easier and faster for developers to build plugins.
Here’s what you can expect from the CLI:
Faster development process
The Aragon OSx CLI speeds up the development process and ensures you’re building the way that fits with the protocol. By using the commands, you can publish and deploy your plugin without having to dive into how OSx works under the hood.
This creates a smoother builder experience overall, reducing errors, and making the process of building custom governance functionality for your DAO significantly faster!
More descriptive error messages
There’s nothing more frustrating than a generic error message that doesn’t describe what you need to do to fix it. Aragon OSx CLI has descriptive error messages, so you can debug faster.
Here’s an example of a more descriptive error message we added: When setting up the DAO’s subdomain (the dao.eth address) the protocol expects the subdomain to be unique, all lowercase, and to not include any periods.
If you submitted a subdomain like Aragon.plugin for your plugin, this would be invalid because it’s capitalized and has a period.
Prior to deploying the CLI, the error message used to say Invalid subdomain without giving much additional guidance. Now, in the CLI, we added more validations and context to be more specific about the error so you can fix it quicker, such as: Subdomain invalid: Your domain is capitalized and contains a period. Subdomains must be unique, all lowercased, and can’t contain any symbols beyond “-“.
“Before the CLI, to go from idea to plugin, there were a lot of things you needed to know about the protocol. This abstracts away all those steps.”
— Aaron, Developer Experience Engineer
Check out some of the commands you can use with the Aragon CLI:
Deploy Plugin [ deploy ]
Deploys a plugin to your network of choice. This is required before publishing it in the Aragon OSx protocol.
Publish Plugin [ publish ]
Publishes your plugin into the Plugin Registry so anyone can install it in their DAO.
View Plugin’s Info [ info ]
Allows you to see the information about your plugin after it’s been published to the Plugin Registry.
Simulate transactions [ –simulate ]
The –simulate option on the deploy and publish command will simulate the transaction for you using Tenderly, so you can review the trace and debug easier where the error may be coming from, without actually executing the transaction on chain. This is coming soon, so stay tuned for it to be added!
Install a new plugin into a new DAO
Create a new DAO and install a plugin into it.
What’s next for OSx CLI
We’ll be publishing the CLI and getting feedback from builders to decide what to tackle next. Two updates likely on the horizon next are:
- Install a plugin into an existing DAO
- Create a repo with a basic plugin template
Subscribe to our developer newsletter to stay in-the-know on what’s coming up.
Our developer tooling page has links to everything you need to get started, including the CLI, a quickstart DAO plugin guide, a custom DAO front-end, and more.
If you want to keep up with developments in the OSx CLI, join our developer community to receive updates!