Skip to content

noyonalways/gotion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gotion Banner

Gotion – Local-First CLI Note Manager

Gotion is a zero-dependency, cross-platform CLI that turns your terminal into a fast, offline note-taking workspace.
Create, search, edit, tag, and archive Markdown notes stored directly on your machine—no servers, no cloud. All content lives as plain .md files in a folder you control, so you can sync, backup, or version-control them like any other project asset.


✨ Key Features

  • Blazing Fast – sub-second cold start, millisecond queries
  • Offline & Private – no cloud, no sign-ups, fully local storage
  • Portable Folder – one directory of .md files; move, backup, or git-track it
  • Full-text Search – fuzzy-find across titles, bodies, and tags

🚀 Installation & Run

Target Command Result
Quick Try make build Produces ./gotion (or gotion.exe) for immediate local testing.
Run the App make run Builds (if needed) and starts Gotion in one step.
Add Features make dev feat=new-search Scaffolds boilerplate for a new feature branch.
Release git tag -a v1.2.0 -m "..." Creates annotated tag; triggers GoReleaser via GitHub Actions.
Install make install Copies binary to $GOPATH/bin (or %GOPATH%\bin on Windows).
Run Anywhere gotion Available system-wide after install; auto-detects $HOME/Notes.

🧪 Clone & Extend

  1. Install Go (if you haven’t already)

    # macOS (Homebrew)
    brew install go
    
    # Ubuntu / Debian
    sudo apt update && sudo apt install golang-go
    
    # Arch Linux
    sudo pacman -S go
    
    # Windows (Scoop)
    scoop install go
  2. Clone the repo

    git clone https://github.com/noyonalways/gotion.git
    cd gotion
  3. Install Dependencies

    go mod tidy
  4. Hack on a new feature

    make dev feat=my-awesome-idea
    # code, test, commit…
  5. Push & open a PR

    git push origin feat/my-awesome-idea
    # open pull-request on GitHub

📦 Build & Release Pipeline

We follow a trunk-based workflow with automated releases:

  1. Stage changes

    git add .
    git commit -m "feat: add encrypted note support"
    git push origin main
  2. Tag release

    git tag -a v1.3.0 -m "release: encrypted notes, arm64 builds, zsh completion"
    git push origin v1.3.0
  3. CI takes over

    • GoReleaser cross-compiles binaries for 10 targets
    • Checksums & SBOMs are generated and attached
    • Homebrew formula is auto-bumped
    • Docker images (ghcr.io/your-org/gotion:v1.3.0) are published

About

Note taking CLI application based on golang

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors