An open API service indexing awesome lists of open source software.

https://github.com/gisto/gisto

Gisto is a Cross-platform snippets management application that allows you and/or your team share code snippets fast and easily. Based on GitHub Gists or GitLab snippets Infrastructure which means you can use all your existing snippets by connecting your GitHub/GitLab account!
https://github.com/gisto/gisto

gist github-gist gitlab-snippets snippet snippets snippets-collection snippets-manager

Last synced: about 1 month ago
JSON representation

Gisto is a Cross-platform snippets management application that allows you and/or your team share code snippets fast and easily. Based on GitHub Gists or GitLab snippets Infrastructure which means you can use all your existing snippets by connecting your GitHub/GitLab account!

Awesome Lists containing this project

README

          

# Gisto MK II

![GitHub License](https://img.shields.io/github/license/gisto/gisto)
![GitHub Release](https://img.shields.io/github/v/release/gisto/gisto)

> Snippets made awesome

Gisto is a code snippet manager that runs on GitHub Gists / GitLab Snippets / local in-browser database and adds additional features such as searching, tagging and sharing snippets while including a rich code editor. You can also use local storage to save snippets directly in your browser.

> [!NOTE]
>
> Latest builds are always at the [releases](https://github.com/Gisto/Gisto/releases) tab or at [gisto.org](https://gisto.org)

> [!IMPORTANT]
> Current version is a complete rewrite of the original Gisto.

# Table of Contents

- [🍾 New version (2.x.x)](#-new-version-2xx)
- [đŸ‘ī¸ Preview](#%EF%B8%8F-preview)
- [â„šī¸ About](#ℹ%EF%B8%8F-about)
- [âŦ‡ī¸ Getting gisto](#ī¸-getting-gisto)
- [âš ī¸ Important Notice About Installation](#ī¸-important-notice-about-installation)
- [🌱 Features](#-features)
- [🔍 Privacy/authentication](#-privacyauthentication)
- [âš™ī¸ Latest builds](#ī¸-latest-builds)
- [đŸŒī¸ Internationalization](#-internationalization)
- [🐞 Issues, bug reporting and pull requests](#-issues-bug-reporting-and-pull-requests)
- [👨‍đŸ’ģ Development setup](#-development-setup)
- [🚀 Release cycle](#-release-cycle)
- [âš–ī¸ License](#%EF%B8%8F-license)

# 🍾 New version (2.x.x)

> Tracked Via issue: [#387](https://github.com/Gisto/Gisto/issues/387)

> [changelog](https://github.com/Gisto/Gisto/blob/main/CHANGELOG.md)

All progress of current version can be tracked on the ["main"](https://github.com/Gisto/Gisto/tree/main) branch.
New version uses [Tauri](https://v2.tauri.app/) instead of electron - what significantly reduces the file size

## Previous version (up to 1.13.4)

Previous version can be tracked via the ["master"](https://github.com/Gisto/Gisto/tree/master) branch.

---

# đŸ‘ī¸ Preview

(click to play)

[![Gisto MK-II](https://github.com/user-attachments/assets/10815e14-7131-4ff1-bc63-108978653663)](https://www.youtube.com/watch?v=eJvADAZP2mg 'Gisto MK-II')

---

# â„šī¸ About

Gisto is a code snippet manager that runs on GitHub Gists / GitLab Snippets / local in-browser database and adds additional features such as searching, tagging and sharing snippets while including a rich code editor. All your data is stored on GitHub/GitLab and you can access it from GitHub Gists or GitLab Snippets at any time with changes carrying over to Gisto. You can also use local storage to save snippets directly in your browser without an account.

---

# âŦ‡ī¸ Getting gisto

### Homebrew (Recommended for macOS)

```bash
brew install --cask Gisto/tap/gisto
```

### Download from website

Visit [gisto.org](https://gisto.org) for more information.

### Download from realeases

Download Gisto for macOS, Windows, Linux from the [releases](https://github.com/Gisto/Gisto/releases) tab

### Web app

- **New**: [app.gisto.org](https://app.gisto.org)
- **Old**: [web-gistoapp.netlify.app](https://web-gistoapp.netlify.app)

---

Desktop app is built with [Tauri](https://v2.tauri.app/) for a smaller file size.

---

# âš ī¸ Important Notice About Installation

### This App is Not Code-Signed

Since this is an open-source project and we currently do not have the resources to purchase code-signing certificates, the application **is not signed**. As a result:

- **On Windows**: You may see a warning like _"Windows protected your PC"_ or _"Unrecognized app."_
- **On macOS**: You may see a message saying _"This app is from an unidentified developer."_

These warnings are normal for unsigned applications and do not mean the app is harmful. However, always ensure you download the app from the **official release page of this repository** to avoid tampered files.

## How to Install the Unsigned App

### **Windows**:

1. When the warning appears, click **More info**.
2. Select **Run anyway** to proceed with the installation.

### **macOS**:

1. After downloading, if you see the warning, go to **System Preferences > Security & Privacy > General**.
2. Click **Open Anyway** next to the blocked app message.
3. Confirm by clicking **Open** when prompted.

---

# 🌱 Features

- Advanced search
- Enterprise log-in (under consideration)
- Tags
- Syntax highlight
- Grouping by language
- Quick snippet actions
- Copy to clipboard
- Copy file contents to clipboard
- Open in external tools like plunkr, carbon.now.sh, jsfiddle, etc.
- Editor settings
- Theme color changer
- [Web app](https://app.gisto.org)
- Support for multiple languages - (this feature machine generated, experimental and not fully implemented yet)
- Open source
- **Local storage mode** - Use IndexedDB to store snippets locally without a GitHub/GitLab account

and more...

---

# 🔍 Privacy/authentication

Gisto supports two authentication modes:

1. **GitHub/GitLab** - Authenticate using GitHub Access token or GitLab Personal Access Token

You may manually create an access token from the account settings at GitHub and login using the generated token.

Gisto only saves the Access token in your local storage and nothing else.

This token will be saved permanently until you log out, or it will expire.

2. **Local Mode** - Store snippets locally using IndexedDB

No account required. Your snippets are stored in your browser's local database. You can export and import your snippets as JSON files from Settings.

---

# 🌐 Internationalization

Gisto is available in multiple languages. You can change the language in the settings.

> [!NOTE]
>
> Please note that the translations are machine-generated and may not be perfect. If you would like to contribute to the translations, please feel free to submit a pull request.

# âš™ī¸ Latest builds

Latest builds are always at the [releases](https://github.com/Gisto/Gisto/releases) tab

---

# 🐞 Issues, bug reporting and pull requests

Please feel free to add a bug / feature request / suggestions to the issue tracker.

**Pull requests are very welcome**

---

# 👨‍đŸ’ģ Development setup

> Make sure you have **nodejs** and **pnpm** (we use pnpm) installed in the development machine

### Setup

1. Clone the latest "main" branch: `git clone -b main --single-branch https://github.com/gisto/gisto.git`
2. Run `pnpm install`
3. Run `pnpm dev` to start the development app (vite)
4. Run `pnpm tauri dev` to start the development desktop app (vite with Tauri)

---

# đŸ•ļī¸ Contribution

> Please squash commits per "feature"

### Flow

1. **Create a branch** from latest `main`
2. **Add new code additions**
3. **Write meningfull commit message** using `pnpm commit` command (it will be linted, as we generate changelog from commits)
4. **Push**
5. **Open pull request**
6. **Merge to main** - changelog will be automatically updated via GitHub Actions

---

# 🚀 Release cycle

âš ī¸Ž For maintainers

The release process is fully automated via GitHub Actions. Here's the flow:

```mermaid
flowchart TD
A[Maintainer triggers
automate-release.yml] -->|selects version bump| B{bump type}
B -->|patch| C[Patch version bump]
B -->|minor| D[Minor version bump]
B -->|major| E[Major version bump]

C --> F[Bump version & update CHANGELOG]
D --> F
E --> F

F --> G[Push tag to remote]
G --> H[Merge main → release branch]
H --> I[Trigger publish.yml]

I --> J[Build for macOS ARM]
I --> K[Build for macOS Intel]
I --> L[Build for Linux]
I --> M[Build for Windows]

J --> N[Create GitHub Release]
K --> N
L --> N
M --> N

N --> O[Trigger homebrew-tap.yml]
O --> P[Update Homebrew tap]
```

## Steps

1. **Trigger `automate-release.yml`** workflow manually:
- Go to Actions → Automate Release → Run workflow
- Select version bump type: `patch`, `minor`, or `major`
- Click "Run workflow"

2. **Automated process** (no manual intervention needed):
- Version bumped and tag created
- Changelog updated and committed
- Changes pushed to remote
- `main` merged into `release` branch
- Build triggered for all platforms
- Release created with DMG/EXE/AppImage
- Homebrew tap updated automatically

3. **Release available** at:
- [Releases](https://github.com/Gisto/Gisto/releases) tab
- Homebrew: `brew install --cask Gisto/tap/gisto`

# âš–ī¸ License

Gisto is licensed under the MIT License. See [LICENSE](LICENSE) for the full license text.