create-terra-app
v0.10.0
Published
Set up a modern Cosmos app by running one command ⚛️
Downloads
5
Readme
create-cosmos-app
Set up a modern Cosmos app by running one command ⚛️
Demo
https://user-images.githubusercontent.com/545047/192061992-f0e1106d-f4b2-4879-ab0a-896f22ee4f49.mp4
Overview
# install
npm install -g create-cosmos-app
# run one command
create-cosmos-app
> name: my-app
cd my-app
yarn && yarn dev
# now your app is running on localhost:3000!
Get Started Immediately
You don’t need to install or configure cosmjs, keplr, nextjs, webpack or Babel.
Everything is preconfigured, ready-to-go, so you can focus on your code!
- ⚡️ Connect easily to keplr + keplr mobile via wallet connect
- ⚛️ Sign and broadcast with cosmjs stargate + cosmwasm signers
- 🛠 Render pages with next.js hybrid static & server rendering
- 🎨 Build awesome UI with Cosmos Kit and Chakra UI
- 📝 Leverage chain-registry for Chain and Asset info for all Cosmos chains
Education & Resources
🎥 Checkout our videos to learn to learn more about create-cosmos-app
and tooling for building frontends in the Cosmos!
Checkout cosmos-kit for more docs as well as cosmos-kit/react for getting cosmjs stargate and cosmjs signers.
Creating an App
To create a new app, you may choose one of the following methods:
global install
npm install -g create-cosmos-app
Then run the command:
create-cosmos-app
we also made an alias cca
if you don't want to type create-cosmos-app
:
cca
npx
npx create-cosmos-app
npm
npm init cosmos-app
Yarn
yarn create cosmos-app
Examples
Explore examples!
cca --example
Send Tokens
cca --name cca-sendtokens --example --template send-tokens
Osmosis
uses osmojs
cca --name myosmoapp --example --template osmosis
or the cosmwasm example:
cca --name osmowasm --example --template osmosis-cosmwasm
Juno
uses juno-network
cca --name myjunoapp --example --template juno
Stargaze
uses stargazejs
cca --name mystarsapp --example --template stargaze
CosmWasm
cca --name mywasmapp --example --template cosmwasm
Tailwind
cca --name cca-tailwind --example --template tailwindcss
Development
Because the nature of how template boilerplates are generated, we generate yarn.lock
files inside of nested packages so we can fix versions to avoid non-deterministic installations.
When adding packages, yarn workspaces will use the root yarn.lock
. It could be ideal to remove it while adding packages, and when publishing or pushing new changes, generating the nested lock files.
In the root, to remove all nested lock files:
yarn locks:remove
When you need to remove/generate locks for all nested packages, simply run yarn locks
in the root:
yarn locks
Credits
🛠 Built by Cosmology — if you like our tools, please consider delegating to our validator ⚛️
Code built with the help of these related projects:
- @cosmwasm/ts-codegen for generated CosmWasm contract Typescript classes
- @osmonauts/telescope a "babel for the Cosmos", Telescope is a TypeScript Transpiler for Cosmos Protobufs.
- chain-registry Cosmos chain registry and chain info.
- cosmos-kit A wallet connector for the Cosmos.