epiq 1.12.4 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "epiq",
3
- "version": "1.12.4",
3
+ "version": "1.13.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "EPIQ - ergonomic, distributed CLI-first issue tracker TUI ready for the agentic era",
package/readme.md CHANGED
@@ -4,7 +4,7 @@ Epiq is a self-hosted issue tracker that allows you to review workflows in real
4
4
 
5
5
  Most issue trackers live outside your workflow. Instead of a centralized, managed service, Epiq offers issue tracking as an integrated part of the development environment offering workflow replay and inline code-diffs, tackling the review bottleneck with time-travel, filtering, and a tight code integration.
6
6
 
7
- **[Site →](https://ljtn.github.io/epiq/)**
7
+ **[Site →](https://ljtn.github.io/epiq/)**
8
8
 
9
9
  > All state is kept local, Git-backed, and versioned.
10
10
 
@@ -31,6 +31,18 @@ Preserve the linking post-merge via conventions:
31
31
  - **Rebase-merge** It is advised to rebase-merge so the ref-prefixed commits land on `main` as they are, preserving linking post-merge.
32
32
  - Squashing _within_ one ticket's commits is fine as long as the result keeps the prefix. Do not squash commits carrying different refs into one.
33
33
 
34
+ ### Commits from other repos
35
+
36
+ A board can read commits from other repositories too — handy when the board lives in a repo of its own. Connect one from the GUI (the Repos section of the settings panel behind the gear, or **Connect repo** in the palette), the TUI (`:config repoConnect <url>`, `:config repoDisconnect <name>`) or the MCP (`epiq_repo_connect`, `epiq_repo_disconnect`).
37
+
38
+ Connecting is a board-wide action: every contributor's epiq downloads the repo on their next sync. So it takes two steps. The first clones the repo into a staging area and shows what it is and what it costs — its size, host, default branch and latest commit, and how many of its commits name tickets on this board (none suggests the wrong repo) — and writes nothing. Only a confirm connects it: the TUI takes the same line again with `confirm`, the MCP a second call with `confirm: true`. Options of a connected repo change at once. `branches` is `default` (the default) or `all`; `since` is how much history to clone: `board` (since the board was created, the default), `all`, or a date; `label` is what the repo is called on the board — its URL's basename unless set, which is how a fork and its upstream are told apart.
39
+
40
+ The list is part of the board: connecting, changing and disconnecting are board events, so they sync like any other change and never conflict — nothing to commit. Epiq keeps its own read-only bare clone of each repo under `~/.epiq-global/repos/`, fetched on sync with your usual git credentials (ssh-agent or a credential helper; a passphrase prompt cannot be answered) — never on startup. A commit shows once it is pushed and the board has synced.
41
+
42
+ A board reads at most 20 repos; one connected past that is listed but not fetched until one ahead of it is disconnected. Each clone may take at most 2 GB of disk on your machine; `:config repoCloneMaxMb <MB>` changes that, in your own config. A fetch that would pass it is stopped and undone, and the repo says so. The Repos section shows what each clone takes on this machine, and the total. Autosync fetches each at most once a minute; a sync you ask for always fetches. Widening `since` fetches the older history, narrowing it keeps what is already cloned. Disconnecting a repo deletes its clone, on every machine as it syncs; worktrees of one board share a clone. A repo is something every contributor can fetch, so a local path is refused. A connected repo that is itself an epiq board lends its commits, never its board's event log.
43
+
44
+ Since anyone on the board can connect a repo, URLs are read with care: only `https`, `http`, `ssh`, `git` and `user@host:path` URLs are accepted, never one carrying a password or a user before an http host, and git runs in the clones with none of your hooks, attribute drivers or command-running transports.
45
+
34
46
  ## Terminal + Browser
35
47
 
36
48
  Epiq originated from the command line and offers a first-class terminal experience, but also features a browser interface powered by the same Git-backed event engine.
@@ -40,6 +52,7 @@ Epiq originated from the command line and offers a first-class terminal experien
40
52
  ## How it is different
41
53
 
42
54
  Fundamental design choices gives a system with:
55
+
43
56
  - **Workflow replay**, - inspect what happened while you were away, as if it happens now
44
57
  - **Simple setup** — no accounts, SaaS, or external services required
45
58
  - **Repo-native** — your issues can live where your code lives
@@ -115,7 +128,6 @@ On a machine with no display, or with `--no-open`, it serves without opening a b
115
128
  > Epiq manages a dedicated Git state branch and worktree automatically as the source of truth for synchronization.
116
129
  > - A local debug log at `.epiq/log/epiq.log` — check it first if sync, boot, or a Git operation is misbehaving.
117
130
 
118
-
119
131
  ---
120
132
 
121
133
  ## MCP & Agent Compatibility