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.
Important
Current version is a complete rewrite of the original Gisto.
- πΎ New version (2.x.x)
- ποΈ Preview
- βΉοΈ About
- β¬οΈ Getting gisto
β οΈ Important Notice About Installation- π± Features
- π Privacy/authentication
- βοΈ Latest builds
- ποΈ Internationalization
- π Issues, bug reporting and pull requests
- π¨βπ» Development setup
- π Release cycle
- βοΈ License
Tracked Via issue: #387
All progress of current version can be tracked on the "main" branch. New version uses Tauri instead of electron - what significantly reduces the file size
Previous version can be tracked via the "master" branch.
(click to play)
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.
brew install --cask Gisto/tap/gistoVisit gisto.org for more information.
Download Gisto for macOS, Windows, Linux from the releases tab
- New: app.gisto.org
- Old: web-gistoapp.netlify.app
Desktop app is built with Tauri for a smaller file size.
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.
- When the warning appears, click More info.
- Select Run anyway to proceed with the installation.
- After downloading, if you see the warning, go to System Preferences > Security & Privacy > General.
- Click Open Anyway next to the blocked app message.
- Confirm by clicking Open when prompted.
- 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
- 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...
Gisto supports two authentication modes:
-
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.
-
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.
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 are always at the releases tab
Please feel free to add a bug / feature request / suggestions to the issue tracker.
Pull requests are very welcome
Make sure you have nodejs and pnpm (we use pnpm) installed in the development machine
- Clone the latest "main" branch:
git clone -b main --single-branch https://github.com/gisto/gisto.git - Run
pnpm install - Run
pnpm devto start the development app (vite) - Run
pnpm tauri devto start the development desktop app (vite with Tauri)
Please squash commits per "feature"
- Create a branch from latest
main - Add new code additions
- Write meningfull commit message using
pnpm commitcommand (it will be linted, as we generate changelog from commits) - Push
- Open pull request
- Merge to main - changelog will be automatically updated via GitHub Actions
β οΈ For maintainers
The release process is fully automated via GitHub Actions. Here's the flow:
flowchart TD
A[Maintainer triggers<br>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]
-
Trigger
automate-release.ymlworkflow manually:- Go to Actions β Automate Release β Run workflow
- Select version bump type:
patch,minor, ormajor - Click "Run workflow"
-
Automated process (no manual intervention needed):
- Version bumped and tag created
- Changelog updated and committed
- Changes pushed to remote
mainmerged intoreleasebranch- Build triggered for all platforms
- Release created with DMG/EXE/AppImage
- Homebrew tap updated automatically
-
Release available at:
- Releases tab
- Homebrew:
brew install --cask Gisto/tap/gisto
Gisto is licensed under the MIT License. See LICENSE for the full license text.