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/dist/gui/favicon.ico +0 -0
- package/dist/gui/index.html +24 -0
- package/dist/gui/main.js +26687 -0
- package/dist/index.js +56 -53
- package/dist/mcp.js +47 -52
- package/package.json +11 -3
- package/readme.md +24 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "epiq",
|
|
3
|
-
"version": "0.
|
|
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:
|
|
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
|
-
>
|
|
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
|
-

|
|
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
|
+

|
|
14
20
|
|
|
15
21
|
## What is epiq?
|
|
16
22
|
|
|
17
|
-
Epiq is a vim-inspired issue tracker that brings
|
|
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
|

|
|
20
28
|

|
|
@@ -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
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
🫡
|
|
229
|
+
🫡 Project management for people who live in the terminal.
|