GithubHelp home page GithubHelp logo

johnlenin00 / aragon-cli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aragon/aragon-cli

0.0 0.0 0.0 2.35 MB

CLI for creating and publishing Aragon apps

License: GNU General Public License v3.0

Shell 0.02% TypeScript 0.79% JavaScript 99.19%

aragon-cli's Introduction

Aragon CLI

Build Status Test Coverage NPM version Downloads

Aragon CLI is a tool for creating, testing and publishing Aragon applications.

Installation

Install Aragon CLI by running

npm install -g @aragon/cli

Configuration

Aragon CLI uses Truffle configuration files for the web3 provider. Running any command with --network x will tell the CLI to use the configuration for the network x in the truffle config. If no network is passed, it will default to the development network.

All other configuration must be done through CLI flags for now. Do aragon [command] --help for more information about the configuration options for each command.

Usage

Apps

aragon init

$ aragon init <APP_NAME> [TEMPLATE]

Creates a new directory pre-populated with files from a template. APP_NAME must be a full ENS name, such as foo.aragonpm.eth, where the top-level name is an APM registry.

TEMPLATE defaults to react, but it can be any valid name of a GitHub repository in the format of <AUTHOR>/<REPOSITORY>.

Finally, templates with a single short name (such as react or bare) are treated as official Aragon templates. These can always be found at https://github.com/aragon/aragon-<TEMPLATE>-boilerplate.

aragon run

$ aragon run [--port PORT]

For running from a custom Kit (so you can deploy other Aragon apps to the DAO) check https://github.com/aragon/aragon-react-kit-boilerplate

Run the app in the current directory locally.

This command does the following:

  • Starts a local chain
  • Starts IPFS
  • Deploys all of the base smart contracts needed for aragonOS to work (ENS, APM, DAO templates, ...)
  • Creates a DAO
  • Runs the build script of the app (if specified in package.json)
  • Publishes the app locally
  • Installs it on your freshly created local DAO
  • Starts the wrapper and opens up your DAO in your browser

The local chain is started at PORT, which defaults to 8545.

The publish step of the app works exactly as aragon apm publish, described below.

aragon apm publish

$ aragon apm publish [CONTRACT_ADDRESS or CONTRACT_NAME] [--files PATTERN] [--ignore PATTERN] [--skip-confirm] [--only-artifacts]

Publishes a new (or the first!) version of your app.

If the APM repository does not exist at your app's full name, then we try to create a new repository for you at the APM registry from the app name. This usually happens the first time you publish, unless you create your repository manually beforehand.

The files specified by --files (defaults to ., i.e. all files in the current directory) will be published to IPFS for publishing. Specify --files multiple times to include multiple files or directories.

All files in your .gitignore (if any) will be ignored, along with all gitignore-like patterns specified by --ignore (which can be specified multiple times for multiple patterns).

Before publishing, your smart contract source code is scanned to generate an artifact containing additional metadata about it, such as the different methods of your contract, their Radspec descriptions (if any) and what roles they are guarded by. Specify --only-artifacts if you only want this artifact.

If --skip-confirm is specified the command will not wait for the transaction to receive confirmations.

aragon apm version

$ aragon apm version <BUMP>

Bumps the version of your Aragon app, where a valid BUMP is either major, minor or patch.

Note that you are only allowed to release a version with a new smart contract address if the bump specified is major.

aragon apm versions

$ aragon apm versions

View a list of published versions for the app in the current directory.

DAOs

aragon apm grant

$ aragon apm grant <ADDRESS> [--skip-confirm]

Grants permission for ADDRESS to interact with the APM repository of the app in the current directory.

If --skip-confirm is specified the command will not wait for the transaction to receive confirmations.

aragon dao apps or dao apps

$ dao apps <your-dao-address>

Shows your installed apps along with their Proxy and IPFS addresses.

aragon dao acl or dao acl

$ dao acl <your-dao-address>

Shows the roles defined in your DAO with all the relevant info: where they are defined and to whom are granted.

Misc

aragon devchain

Starts a local ganache test chain for development. This is done automatically with aragon run also if you don't have one already running.

.ipfsignore

Use a .ipfsignore file to keep out any specified files or paths from the bundle published to ipfs. If there’s no .ipfsignore file, but there is a .gitignore file, then the CLI will ignore the stuff matched by the .gitignore file. If you want to include something that is excluded by your .gitignore file, you can create an empty .ipfsignore file to override it.

aragon-cli's People

Contributors

izqui avatar onbjerg avatar luisivan avatar kernelwhisperer avatar bingen avatar sohkai avatar 0x-r4bbit avatar 0xgabi avatar ewingrj avatar johnlenin00 avatar jvluso avatar deamme avatar jtremback avatar macor161 avatar mnaamani avatar gasolin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.