https://github.com/gra0007/strand
A strand-like git GUI
https://github.com/gra0007/strand
git gui strand-like
Last synced: 10 months ago
JSON representation
A strand-like git GUI
- Host: GitHub
- URL: https://github.com/gra0007/strand
- Owner: GRA0007
- License: mit
- Created: 2024-05-17T04:16:11.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-10T11:54:28.000Z (about 1 year ago)
- Last Synced: 2025-04-10T12:58:10.969Z (about 1 year ago)
- Topics: git, gui, strand-like
- Language: Rust
- Homepage:
- Size: 2.23 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

# Strand
[](https://github.com/GRA0007/strand/releases)
[](https://github.com/GRA0007/strand/actions)
[](https://tauri.app/)
> A strand-like git GUI
Strand intends to be a simple but powerful graphical user interface for [Git](https://www.git-scm.com/).
## Principles
- Strand is designed to use only native git cli commands to interface with your repositories. This has the benefit of being able to support every git feature, as well as show a log of commands it has run.
- As a git GUI, Strand attempts to simplify complex git functionality, with the aid of the visuals. This includes functionality like auto-fetch, undo/redo, and the git graph.
- During early development, Strand is very opinionated, and minimal customisation will be available. This may change in the future.
## Download
> [!WARNING]
> Strand is currently in alpha, so many features will be missing/broken and there is no documentation. Feel free to try it out at your own risk.
You can download the latest release for your device from the [GitHub releases](https://github.com/GRA0007/strand/releases).
## Contributing
Strand is still in the early stages of design and development, so any contributions are likely to be rejected. If you'd like to get it running locally however, follow the steps below.
### Local Development
1. You'll need [Rust](https://www.rust-lang.org/) and [Node.js](https://nodejs.org/en) ([fnm](https://github.com/Schniz/fnm) or similar recommended) installed to begin. Make sure you install the version of Node specified in the `.nvmrc` file.
2. Install [pnpm](https://pnpm.io/installation).
3. Clone the repository locally with git.
4. Run `pnpm i` in the root of the repository to install the JavaScript dependencies.
5. Run `pnpm tauri dev` to start the dev server.
The UI is built with [React](https://react.dev/), and the code can be found in the `src` folder.
The `src-tauri` folder contains the Rust code. If you want to take advantage of the [`sqlx`](https://github.com/launchbadge/sqlx) checked queries, you'll need to create a `.env` file in this folder with the `DATABASE_URL` set to the location of the Sqlite file, e.g. `sqlite:/Users/you/Library/Application Support/dev.bengrant.strand/data.db`.