epiq 0.6.20 → 0.7.1

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": "0.6.20",
3
+ "version": "0.7.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "EPIQ - CLI based issue tracker",
@@ -27,7 +27,9 @@
27
27
  },
28
28
  "scripts": {
29
29
  "build": "tsc --noEmit",
30
- "build:npm": "node source/scripts/write-version.mjs && rm -rf ./dist && esbuild source/Index.tsx --bundle --packages=external --platform=node --format=esm --target=node18 --minify --outfile=dist/index.js --banner:js='#!/usr/bin/env node' && esbuild source/mcp/index.ts --bundle --packages=external --platform=node --format=esm --target=node18 --minify --outfile=dist/mcp.js --banner:js='#!/usr/bin/env node'",
30
+ "build:gui:types": "tsc --noEmit -p source/gui/client/tsconfig.json",
31
+ "build:gui": "npm run build:gui:types && mkdir -p dist/gui && cp source/gui/index.html dist/gui/index.html && cp source/gui/favicon.ico dist/gui/favicon.ico && esbuild source/gui/client/main.tsx --bundle --format=esm --target=es2020 --outfile=dist/gui/main.js",
32
+ "build:npm": "node source/scripts/write-version.mjs && rm -rf ./dist && npm run build:gui && esbuild source/Index.tsx --bundle --packages=external --platform=node --format=esm --target=node18 --minify --outfile=dist/index.js --banner:js='#!/usr/bin/env node' && esbuild source/mcp/index.ts --bundle --packages=external --platform=node --format=esm --target=node18 --minify --outfile=dist/mcp.js --banner:js='#!/usr/bin/env node'",
31
33
  "build:sea:bundle": "node source/scripts/write-version.mjs && rm -rf ./dist && esbuild source/Index.tsx --bundle --platform=node --format=cjs --target=node18 --minify --outfile=dist/sea.cjs",
32
34
  "build:sea": "node --build-sea source/config/sea-config.json",
33
35
  "build:publish": "npm run build:npm",
@@ -36,8 +38,9 @@
36
38
  "dev": "IS_LOCAL=true tsc --watch --noEmit",
37
39
  "dev:start": "IS_LOCAL=true tsx source/Index.tsx",
38
40
  "start": "IS_LOCAL=true tsx source/Index.tsx",
41
+ "start:gui": "IS_LOCAL=true tsx source/Index.tsx gui",
39
42
  "test": "prettier --check \"**/*.{ts,tsx}\" && vitest run --coverage --exclude \"source/test/e2e/**\"",
40
- "test:e2e:ci": "npm run build:npm && vitest run source/test/e2e",
43
+ "test:e2e:ci": "export IS_CI=true && npm run build:npm && vitest run source/test/e2e",
41
44
  "test:e2e": "docker run --rm -v \"$PWD\":/app -v /app/node_modules -w /app epiq-e2e npm run test:e2e:ci",
42
45
  "build:e2e:image": "docker build -f source/test/e2e/Dockerfile -t epiq-e2e .",
43
46
  "prepack": "npm run build:publish",
@@ -60,8 +63,11 @@
60
63
  "ink": "^6.8.0",
61
64
  "meow": "^14.1.0",
62
65
  "react": "^19.2.4",
66
+ "react-dom": "^19.2.6",
67
+ "react-router-dom": "^7.17.0",
63
68
  "string-width": "^8.2.0",
64
69
  "ulid": "^3.0.2",
70
+ "ws": "^8.21.0",
65
71
  "zod": "^4.3.6"
66
72
  },
