Table of Contents _________________ 1. Stitch - Note Managing for Messy Minimalists .. 1. FEATURES .. 2. SCREENSHOTS .. 3. CREDIT .. 4. USAGE .. 5. INSTALLATION .. 6. DEVELOPMENT & BUILDING .. 7. ROADMAP 2. COMMUNITY & CONTRIBUTING 3. KNOWN ISSUES 4. AUTHOR 1 Stitch - Note Managing for Messy Minimalists ============================================== "...Differing from Newton and Schopenhauer, your ancestor did not think of time as absolute and uniform. He believed in an infinite series of times, in a dizzily growing, ever spreading network of diverging, converging and parallel times. This web of time - the strands of which approach one another, bifurcate, intersect or ignore each other through the centuries - embraces every possibility. We do not exist in most of them. In some you exist and not I, while in others I do, and you do not, and in yet others both of us exist." - Garden of Forking Paths, Borges Stitch is a minimal grep-based CLI note-managing system targeting those that want to easily capture notes and not spend time organizing them. Use tags to capture notes and then stitch them together. Build your own knowledge base, journal, todo manager and more. Stitch is unopiniated; use whatever editor and file format you want. It only requires that each file contains only one heading. Stitch is a note-manager that tag teams seamlessly with your preferred text editor. The manpages provide examples to get you started. 1.1 FEATURES ~~~~~~~~~~~~ - Read your notes in multiple different ways - Comes with four views: full, headlines, todo, done - Compatible with any file format: markdown, ruby markup, org etc. - Run shell commands on notes using sed, grep etc. - Write notes in any editor: vim, kakoune... or even ed! - Available as a single static binary - No need for an external DB, it only uses files - Unix-y & fast 1.2 SCREENSHOTS ~~~~~~~~~~~~~~~ - Notes Overview + Search https://blobs.mccd.space/stitch/notes-view.png - TODO View https://blobs.mccd.space/stitch/todo-view.png - Done View (+ Example of a command) https://blobs.mccd.space/stitch/done-view-commands.png - Full-Notes View https://blobs.mccd.space/stitch/full-notes-view.png 1.3 CREDIT ~~~~~~~~~~ Stitch is based on the note composing system Howm for Emacs. 1.4 USAGE ~~~~~~~~~ Run `stitch --help' or `man stitch' to get started 1.5 INSTALLATION ~~~~~~~~~~~~~~~~ You can find all static releases tagged under https://git.mccd.space/pub/stitch/refs/ Download the binary, chmod +x the binary and put in PATH. Obs, the download link next to the tag is for the snapshot, you will have to open the link of the tag to find the download to the binary. For stitch to work, you will need to set the environment variable STITCH_DIRECTORY, which should be an absolute path to where you want to store your notes, for stitch to work. Stitch depends on GNU Grep or Ugrep. 1.6 DEVELOPMENT & BUILDING ~~~~~~~~~~~~~~~~~~~~~~~~~~ To set up the project for local development, the easiest way is to install Nix, direnv and enable nix flakes. Then to compile: dune build Optimized build with dune build --profile release And to run dune exec -- stitch To generate man pages, run dune exec -- stitch --help=groff You can find the generated binary under _build/default/bin/main.exe. Ignore the .exe, it's not a windows binary. When the system is built with Nix, it will be dynamically linked. To build a static release, There is a Dockerfile included that compiles it with musl, use it with podman: podman pull docker.io/alpine:edge podman build . -t stitch:latest mkdir release podman run -v ./release:/tmp/build/_build:U stitch:latest Binary will be found in ./release/install/default/bin/stitch and manpages in ./release/install/default/man/man1/stitch.1 1.7 ROADMAP ~~~~~~~~~~~ - Support sort - Support tagging commands - Support custom hotkeys - Prettier rendering - Better result narrowing 2 COMMUNITY & CONTRIBUTING ========================== Patches, discussions, bug reports etc. can be sent to ~marcc/stitch-general@lists.sr.ht. Feel free to share your setup, tips, and tricks etc. Archives can be found at https://lists.sr.ht/~marcc/stitch-general Never used git with email? You can learn how-to here: https://git-send-email.io/ 3 KNOWN ISSUES ============== - ugrep doesn't correctly handle ordering, meaning that if you sort by modified date, it doesn't behave correctly. Because of this I am waiting with a sort functionality until I have come up wiht a decent implementation. - File names cannot contain :[0-9]:, since it's used to determine where the file starts and ends with grep. 4 AUTHOR ======== Marc Coquand (<https://mccd.space>)