@obsfx/trekker 1.0.0 → 1.1.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.
Files changed (3) hide show
  1. package/README.md +15 -0
  2. package/dist/index.js +118 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -171,6 +171,21 @@ Trekker creates a `.trekker` directory in your project root containing `trekker.
171
171
 
172
172
  Run `trekker quickstart` to see the full guide with best practices for creating atomic tasks, writing good descriptions, and managing dependencies.
173
173
 
174
+ ## How I Use It
175
+
176
+ This is my personal workflow for getting the most out of Trekker with AI agents:
177
+
178
+ - **Always mention Trekker in prompts.** I include "use trekker" in my instructions so the agent knows to track its work.
179
+
180
+ - **Point agents to the quickstart.** I tell the agent it can run `trekker quickstart` to learn how to use Trekker properly. This gives it all the context it needs without me having to explain everything.
181
+
182
+ - **Use the dashboard for visibility.** I run [trekker-dashboard](https://github.com/obsfx/trekker-dashboard) to visually track what the agent is doing. It shows tasks on a kanban board and auto-refreshes, so I can monitor progress in real-time.
183
+
184
+ Example prompt snippet:
185
+ ```
186
+ Use trekker to track your work. Run `trekker quickstart` if you need to learn how it works.
187
+ ```
188
+
174
189
  ## License
175
190
 
176
191
  MIT
package/dist/index.js CHANGED
@@ -1261,6 +1261,123 @@ As an AI agent, you should use Trekker to:
1261
1261
  - **Offload context** - store your reasoning, findings, and state externally so you can recover after context resets
1262
1262
  - **Persist memory** - comments survive context window limits and session boundaries
1263
1263
 
1264
+ ---
1265
+
1266
+ ## Critical Rules for AI Agents
1267
+
1268
+ These rules are **non-negotiable**. Following them ensures continuity across sessions and prevents lost context.
1269
+
1270
+ ### 1. ALWAYS Update Task Status
1271
+
1272
+ **Never leave a task in the wrong status.** Status reflects reality and helps you (and future sessions) understand what's happening.
1273
+
1274
+ - Set to \`in_progress\` **immediately** when you start working on a task
1275
+ - Set to \`completed\` **only after** you've verified the work is done
1276
+ - Set to \`wont_fix\` or \`archived\` if the task is no longer relevant
1277
+ - **Before ending any session**: ensure all task statuses are accurate
1278
+
1279
+ \`\`\`bash
1280
+ # Starting work
1281
+ trekker task update TREK-1 -s in_progress
1282
+
1283
+ # Finishing work
1284
+ trekker task update TREK-1 -s completed
1285
+ \`\`\`
1286
+
1287
+ **Why this matters:** If you forget to update status, the next session (or another agent) won't know what's actually done. They'll either duplicate work or miss incomplete tasks.
1288
+
1289
+ ### 2. ALWAYS Add a Summary Comment Before Moving On
1290
+
1291
+ **Before moving to a new task, document what you did on the current one.** This is your handoff to your future self.
1292
+
1293
+ Every task completion should include a comment with:
1294
+ - **What was implemented** (files changed, functions added)
1295
+ - **Key decisions made** and why
1296
+ - **Any gotchas or important notes** for future reference
1297
+ - **Testing done** or verification steps taken
1298
+
1299
+ \`\`\`bash
1300
+ # Before marking complete, add a summary
1301
+ trekker comment add TREK-1 -a "agent" -c "Completed: Implemented JWT auth endpoint.
1302
+ - Added POST /api/auth/login in routes/auth.ts (lines 45-80)
1303
+ - Created validateCredentials() in services/auth.ts
1304
+ - Chose bcrypt for hashing (better library support than argon2)
1305
+ - Tested: valid login returns token, invalid returns 401
1306
+ - Note: Token expires in 24h, configurable via JWT_EXPIRY env var"
1307
+
1308
+ # Then mark complete
1309
+ trekker task update TREK-1 -s completed
1310
+ \`\`\`
1311
+
1312
+ **Why this matters:** Comments are your external memory. Without a summary, you lose all the context and reasoning from your work session.
1313
+
1314
+ ### 3. Use Epic Descriptions for Implementation Plans
1315
+
1316
+ **Epic descriptions are your design documents.** Don't put brief one-liners\u2014use them to capture the full implementation plan.
1317
+
1318
+ An epic description should include:
1319
+ - **Goal and scope** - what problem are we solving?
1320
+ - **Architecture overview** - how will components fit together?
1321
+ - **Implementation phases** - what order should tasks follow?
1322
+ - **Technical decisions** - chosen approaches and rationale
1323
+ - **API contracts** - endpoints, request/response formats
1324
+ - **Data models** - schema changes, new entities
1325
+ - **Edge cases and constraints** - what to watch out for
1326
+
1327
+ \`\`\`bash
1328
+ trekker epic create -t "User Authentication System" -d "## Goal
1329
+ Implement secure user authentication with JWT tokens.
1330
+
1331
+ ## Architecture
1332
+ - Auth service handles token generation/validation
1333
+ - Middleware intercepts requests and verifies tokens
1334
+ - Redis stores refresh tokens for revocation support
1335
+
1336
+ ## Implementation Phases
1337
+ 1. Basic JWT auth (login, token generation)
1338
+ 2. Refresh token mechanism
1339
+ 3. Password reset flow
1340
+ 4. Rate limiting on auth endpoints
1341
+
1342
+ ## API Endpoints
1343
+ - POST /api/auth/login - {email, password} -> {accessToken, refreshToken}
1344
+ - POST /api/auth/refresh - {refreshToken} -> {accessToken}
1345
+ - POST /api/auth/logout - invalidates refresh token
1346
+ - POST /api/auth/forgot-password - sends reset email
1347
+
1348
+ ## Data Model
1349
+ - users table: id, email, passwordHash, createdAt, updatedAt
1350
+ - refresh_tokens table: id, userId, token, expiresAt, revokedAt
1351
+
1352
+ ## Security Considerations
1353
+ - Passwords hashed with bcrypt (cost factor 12)
1354
+ - Access tokens expire in 15 minutes
1355
+ - Refresh tokens expire in 7 days
1356
+ - Rate limit: 5 login attempts per minute per IP"
1357
+ \`\`\`
1358
+
1359
+ **Why this matters:** When you start a new session, the epic description tells you the full plan. You won't have to re-derive the architecture or remember why certain decisions were made.
1360
+
1361
+ ### 4. Archive Completed Work
1362
+
1363
+ **When a feature is fully done, move everything to \`archived\` status.** This keeps the active task list clean and signals that work is truly finished.
1364
+
1365
+ - Archive tasks after they've been completed and verified
1366
+ - Archive the epic once all its tasks are done
1367
+ - Archived items stay in the database for reference but don't clutter active views
1368
+
1369
+ \`\`\`bash
1370
+ # After all tasks in an epic are completed
1371
+ trekker task update TREK-1 -s archived
1372
+ trekker task update TREK-2 -s archived
1373
+ trekker task update TREK-3 -s archived
1374
+ trekker epic update EPIC-1 -s archived
1375
+ \`\`\`
1376
+
1377
+ **Why this matters:** A clean task list helps you focus on what's actually in progress. Archived items preserve history without noise.
1378
+
1379
+ ---
1380
+
1264
1381
  ## Best Practices for AI Agents
1265
1382
 
1266
1383
  ### Creating Epics
@@ -2128,7 +2245,7 @@ Seed complete! Created ${epicIds.length} epics, ${taskIds.length} tasks, ${SAMPL
2128
2245
  // package.json
2129
2246
  var package_default = {
2130
2247
  name: "@obsfx/trekker",
2131
- version: "1.0.0",
2248
+ version: "1.1.0",
2132
2249
  description: "A CLI-based issue tracker built for AI coding agents. Stores tasks, epics, and dependencies in a local SQLite database.",
2133
2250
  type: "module",
2134
2251
  main: "dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obsfx/trekker",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "A CLI-based issue tracker built for AI coding agents. Stores tasks, epics, and dependencies in a local SQLite database.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",