From f0c134e482d68c117a7746e5eadca0f3b598bb64 Mon Sep 17 00:00:00 2001 From: femkrotek Date: Fri, 26 Jun 2026 16:58:31 +0200 Subject: [PATCH] docs: add HOW_CHAI_SHOULD_WORK.md file --- HOW_CHAI_SHOULD_WORK.md | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 HOW_CHAI_SHOULD_WORK.md diff --git a/HOW_CHAI_SHOULD_WORK.md b/HOW_CHAI_SHOULD_WORK.md new file mode 100644 index 0000000..381bf2c --- /dev/null +++ b/HOW_CHAI_SHOULD_WORK.md @@ -0,0 +1,49 @@ +# How chai should work + +## 1. chai buffers URIs: +Chai buffer uirs should be + - `chai://PROVIDER/USER/REPO/OBJECT` + - `chai://git:remote/OBJECT` + - `chai://OBJECT` - (shortcut for `chai://git:origin/OBJECT`) + +## 2. Objects + - *nothing*: repo + - `/issues`: list of issues + - `/issue/ID`: for issue number *ID* + - `/issue/new`: for creating new issue + - `/prs`: list of pull/merge requests + - `/pr/ID`: for pull request number *ID* + - `/pr/new`: for creating new pull requests + +## 3. How buffers should work + +## 3.1. `/issues` and `/prs`: +should show list of issues/PRs, you should be able to click on any issue/PR to see/edit it + +## 3.2. `/issues/ID` and `/pr/ID` +should show info in first block header in second block, in another block description and under it list of comments + +## 3.3. `/issues/new` and `/prs/new` +in first block metadata and info, in second block name in third block description (shows diffs dynamicly) + +## 3.4. *nothing* +should show repo name, list of contributors, keybinds for showing issues and prs etc + +## 4. `:Chai` command +creates `chai://` buffer in new neovim tab + +syntax should be + +`:Chai *repo info* *object info*` + +so it could be + +`:Chai kpgpmc femkromek chai.nvim issues 1` + +or + +`:Chai git:origin issues 1` + +or + +`:Chai issues 1`