Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gra0007/strand
A strand-like git GUI
https://github.com/gra0007/strand
git gui strand-like
Last synced: 4 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 (9 months ago)
- Default Branch: main
- Last Pushed: 2024-07-15T12:44:16.000Z (7 months ago)
- Last Synced: 2024-07-15T14:47:50.922Z (7 months ago)
- Topics: git, gui, strand-like
- Language: Rust
- Homepage:
- Size: 2.23 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Strand
[![GitHub Release](https://img.shields.io/github/v/release/GRA0007/strand?label=Version)](https://github.com/GRA0007/strand/releases)
[![checks](https://img.shields.io/github/check-runs/GRA0007/strand/main?label=Checks)](https://github.com/GRA0007/strand/actions)
[![Tauri v2](https://img.shields.io/badge/Tauri-v2-FFC131?logo=tauri&logoColor=FFC131)](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) recommended) installed to begin
2. Run `corepack enable` to install yarn
3. Clone the repository locally with git
4. Run `yarn` in the root of the repository to install the JavaScript dependencies
5. Run `yarn tauri dev` to start the dev serverThe 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`.