The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
Go to file
2023-08-25 11:50:41 +01:00
.github Include butler in CI backend detection 2023-08-21 16:32:50 +01:00
.vscode recommend vitest vscode plugin 2023-07-16 22:05:54 +02:00
butler Update butler/Cargo.lock 2023-08-24 15:45:47 +01:00
scripts fix arch test 2023-08-03 06:52:38 +00:00
src Fix small UI issues in vbranch peek file tree 2023-08-25 11:50:41 +01:00
src-tauri just use a lock 2023-08-25 10:10:42 +02:00
.env.development nightly builds 2023-07-14 13:06:22 +02:00
.env.nightly nightly builds 2023-07-14 13:06:22 +02:00
.env.production nightly builds 2023-07-14 13:06:22 +02:00
.eslintignore Use composite actions in push.yaml 2023-08-17 20:20:38 +01:00
.eslintrc.cjs Set eslint rule for typescript deps cycle to error 2023-08-03 22:42:04 +01:00
.gitignore Use composite actions in push.yaml 2023-08-17 20:20:38 +01:00
.npmrc Fixes the dependabot PRs 2023-08-16 23:56:39 +01:00
.prettierignore Use composite actions in push.yaml 2023-08-17 20:20:38 +01:00
.prettierrc include prettier-plugin-tailwindcss into config 2023-03-07 11:53:11 +01:00
histoire.config.ts replace storybook with histoire 2023-05-09 09:57:59 +02:00
histoire.setup.ts Update postcss path in histoire setup 2023-07-13 13:57:22 +02:00
package.json pnpm updates 2023-08-23 13:47:59 +02:00
pnpm-lock.yaml pnpm updates 2023-08-23 13:47:59 +02:00
postcss.config.cjs Use bundled tailwind nesting plugin 2023-07-14 09:48:33 +02:00
README.md fix typo 2023-08-22 09:47:31 +02:00
svelte.config.js fallback to index.html 2023-04-25 12:40:04 +02:00
tailwind.config.cjs merge upstream 2023-08-03 08:28:31 +02:00
tsconfig.json a little bit of a typescript testing setup 2023-06-22 14:42:44 +02:00
vite.config.ts disable sentry load() instrumentation 2023-07-13 10:46:10 +02:00

Development

Prerequisites

see here for the list of software required to build / develope the app.

Setup

Then, make sure to install app dependencies:

$ pnpm install

Develop

Running the app

Now you should be able to run the app in development mode:

$ pnpm tauri dev

Run Stories

Stories is our easy way to view our app components. Running the following command will launch in your default browser.

$ pnpm story:dev

Lint & format

Frontend:

$ pnpm lint
$ pnpm format

Backend:

$ cd ./src-tauri
$ cargo clippy   # see linting errors
$ cargo fmt      # format code

Debug

Logs

App writes logs into:

  1. stdout in development mode
  2. Logs directory

Tokio

We are also collecting tokio's runtime tracing information that could be viewed using tokio-console:

  • developlent:
    $ tokio-console
    
  • nightly:
    $ tokio-console http://127.0.0.1:6668
    
  • production:
    $ tokio-console http://127.0.0.1:6667
    

Build

To build the app in production mode, run:

$ pnpm tauri build --features devtools --config src-tauri/tauri.conf.nightly.json

This will make an asset similar to our nightly build.

Icon generation

$ pnpm tauri icon path/to/icon.png

Release

Building is done via GitHub Action. Go to the link and select Run workflow from the desired branch.

Versioning

When running the release action, you will have to choose one of major, minor, or patch release type. Action will generate a new version based on your input and current version found at https://app.gitbutler.com/releases.

Publishing

To publish a version that you've just build, use Release Manager.