diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6e915f3ea6..ab2e7d597b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,7 +16,6 @@ Budibase is a monorepo managed by [lerna](https://github.com/lerna/lerna). Lerna - **packages/server** - The budibase server. This [Koa](https://koajs.com/) app is responsible for serving the JS for the builder and budibase apps, as well as providing the API for interaction with the database and file system. - ## Glossary of Terms @@ -96,7 +95,7 @@ then `cd ` into your local copy. ### 4. Initialising Budibase and Creating a Budibase App -`yarn initialise` will initialise your budibase installation. A Budibase apps folder will have been created in `~/.budibase`. This also creates +`yarn initialise` will initialise your budibase installation. A Budibase apps folder will have been created in `~/.budibase`. This is a blank apps folder, so you will need to create yourself an app. @@ -137,12 +136,12 @@ A client can have one or more budibase applications. Budibase applications are s To see the current individual JSON definitions for your pages and screens used by the builder, have a look at `~/.budibase//pages`. -For your actual running application (not in dev), the frontend tree structure of the application (known as `clientFrontendDefinition`) is stored as JSON on disk. This is what the budibase client library reads to create your app at runtime. This can be found at `~/.budibase//public/clientFrontendDefinition.js` +For your actual running application (not in dev), the frontend tree structure of the application (known as `clientFrontendDefinition`) is stored as JSON on disk. This is what the budibase client library reads to create your app at runtime. This can be found at `~/.budibase//public/clientFrontendDefinition.js` The HTML and CSS for your apps runtime pages, as well as the budibase client library JS is stored at: -- `~/.budibase//public/main` -- `~/.budibase//public/unauthenticated` +- `~/.budibase//public/main` +- `~/.budibase//public/unauthenticated` #### Backend @@ -158,74 +157,14 @@ yarn publishnpm from your root directory. +### Troubleshooting -### Other Useful Information - -* The contributors are listed in [AUTHORS.md](https://github.com/budibase/server/blob/master/AUTHORS.md) (add yourself). - -* This project uses a modified version of the MPLv2 license, see [LICENSE](https://github.com/budibase/server/blob/master/LICENSE). - -* We use the [C4 (Collective Code Construction Contract)](https://rfc.zeromq.org/spec:42/C4/) process for contributions. - Please read this if you are unfamiliar with it. - -* If the project diverges from your branch, please rebase instead of merging. This makes the commit graph easier to read. - -* Once your work is completed, please raise a PR against the main branch with some information about what has changed and why. - -### Getting Started For Contributors - -### 1. Prerequisites - -*yarn -* `npm install -g yarn` - -*jest* - `npm install -g jest` - -### 2. Clone this repository - -`git clone https://github.com/Budibase/budibase.git` - -then `cd ` into your local copy. - -### 3. Install and Build - -`yarn` to install project dependencies - -`yarn bootstrap` will install all budibase modules and symlink them together using lerna. - -`yarn build` will build all budibase packages. - -### 4. Initialising Budibase and Creating a Budibase App - -`yarn initialise` will initialise your budibase installation. A Budibase apps folder will have been created in `~/.budibase`. This also creates - -This is a blank apps folder, so you will need to create yourself an app. +Sometimes, things go wrong. This can be due to incompatible updates on the budibase platform. To clear down your development environment and start again: ``` -cd packages/server -yarn run budi new your-app-name +rm -rf ~/.budibase ``` - -This will create a new budibase application in the `~/.budibase/` directory, and NPM install the component libraries for that application. Let's start building your app with the budibase builder! - -### 4. Running - -To run the budibase server and builder in dev mode (i.e. with live reloading): - -1. Open a new console -2. `yarn dev` (from root) -3. Access the builder on http://localhost:4001/_builder/ - -This will enable watch mode for both the builder app, server, client library and any component libraries. - -### Running Commands from /server Directory - -Notice that when inside `packages/server`, you can use any Budibase CLI command via yarn: - -e.g. `yarn budi new mikes_app` == `budi new mikes_app` - -This will use the CLI directly from `packages/cli`, rather than your globally installed `budi` - -### Publishing Budibase to NPM +Follow from **Step 3. Install and Build** in the setup guide above. You should have a fresh Budibase installation. ### Other Useful Information @@ -235,4 +174,4 @@ This will use the CLI directly from `packages/cli`, rather than your globally in * This project uses a modified version of the MPLv2 license, see [LICENSE](https://github.com/budibase/server/blob/master/LICENSE). * We use the [C4 (Collective Code Construction Contract)](https://rfc.zeromq.org/spec:42/C4/) process for contributions. -Please read this if you are unfamiliar with it. + Please read this if you are unfamiliar with it. \ No newline at end of file