issy 0.5.4 → 0.5.5

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.
Files changed (2) hide show
  1. package/README.md +238 -0
  2. package/package.json +4 -4
package/README.md ADDED
@@ -0,0 +1,238 @@
1
+ <p align="center">
2
+ <img src="assets/issy-logo.png" alt="issy" width="600" />
3
+ </p>
4
+
5
+ <p align="center">
6
+ <a href="https://www.npmjs.com/package/issy"><img src="https://img.shields.io/npm/v/issy.svg" alt="npm version"></a>
7
+ <a href="https://www.npmjs.com/package/issy"><img src="https://img.shields.io/npm/dm/issy.svg" alt="npm downloads"></a>
8
+ <a href="https://github.com/miketromba/issy/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/issy.svg" alt="license"></a>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <strong>AI-native issue tracking.</strong><br>
13
+ Tell your coding assistant what to track. It handles the rest.
14
+ </p>
15
+
16
+ ---
17
+
18
+ ## How It Works
19
+
20
+ issy gives AI coding assistants a skill for managing issues. Just talk naturally:
21
+
22
+ > "Create a bug for the login redirect issue, high priority"
23
+
24
+ > "What issues are open?"
25
+
26
+ > "Close the auth bug, it's fixed"
27
+
28
+ The assistant creates, searches, updates, and closes issues for you. Issues are stored as markdown files in `.issy/issues/` — readable, diffable, and committed with your code.
29
+
30
+ ## Install the Skill
31
+
32
+ ```bash
33
+ npx skills add miketromba/issy
34
+ ```
35
+
36
+ That's it. Your AI assistant can now manage issues in any repo.
37
+
38
+ ## Why Markdown?
39
+
40
+ - **Portable** — No vendor lock-in, no database, no accounts
41
+ - **Git-native** — Issues travel with your code, appear in diffs and PRs
42
+ - **Transparent** — AI agents can read and write issues directly
43
+ - **Works offline** — No network dependency
44
+
45
+ ---
46
+
47
+ ## Installing `issy`
48
+
49
+ `issy` can be installed both globally **and** in your repository. We recommend installing both ways so you can take advantage of fast, convenient workflows *and* a stable version for all developers in your repository.
50
+
51
+ ### Global installation
52
+
53
+ A global install of `issy` brings flexibility and speed to your local workflows.
54
+
55
+ ```bash
56
+ # npm
57
+ npm install issy --global
58
+
59
+ # pnpm
60
+ pnpm add issy --global
61
+
62
+ # yarn
63
+ yarn global add issy
64
+
65
+ # bun
66
+ bun install issy --global
67
+ ```
68
+
69
+ Once installed globally, you can run commands from your terminal:
70
+
71
+ ```bash
72
+ issy # Start the web UI
73
+ issy list # List open issues (roadmap order)
74
+ issy next # Show next issue to work on
75
+ issy create --title "Bug" # Create issue
76
+ ```
77
+
78
+ ### Repository installation
79
+
80
+ When collaborating with other developers, it's a good idea to pin versions. Add `issy` as a `devDependency` in the root of your repository:
81
+
82
+ ```bash
83
+ # npm
84
+ npm install issy --save-dev
85
+
86
+ # pnpm
87
+ pnpm add issy --save-dev --ignore-workspace-root-check
88
+
89
+ # yarn
90
+ yarn add issy --dev --ignore-workspace-root-check
91
+
92
+ # bun
93
+ bun add issy --dev
94
+ ```
95
+
96
+ You can continue to use your global installation to run commands. Global `issy` will defer to the local version if it exists.
97
+
98
+ ---
99
+
100
+ ## Usage
101
+
102
+ ### Web UI
103
+
104
+ ```bash
105
+ issy
106
+ ```
107
+
108
+ Opens a local read-only UI at `http://localhost:1554` for browsing issues.
109
+
110
+ <p align="center">
111
+ <img src="assets/web-ui-screenshot.png" alt="issy web UI" width="800" />
112
+ </p>
113
+
114
+ ### CLI
115
+
116
+ ```bash
117
+ issy init # Create .issy/issues/ directory
118
+ issy init --seed # Create with a welcome issue
119
+ issy list # List open issues (roadmap order)
120
+ issy next # Show next issue to work on
121
+ issy search "auth" # Fuzzy search
122
+ issy read 0001 # View issue
123
+ issy create --title "Bug" --after 0002 # Create issue after #0002
124
+ issy update 0001 --before 0003 # Reposition in roadmap
125
+ issy close 0001 # Close issue
126
+ issy reopen 0001 --after 0004 # Reopen and place in roadmap
127
+ issy migrate # Migrate from .issues/ to .issy/
128
+ issy --version # Check version
129
+ ```
130
+
131
+ Run `issy help` for full options.
132
+
133
+ ### Roadmap Ordering
134
+
135
+ Every open issue has a position in the **roadmap** — a strict ordering that reflects logical dependencies. When creating or reopening an issue while others are open, you must specify where it fits:
136
+
137
+ ```bash
138
+ issy create --title "Add auth" --after 0001 # Insert after issue #0001
139
+ issy create --title "Fix bug" --before 0003 # Insert before issue #0003
140
+ issy create --title "Urgent" --first # Insert at the beginning
141
+ issy create --title "Backlog item" --last # Insert at the end
142
+ ```
143
+
144
+ `issy next` always returns the first open issue in roadmap order — the next thing to work on.
145
+
146
+ `issy list` sorts by roadmap order by default. Other sort options are available:
147
+
148
+ ```bash
149
+ issy list --sort priority # Sort by priority instead
150
+ issy list --sort created # Sort by creation date
151
+ ```
152
+
153
+ ### On-Close Hook
154
+
155
+ Create a `.issy/on_close.md` file to inject context after every successful close. The file contents are printed to stdout, making them visible to AI agents in their command output. Use this for post-close reminders like updating documentation.
156
+
157
+ ### Monorepo Support
158
+
159
+ issy automatically walks up from the current directory to find an existing `.issy/` folder. This means you can run `npx issy` from any subdirectory (e.g., `packages/foo/`) and it will find and use the repo root's issues.
160
+
161
+ ```bash
162
+ # In a monorepo, issues are typically at the root:
163
+ my-monorepo/
164
+ .issy/ # ← issy finds this automatically
165
+ issues/
166
+ on_close.md
167
+ packages/
168
+ frontend/ # ← works from here
169
+ backend/ # ← or here
170
+ ```
171
+
172
+ ### Migration from v0.4
173
+
174
+ If upgrading from v0.4.x (which used `.issues/`), run:
175
+
176
+ ```bash
177
+ issy migrate
178
+ ```
179
+
180
+ This moves your issues to `.issy/issues/` and assigns roadmap order to all open issues.
181
+
182
+ ---
183
+
184
+ ## Issue Format
185
+
186
+ ```markdown
187
+ ---
188
+ title: Fix login redirect
189
+ description: Users get stuck after OAuth callback
190
+ priority: high
191
+ scope: medium
192
+ type: bug
193
+ status: open
194
+ order: a0
195
+ created: 2025-01-15T10:30:00
196
+ ---
197
+
198
+ ## Problem
199
+
200
+ After OAuth login, users are redirected to `/callback` but the
201
+ session isn't established, causing a redirect loop.
202
+ ```
203
+
204
+ | Field | Values |
205
+ |-------|--------|
206
+ | `priority` | `high`, `medium`, `low` |
207
+ | `scope` | `small`, `medium`, `large` (optional) |
208
+ | `type` | `bug`, `improvement` |
209
+ | `status` | `open`, `closed` |
210
+ | `labels` | comma-separated (optional) |
211
+ | `order` | fractional index key (managed by issy) |
212
+
213
+ ## Configuration
214
+
215
+ | Variable | Description | Default |
216
+ |----------|-------------|---------|
217
+ | `ISSY_DIR` | Issy directory path | `./.issy` |
218
+ | `ISSUES_PORT` | UI server port | `1554` |
219
+
220
+ <details>
221
+ <summary><strong>Development</strong></summary>
222
+
223
+ ```
224
+ packages/
225
+ cli/ → CLI (issy)
226
+ core/ → Storage library (@miketromba/issy-core)
227
+ ui/ → Web UI + API (@miketromba/issy-app)
228
+ ```
229
+
230
+ ```bash
231
+ bun install && bun run dev
232
+ ```
233
+
234
+ </details>
235
+
236
+ ## License
237
+
238
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "issy",
3
- "version": "0.5.4",
3
+ "version": "0.5.5",
4
4
  "description": "AI-native issue tracking. Markdown files in .issues/, managed by your coding assistant.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -29,14 +29,14 @@
29
29
  },
30
30
  "scripts": {
31
31
  "build": "bun build src/main.ts src/cli.ts src/update-checker.ts --outdir dist --target node --format esm --external @miketromba/issy-app",
32
- "prepublishOnly": "bun run build",
32
+ "prepublishOnly": "cp ../../README.md . && bun run build",
33
33
  "cli": "bun src/cli.ts",
34
34
  "test": "bun test",
35
35
  "lint": "biome check src bin"
36
36
  },
37
37
  "dependencies": {
38
- "@miketromba/issy-app": "^0.5.4",
39
- "@miketromba/issy-core": "^0.5.4",
38
+ "@miketromba/issy-app": "^0.5.5",
39
+ "@miketromba/issy-core": "^0.5.5",
40
40
  "update-notifier": "^7.3.1"
41
41
  }
42
42
  }