A plain-text Issue and PR tracking system

Overview

Markrequests

A plain-text Issue and PR tracking system.

An example of a file to track these is in prs/example.md

Rationale

I am unsatisfied with the conclusions I reached in my "Plain Text Teams" video. (https://www.youtube.com/watch?v=WgV6M1LyfNY) It's difficult to separate my desire for purity in doing as much in plain-text as possible, with the practicality that GitHub (and other web hosts) have some features you're not going to want to miss, but can't yet get in plain text.

So, in the video, I proposed a compromise. Yes, Issues, Projects and even PRs are outside of git, but because they are tied so closely to your repo, I still recommended them, as a concession to practicality.

I still prefer GitHub projects to JIRA because it's the same tool, bound up closely to the repository, where the work is actually happening. My assumption is that you'll never change your git host, so these add-on tools (that are broadly similar in all GitHub competitors) are ALSO never going away. The Ulysses Pact remains!

I'm considering building a git-native PRs, issues and projects system, backed into markdown files inside the repo in prs/, issues/, projects/, if they're stored in markdown, you can build them in whatever editors you would like, they only need a CLI tool and web viewer to present them, everything else can be done git and plain text native? I'll make a full GH project soon and announce it when I've made a simple reference implementation CLI (simpl yaml and markdown parsing are gonna make this an easy initial MVP project) Here's a mockup of a PR template to show you what I mean https://gist.github.com/0atman/11c80138148fcba126a2c88b1893ff34

You might also like...
Split text into semantic chunks, up to a desired chunk size. Supports calculating length by characters and tokens

Large language models (LLMs) can be used for many tasks, but often have a limited context size that can be smaller than documents you might want to use. To use documents of larger length, you often have to split your text into chunks to fit within this context size.

A tiny library and application for animating text in the terminal.
A tiny library and application for animating text in the terminal.

๐ŸŒ snailshell A tiny library and application for animating text in the terminal. ๐Ÿช„ It's so easy to add some flair to your text RPGs or console progra

Simple yet powerful multi-line text editor widget for tui-rs and ratatui
Simple yet powerful multi-line text editor widget for tui-rs and ratatui

tui-textarea tui-textarea is a simple yet powerful text editor widget like textarea in HTML for tui-rs and ratatui. Multi-line text editor can be ea

nvim-oxi provides safe and idiomatic Rust bindings to the rich API exposed by the Neovim text editor.

๐Ÿ”— nvim-oxi nvim-oxi provides safe and idiomatic Rust bindings to the rich API exposed by the Neovim text editor. The project is mostly intended for p

A text and (will be) graphic programming language

Siren Language I'm trying to make a simple programming language called Siren Language. This language will become a graphic and text programming langua

Attempt to summarize text from `stdin`, using a large language model (locally and offline), to `stdout`

summarize-cli Attempt to summarize text from stdin, using a large language model (locally and offline), to stdout. cargo build --release target/releas

A rust crate for rendering large text to the terminal using font8x8 and ratatui.
A rust crate for rendering large text to the terminal using font8x8 and ratatui.

tui-big-text tui-big-text is a rust crate that renders large pixel text as a ratatui widget using the glyphs from the font8x8 crate. Installation carg

A Text User Interface library for the Rust programming language
A Text User Interface library for the Rust programming language

Cursive Cursive is a TUI (Text User Interface) library for rust. It uses ncurses by default, but other backends are available. It allows you to build

A cross platform minimalistic text user interface
A cross platform minimalistic text user interface

titik Titik is a crossplatform TUI widget library with the goal of being able to interact intuitively on these widgets. It uses crossterm as the under

Comments
  • How do issue and PR files interact with branches?

    How do issue and PR files interact with branches?

    In the README.md you mention:

    inside the repo in prs/, issues/, projects/, if they're stored in markdown

    This seems a little problematic because how do you then manage the native branching nature of Git? A pull request is a request to merge two branches (e.g. my-awesome-feature with main). If this is the case, where does the PR file live?

    • If it's in my-awesome-feature then it becomes very hard to see a list of all PRs, you'd have to go inspecting multiple branches
    • If it's in main, how are you creating the PR files in the first place? Is that a push to main without a PR? Because in many repos that breaks branch protection rules

    I suppose this is why GitHub wikis (which are a great model) are stored in a separate-but-linked Git repository (<repository-name>.wiki.git). Maybe this is broadly a better pattern for any plain-text meta-information that's globally about the whole project rather than specific to an individual branch?

    So you could define a standard for structuring a standalone PRs repository which had a top-level config file that would point to the target repo. Or the other way around, the main branch of the top level project could have a config file that explain where its PRs repo was located. Or both.

    Thoughts?

    opened by nottrobin 0
  • Cool, I love it

    Cool, I love it

    What do you really mean by webviewer?

    • With a backend that handles that jucy mark request logic and a served ui to control it, like github actually?

    • Or a UI that is built on top of git that is a replacement / drop in for the cli, like docker and docker desktop?

    opened by SilenLoc 2
Owner
Tristram Oaten
Professional amateur developer. Amateur professional producer.
Tristram Oaten
Stall tracking for Python's GIL and Trio tasks

Perpetuo perpetuo, verb: To cause to continue uninterruptedly, to proceed with continually Perpetuo is a stall tracker for Python. Specifically, it ca

Nathaniel J. Smith 10 Apr 29, 2023
Bartib is an easy to use time tracking tool for the command line.

Bartib is an easy to use time tracking tool for the command line. It saves a log of all tracked activities as a plaintext file and allows you to create flexible reports.

Nikolas Schmidt-Voigt 346 Jan 2, 2023
Provide CRUD CLI for Moco Activities with Jira Cloud Sync Option for faster time tracking.

Moco CLI Provide CRUD CLI for Moco Activities with Jira Cloud Sync Option for faster time tracking. Available commands Login Jira Must be called befor

Emanuel Vollmer 7 Nov 18, 2022
An implementation of Piet's text interface using cosmic-text

piet-cosmic-text Implements piet's Text interface using the cosmic-text crate. License piet-cosmic-text is free software: you can redistribute it and/

John Nunley 7 Mar 12, 2023
First project in rust which will be to make an accounts system & Leaderboard/Score system

rust-backend this is my first project in rust which will be to make a backend for compsci project it will include: Accounts, Player Achievements (if I

NaughtyDog6000 2 Jul 13, 2023
create and test the style and formatting of text in your terminal applications

description: create and test the style and formatting of text in your terminal applications docs: https://docs.rs/termstyle termstyle is a library tha

Rett Berg 18 Jul 3, 2021
A library that creates a terminal-like window with feature-packed drawing of text and easy input handling. MIRROR.

BearLibTerminal provides a pseudoterminal window with a grid of character cells and a simple yet powerful API for flexible textual output and uncompli

Tommy Ettinger 43 Oct 31, 2022
A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!

uwuifyy A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text! Logo Credits: Jade Nelson Tab

Hamothy 43 Dec 12, 2022
Simple macros to write colored and formatted text to a terminal. Based on `termcolor`, thus also cross-platform.

Bunt: simple macro-based terminal colors and styles bunt offers macros to easily print colored and formatted text to a terminal. It is just a convenie

Lukas Kalbertodt 202 Dec 22, 2022
That program use on platform windows. And if you write any text on uncorrect keyboard layout, that program for that.

?? This program is designed to translate text into the correct layout when typing is incorrect. ?? Example ghbdtn -> ะฟั€ะธะฒะตั‚ Just (by default) pressing

Gest Se 5 Jan 26, 2023