epiq 0.4.8 → 0.4.10

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.4.8",
3
+ "version": "0.4.10",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "EPIQ - CLI based issue tracker",
package/readme.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Epiq
4
4
 
5
- _Distributed CLI based issue tracker TUI_ backed by git.
5
+ _Distributed CLI based issue tracker TUI_ backed by Git.
6
6
 
7
7
  Issue tracking is a part of the development lifecycle, 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. Epiq allows you to manage all your projects directly via the command line in a visual kanban board and edit content in your favorite editor.
8
8
 
@@ -24,17 +24,17 @@ Epiq is a vim-inspired issue tracker fully integrated in the terminal that bring
24
24
 
25
25
  Epiq renders your issue board directly in the terminal using ASCII and stores its state as an event log, versioned and synchronized through Git.
26
26
 
27
- ![Epiq cli kanban view](https://raw.githubusercontent.com/ljtn/epiq/main/assets/overview.png)
28
- ![Epiq cli log view](https://raw.githubusercontent.com/ljtn/epiq/main/assets/log.png)
27
+ ![Epiq cli kanban view](https://raw.Githubusercontent.com/ljtn/epiq/main/assets/overview.png)
28
+ ![Epiq cli log view](https://raw.Githubusercontent.com/ljtn/epiq/main/assets/log.png)
29
29
 
30
30
  ## Features
31
31
 
32
32
  - Issue tracking — track work in tickets with name, description, tags, assignees, history log, etc.
33
- - Ergonomics — fast keyboard-driven ux, command line with history, syntax highlighting etc.
33
+ - Ergonomics — fast keyboard-driven UX, command line with history, syntax highlighting etc.
34
34
  - Time travel — inspect your app 1h, 1 week or 1 year ago
35
35
  - Filtering — query issues by description, tags, assignees, etc.
36
36
  - Autocompletion — minimize typing, stay in flow
37
- - Multi-user — real-time synchronization of board
37
+ - Multi-user — collaborative synchronization via Git
38
38
  - Traceable event log — state is a full history of every change ever made
39
39
 
40
40
  ## Why epiq?
@@ -43,7 +43,7 @@ Most issue trackers live outside your workflow. Epiq brings issue tracking into
43
43
 
44
44
  These design choices result in a system that is:
45
45
 
46
- - **Zero setup** — no account registration required
46
+ - **Simple setup** — no accounts, SaaS, or external services required
47
47
  - **Repo-native** — your issues can live where your code lives
48
48
  - **Offline-friendly** — works anywhere, with eventual consistency as a promise
49
49
  - **Speed** — local first, and eventual consistency makes epiq edits instant
@@ -101,38 +101,38 @@ epiq --version
101
101
 
102
102
  ---
103
103
 
104
- ## Getting Started
104
+ ## Getting Started in 2 steps
105
105
 
106
- In any folder, run:
106
+ 1. Make sure you're inside a Git repository
107
107
 
108
108
  ```bash
109
- epiq
109
+ # If needed:
110
+ Git init
111
+ # For collaboration, use a repo with a remote (e.g. clone from GitHub)
110
112
  ```
111
113
 
112
- If it is your first run, this opens the interactive setup wizard that sets you up in about 30 seconds.
113
-
114
- This creates settings in `~/.epiq-global/**`.
115
-
116
- If the current folder is not yet an Epiq project, you will see an initialization screen.
114
+ 2. Run:
117
115
 
118
- Initialization will:
119
-
120
- Create a project anchor:
121
-
122
- ```
123
- .epiq/project.json
116
+ ```bash
117
+ epiq
124
118
  ```
125
119
 
126
- Create local state directories:
120
+ If it is your first run, this opens the interactive setup wizard that sets you up in about 30 seconds.
127
121
 
128
- ```
129
- .epiq/events/
130
- .epiq/logs/
131
- ```
122
+ That’s it!
132
123
 
133
- Update your `.gitignore` to ignore local-only directories (`.epiq/events/`, `.epiq/logs/`)
124
+ > Setup wizard creates:
125
+ >
126
+ > User config persisted in `~/.epiq-global/config.json`.
134
127
 
135
- > When synced, Epiq will execute git commands on your behalf, targeting a dedicated state branch
128
+ > Initialization creates:
129
+ >
130
+ > - Project definition in `./.epiq/project.json`
131
+ > - Authoritative Git state at `~/.epiq-global/worktrees/<id>`
132
+ > - Local cache in `./.epiq/events/` (ignored by Git)
133
+ > - Update your `.Gitignore` to ignore local-only directories (`.epiq/events/`, `.epiq/logs/`)
134
+
135
+ > Epiq manages a dedicated Git state branch and worktree automatically as the source of truth for synchronization
136
136
 
137
137
  ## Usage Guide
138
138
 
@@ -180,10 +180,17 @@ Clear all filters with `:filter clear`
180
180
 
181
181
  ## How epiq is synchronized
182
182
 
183
- Epiq uses Git in the background to synchronize state between clients. No manual git commands are required to make it work. Running `:sync` pulls and pushes changes between your local state and the remote state.
183
+ Epiq separates state into:
184
+
185
+ - **Source of truth** - Git state branch
186
+ - **Local cache** - `.epiq/events/`
187
+
188
+ Epiq uses Git in the background - no manual Git commands are required. Running `:sync` pulls and pushes changes between your local state and the remote state.
184
189
 
185
190
  - Your issue data is stored in a dedicated branch managed automatically by epiq
186
- - A `.epiq/` folder is created in your project, containing both shared project metadata and local state.
191
+ - A `.epiq/` folder is created in your project:
192
+ - `project.json` stores project metadata
193
+ - `events/` is a local cache of synchronized event logs (ignored by Git)
187
194
 
188
195
  ## Conflict Avoidance & Data Integrity
189
196
 
@@ -213,8 +220,8 @@ Epiq resolves concurrent changes at the event level:
213
220
 
214
221
  - Events are designed to be **idempotent** where possible
215
222
  - Later events take precedence when conflicts occur
216
-
217
- Because events are append-only and scoped to 1 file per user, Git merges become trivial combinations of changes in independent files.
223
+ - Each user writes to their own event log file
224
+ - Git merges become trivial combinations of changes in independent files
218
225
 
219
226
  ### Local-first with eventual consistency
220
227