67
73
  "devDependencies": {
@@ -70,6 +76,8 @@
70
76
  "@types/marked-terminal": "^6.1.1",
71
77
  "@types/node": "^22.19.19",
72
78
  "@types/react": "^19.2.14",
79
+ "@types/react-dom": "^19.2.3",
80
+ "@types/ws": "^8.18.1",
73
81
  "@typescript-eslint/eslint-plugin": "^8.46.0",
74
82
  "@typescript-eslint/parser": "^8.46.0",
75
83
  "@vdemedes/prettier-config": "^2.0.1",
package/readme.md CHANGED
@@ -6,15 +6,23 @@ _Distributed terminal-native issue tracker backed by Git._
6
6
 
7
7
  Issue tracking is a core part of software development, but it often becomes a painful context-switching exercise with poor ergonomics. Epiq provides issue tracking as a portable, integrated part of the development environment, with access to all the powerful tooling developers are used to.
8
8
 
9
- > You can manage all your projects directly via the command line in a visual kanban board and edit content in your favorite editor.
9
+ > Manage your projects in a visual terminal kanban board or through the browser GUI, while keeping all state local, Git-backed, and versioned.
10
10
 
11
11
  With great attention to user ergonomics and developer experience, epiq makes project management painless and friction free.
12
12
 
13
- ![Epiq cli gif view](https://raw.githubusercontent.com/ljtn/epiq/main/source/assets/banner.gif)
13
+ ![Epiq cli gif view](https://raw.githubusercontent.com/ljtn/epiq/main/source/assets/epiq-cli.gif)
14
+
15
+ ## Terminal UI + Browser GUI
16
+
17
+ Epiq also includes a browser-based interface powered by the same Git-backed event engine.
18
+
19
+ ![Epiq gui view](https://raw.githubusercontent.com/ljtn/epiq/main/source/assets/epiq-gui.gif)
14
20
 
15
21
  ## What is epiq?
16
22
 
17
- Epiq is a vim-inspired issue tracker that brings project management into the terminal. It renders directly in ASCII and persists state as an immutable distributed event log, versioned and synchronized through Git.
23
+ Epiq is a self hosted, vim-inspired issue tracker that brings developer experience to project management. It renders either as ASCII, or as a web GUI, and persists state as an immutable distributed event log, versioned and synchronized through Git.
24
+
25
+ An easy to use browser GUI is available, powered by the same Git-backed state engine.
18
26
 
19
27
  ![Epiq cli kanban view](https://raw.githubusercontent.com/ljtn/epiq/main/source/assets/overview.png)
20
28
  ![Epiq cli log view](https://raw.githubusercontent.com/ljtn/epiq/main/source/assets/log.png)
@@ -29,18 +37,19 @@ Epiq is a vim-inspired issue tracker that brings project management into the ter
29
37
  - Autocompletion — minimize typing, stay in flow, reuse previous commands
30
38
  - Multi-user — collaborative synchronization via Git
31
39
  - Traceable event log — state is a full history of every change ever made
32
- - MCP integration - Model Context Protocol support for agent interaction
40
+ - Browser GUI graphical interface powered by the same Git-backed state
41
+ - MCP integration — Model Context Protocol support for agent interaction
33
42
 
34
- ## Why epiq?
43
+ ## Why Epiq?
35
44
 
36
- Most issue trackers live outside your workflow. Epiq brings issue tracking where you already work.
45
+ Most issue trackers live outside your workflow. Epiq brings issue tracking where you already work - you editor.
37
46
 
38
47
  These design choices result in a system that is:
39
48
 
40
49
  - **Simple setup** — no accounts, SaaS, or external services required
41
50
  - **Repo-native** — your issues can live where your code lives
42
51
  - **Offline-friendly** — works anywhere, with eventual consistency
43
- - **Speed** — local first, and eventual consistency makes epiq edits instant
52
+ - **Speed** — local first, and eventual consistency makes Epiq edits instant
44
53
  - **Portable** — run on your local machine, on a remote Linux server or your grandma’s connected toaster
45
54
  - **Command driven** — scriptable and automation-friendly, ready for the agentic era
46
55
  - **Versioned** — changes are tracked and recoverable through Git
@@ -79,6 +88,12 @@ Git init
79
88
  epiq
80
89
  ```
81
90
 
91
+ If you prefer the browser user interface:
92
+
93
+ ```bash
94
+ epiq gui
95
+ ```
96
+
82
97
  If it is your first run, this opens the interactive setup wizard that sets you up in about 30 seconds.
83
98
 
84
99
  That’s it!
@@ -164,7 +179,7 @@ Once registered, agents can interact with your local Epiq instance through the M
164
179
 
165
180
  ---
166
181
 
167
- ## How epiq is synchronized
182
+ ## How Epiq is synchronized
168
183
 
169
184
  Epiq uses Git in the background - no manual Git commands are required. Running `:sync` synchronizes changes between your local state (persisted at `~/.epiq-global/worktrees/<id>/`) and the remote state. By utilizing Git worktrees, synchronization stays isolated from your regular development workflow. Project tracking metadata is stored in `.epiq/project.json`.
170
185
 
@@ -211,4 +226,4 @@ Epiq follows a **local-first** model:
211
226
 
212
227
  ---
213
228
 
214
- 🫡 Never leave your terminal!
229
+ 🫡 Project management for people who live in the terminal.