This repo contains 4 packages: @klimadao/site
, @klimadao/app
, @klimadao/cms
and @klimadao/lib
.
@klimadao/site
-> klimadao.finance homepage. In the future, we can add the docs and blog as well.
@klimadao/app
-> app.klimadao.finance, a standalone single-page-app. Should be exportable as a static site for deployment on IPFS.
@klimadao/lib
-> A shared component and theme library. For now, just a set of resources shared by the above two apps. In the future, this can be extended and published on NPM as a component library for use in other community projects.
@klimadao/cms
-> The Content Management System at klimadao.sanity.studio. NOTE: Unlike the other packages, this one is not included as an NPM workspace from the root package.json. To work with the CMS you need to run sanity install
from inside the cms
folder. This is because it is managed by the sanity command line interface, which uses yarn
under the hood.
The DAO is looking for react/typescript devs as well as experienced Solidity devs! Enjoy a flexible work schedule and work on something truly ambitious and meaningful. Monthly compensation available based on your level of experience and degree of contribution.
If you'd like to just take a ticket or fix a bug, go for it (always better to ask first, though).
If you'd like to become a regular contributor to the DAO, join the contributor discord and follow the application instructions.
đź“šCheck out the contribution & style guide.
Take note, this repo utilizes newer features from Node, NPM and TypeScript 4.5.
- Node >= v16.x
- NPM >= v8.x (for NPM Workspaces)
- TypeScript >= 4.5 (for ESModules support)
npm install -g typescript
- VSCode Prettier extension
- VSCode ESLint extension
From the klimadao/
root folder, not from individual packages:
npm install
A set of NPM Workspace commands are provided, and can be run from the root folder.
npm run dev-site
: run the website on localhost:3000
npm run dev-app
: run the app on localhost:3001
npm run dev-lib
: Watch for changes in @klimadao/lib
and recompile on save. Alternatively, run npm run build-lib
to compile once (this is already done automatically for the above two commands).
npm run format-all
: Format all files with prettier
.
npm run extract-strings:dev
: Extract translation files for the source language "en".
This repo uses lingui in combination with translation.io.
We follow these rules:
- always add an ID to each translation
- extract the source translation with
npm run extract-strings:dev
- commit source language files "en" only
- Create an account on translation.io
- Request access to the project atmosfearful/klimadao in the #content-translation KlimaDAO discord server
- Log in translation.io
- Select the approprite project klimadao-site or klimadao-app
- Make sure you select the appropriate language in the top menu
- Start translating!
- Select an item to translate in the left column
- On the bottom right you will notice the source text (in English) and the place to translate the text beneath.
- You can prefill this by selecting an entry in the Suggestion area above.