knowns 0.3.0 → 0.3.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/CHANGELOG.md +21 -0
- package/CLAUDE.md +133 -23
- package/dist/index.js +31868 -17410
- package/dist/mcp/server.js +981 -636
- package/dist/ui/assets/index-BUsOx5xS.css +1 -0
- package/dist/ui/assets/{index-DHWZIcYt.js → index-BqJqFGQL.js} +84 -84
- package/dist/ui/index.html +2 -2
- package/package.json +4 -4
- package/dist/ui/assets/index-BB-qpEBt.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.3.1] - 2025-12-30
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Kanban Drag-Drop**: Fixed cards not being droppable into empty columns
|
|
12
|
+
- Implemented custom multi-strategy collision detection algorithm
|
|
13
|
+
- Strategy 1: Pointer position detection (most intuitive for users)
|
|
14
|
+
- Strategy 2: Rectangle intersection for overlapping elements
|
|
15
|
+
- Strategy 3: Extended bounds with 150px buffer for near-column detection
|
|
16
|
+
- Strategy 4: Closest corners fallback for edge cases
|
|
17
|
+
- Dragging is now much smoother and easier
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- **MCP Integration Docs**: Updated `docs/mcp-integration.md` with complete tool reference
|
|
21
|
+
- Added all 15 MCP tools with parameters
|
|
22
|
+
- Added time tracking and board tools
|
|
23
|
+
- Added troubleshooting section for `--verbose` and `--info` flags
|
|
24
|
+
- Added resources section with links to official docs
|
|
25
|
+
|
|
8
26
|
## [0.3.0] - 2025-12-29
|
|
9
27
|
|
|
10
28
|
### Added
|
|
@@ -326,6 +344,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
326
344
|
- CLAUDE.md with complete guidelines for AI agents
|
|
327
345
|
- Example workflows and patterns
|
|
328
346
|
|
|
347
|
+
[0.3.1]: https://github.com/knowns-dev/knowns/compare/v0.3.0...v0.3.1
|
|
348
|
+
[0.3.0]: https://github.com/knowns-dev/knowns/compare/v0.2.1...v0.3.0
|
|
349
|
+
[0.2.1]: https://github.com/knowns-dev/knowns/compare/v0.2.0...v0.2.1
|
|
329
350
|
[0.2.0]: https://github.com/knowns-dev/knowns/compare/v0.1.8...v0.2.0
|
|
330
351
|
[0.1.8]: https://github.com/knowns-dev/knowns/compare/v0.1.7...v0.1.8
|
|
331
352
|
[0.1.7]: https://github.com/knowns-dev/knowns/compare/v0.1.6...v0.1.7
|
package/CLAUDE.md
CHANGED
|
@@ -232,8 +232,8 @@ $ knowns task create "Add password reset flow" \
|
|
|
232
232
|
|
|
233
233
|
# Output: Created task AUTH-042
|
|
234
234
|
|
|
235
|
-
# 2. Take the task and start timer
|
|
236
|
-
$ knowns task edit AUTH-042 -s in-progress -a @me
|
|
235
|
+
# 2. Take the task and start timer (uses defaultAssignee or @me fallback)
|
|
236
|
+
$ knowns task edit AUTH-042 -s in-progress -a $(knowns config get defaultAssignee --plain || echo "@me")
|
|
237
237
|
$ knowns time start AUTH-042
|
|
238
238
|
|
|
239
239
|
# Output: Timer started for AUTH-042
|
|
@@ -306,17 +306,24 @@ $ knowns task edit AUTH-042 -s done
|
|
|
306
306
|
### Step 1: Take Task
|
|
307
307
|
|
|
308
308
|
```bash
|
|
309
|
-
|
|
309
|
+
# Assign using defaultAssignee from config (falls back to @me if not set)
|
|
310
|
+
knowns task edit <id> -s in-progress -a $(knowns config get defaultAssignee --plain || echo "@me")
|
|
310
311
|
```
|
|
311
312
|
|
|
312
|
-
> **Note**:
|
|
313
|
+
> **Note**: The `defaultAssignee` is configured in `.knowns/config.json` during `knowns init`. If not set, `@me` is used as fallback. To update: `knowns config set defaultAssignee "@username"`
|
|
313
314
|
|
|
314
|
-
### Step 2: Start Time Tracking
|
|
315
|
+
### Step 2: Start Time Tracking (REQUIRED)
|
|
315
316
|
|
|
316
317
|
```bash
|
|
317
318
|
knowns time start <id>
|
|
318
319
|
```
|
|
319
320
|
|
|
321
|
+
> **CRITICAL**: Time tracking is MANDATORY. Always start timer when taking a task and stop when done. This data is essential for:
|
|
322
|
+
> - Accurate project estimation
|
|
323
|
+
> - Identifying bottlenecks
|
|
324
|
+
> - Resource planning
|
|
325
|
+
> - Sprint retrospectives
|
|
326
|
+
|
|
320
327
|
### Step 3: Read Related Documentation
|
|
321
328
|
|
|
322
329
|
> **FOR AI AGENTS**: This step is MANDATORY, not optional. You must understand the codebase before planning.
|
|
@@ -352,11 +359,43 @@ knowns task edit <id> --plan $'1. Research patterns (see @doc/security-patterns)
|
|
|
352
359
|
### Step 5: Implement
|
|
353
360
|
|
|
354
361
|
```bash
|
|
355
|
-
#
|
|
356
|
-
|
|
362
|
+
# Work through implementation plan step by step
|
|
363
|
+
# IMPORTANT: Only check AC AFTER completing the work, not before
|
|
364
|
+
|
|
365
|
+
# After completing work for AC #1:
|
|
366
|
+
knowns task edit <id> --check-ac 1
|
|
367
|
+
knowns task edit <id> --append-notes "✓ Completed: <brief description>"
|
|
368
|
+
|
|
369
|
+
# After completing work for AC #2:
|
|
370
|
+
knowns task edit <id> --check-ac 2
|
|
371
|
+
knowns task edit <id> --append-notes "✓ Completed: <brief description>"
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
> **CRITICAL**: Never check an AC before the work is actually done. ACs represent completed outcomes, not intentions.
|
|
375
|
+
|
|
376
|
+
### Step 6: Handle Dynamic Requests (During Implementation)
|
|
377
|
+
|
|
378
|
+
If the user adds new requirements during implementation:
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
# Add new acceptance criteria
|
|
382
|
+
knowns task edit <id> --ac "New requirement from user"
|
|
383
|
+
|
|
384
|
+
# Update implementation plan to include new steps
|
|
385
|
+
knowns task edit <id> --plan $'1. Original step 1
|
|
386
|
+
2. Original step 2
|
|
387
|
+
3. NEW: Handle user request for X
|
|
388
|
+
4. Continue with remaining work'
|
|
389
|
+
|
|
390
|
+
# Append note about scope change
|
|
391
|
+
knowns task edit <id> --append-notes "⚠️ Scope updated: Added requirement for X per user request"
|
|
392
|
+
|
|
393
|
+
# Continue with Step 5 (Implement) for new requirements
|
|
357
394
|
```
|
|
358
395
|
|
|
359
|
-
|
|
396
|
+
> **Note**: Always document scope changes. This helps track why a task took longer than expected.
|
|
397
|
+
|
|
398
|
+
### Step 7: Add Implementation Notes
|
|
360
399
|
|
|
361
400
|
```bash
|
|
362
401
|
# Add comprehensive notes (suitable for PR description)
|
|
@@ -373,18 +412,77 @@ knowns task edit <id> --append-notes "✓ Implemented middleware"
|
|
|
373
412
|
knowns task edit <id> --append-notes "✓ Added tests"
|
|
374
413
|
```
|
|
375
414
|
|
|
376
|
-
### Step
|
|
415
|
+
### Step 8: Stop Time Tracking (REQUIRED)
|
|
377
416
|
|
|
378
417
|
```bash
|
|
379
418
|
knowns time stop
|
|
380
419
|
```
|
|
381
420
|
|
|
382
|
-
|
|
421
|
+
> **CRITICAL**: Never forget to stop the timer. If you forget, use manual entry: `knowns time add <id> <duration> -n "Forgot to stop timer"`
|
|
422
|
+
|
|
423
|
+
### Step 9: Complete Task
|
|
383
424
|
|
|
384
425
|
```bash
|
|
385
426
|
knowns task edit <id> -s done
|
|
386
427
|
```
|
|
387
428
|
|
|
429
|
+
### Step 10: Handle Post-Completion Changes (If Applicable)
|
|
430
|
+
|
|
431
|
+
If the user requests changes or updates AFTER task is marked done:
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
# 1. Reopen task - set back to in-progress
|
|
435
|
+
knowns task edit <id> -s in-progress
|
|
436
|
+
|
|
437
|
+
# 2. Restart time tracking (REQUIRED)
|
|
438
|
+
knowns time start <id>
|
|
439
|
+
|
|
440
|
+
# 3. Add new AC for the changes requested
|
|
441
|
+
knowns task edit <id> --ac "Post-completion fix: <description>"
|
|
442
|
+
|
|
443
|
+
# 4. Document the reopen reason
|
|
444
|
+
knowns task edit <id> --append-notes "🔄 Reopened: User requested changes - <reason>"
|
|
445
|
+
|
|
446
|
+
# 5. Follow Step 5-9 again (Implement → Notes → Stop Timer → Done)
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
> **CRITICAL**: Treat post-completion changes as a mini-workflow. Always:
|
|
450
|
+
> - Reopen task (in-progress)
|
|
451
|
+
> - Start timer again
|
|
452
|
+
> - Add AC for traceability
|
|
453
|
+
> - Document why it was reopened
|
|
454
|
+
> - Follow the same completion process
|
|
455
|
+
|
|
456
|
+
### Step 11: Knowledge Extraction (Post-Completion)
|
|
457
|
+
|
|
458
|
+
After completing a task, extract reusable knowledge to docs:
|
|
459
|
+
|
|
460
|
+
```bash
|
|
461
|
+
# Search if similar pattern already documented
|
|
462
|
+
knowns search "<pattern/concept>" --type doc --plain
|
|
463
|
+
|
|
464
|
+
# If new knowledge, create a doc for future reference
|
|
465
|
+
knowns doc create "Pattern: <Name>" \
|
|
466
|
+
-d "Reusable pattern discovered during task implementation" \
|
|
467
|
+
-t "pattern,<domain>" \
|
|
468
|
+
-f "patterns"
|
|
469
|
+
|
|
470
|
+
# Or append to existing doc
|
|
471
|
+
knowns doc edit "<existing-doc>" -a "## New Section\n\nLearned from task <id>: ..."
|
|
472
|
+
|
|
473
|
+
# Reference the source task
|
|
474
|
+
knowns doc edit "<doc-name>" -a "\n\n> Source: @task-<id>"
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
**When to extract knowledge:**
|
|
478
|
+
- New patterns/conventions discovered
|
|
479
|
+
- Common error solutions
|
|
480
|
+
- Reusable code snippets or approaches
|
|
481
|
+
- Integration patterns with external services
|
|
482
|
+
- Performance optimization techniques
|
|
483
|
+
|
|
484
|
+
> **CRITICAL**: Only extract **generalizable** knowledge. Task-specific details belong in implementation notes, not docs.
|
|
485
|
+
|
|
388
486
|
---
|
|
389
487
|
|
|
390
488
|
## Essential Commands
|
|
@@ -400,7 +498,7 @@ knowns task edit <id> -t "New title"
|
|
|
400
498
|
knowns task edit <id> -d "New description"
|
|
401
499
|
knowns task edit <id> -s in-progress
|
|
402
500
|
knowns task edit <id> --priority high
|
|
403
|
-
knowns task edit <id> -a @me
|
|
501
|
+
knowns task edit <id> -a <assignee> # $(knowns config get defaultAssignee --plain || echo "@me")
|
|
404
502
|
|
|
405
503
|
# Acceptance Criteria
|
|
406
504
|
knowns task edit <id> --ac "New criterion" # Add
|
|
@@ -418,7 +516,7 @@ knowns task <id> --plain # Shorthand (ALWAYS use --p
|
|
|
418
516
|
knowns task view <id> --plain # Full command
|
|
419
517
|
knowns task list --plain
|
|
420
518
|
knowns task list --status in-progress --plain
|
|
421
|
-
knowns task list --assignee
|
|
519
|
+
knowns task list --assignee <assignee> --plain # $(knowns config get defaultAssignee --plain || echo "@me")
|
|
422
520
|
knowns task list --tree --plain # Tree hierarchy
|
|
423
521
|
```
|
|
424
522
|
|
|
@@ -582,10 +680,11 @@ A task is **Done** ONLY when **ALL** criteria are met:
|
|
|
582
680
|
|
|
583
681
|
### Via CLI (Required)
|
|
584
682
|
|
|
585
|
-
- [ ] All acceptance criteria checked: `--check-ac <index>`
|
|
683
|
+
- [ ] All acceptance criteria checked: `--check-ac <index>` (only after work is actually done)
|
|
586
684
|
- [ ] Implementation notes added: `--notes "..."`
|
|
587
|
-
- [ ] Timer stopped: `knowns time stop`
|
|
685
|
+
- [ ] ⏱️ Timer stopped: `knowns time stop` (MANDATORY - do not skip!)
|
|
588
686
|
- [ ] Status set to done: `-s done`
|
|
687
|
+
- [ ] Knowledge extracted to docs (if applicable)
|
|
589
688
|
|
|
590
689
|
### Via Code (Required)
|
|
591
690
|
|
|
@@ -626,6 +725,8 @@ Use **lowercase with hyphens**:
|
|
|
626
725
|
|-------|-------|
|
|
627
726
|
| Edit .md files directly | Use `knowns task edit` |
|
|
628
727
|
| Change `- [ ]` to `- [x]` in file | Use `--check-ac <index>` |
|
|
728
|
+
| Check AC before completing work | Only check AC AFTER work is actually done |
|
|
729
|
+
| Skip time tracking | ALWAYS use `time start` and `time stop` |
|
|
629
730
|
| Start coding without reading docs | Read ALL related docs FIRST |
|
|
630
731
|
| Skip `knowns doc list` on new project | Always list docs when starting |
|
|
631
732
|
| Assume you know the conventions | Read CONVENTIONS/ARCHITECTURE docs |
|
|
@@ -638,7 +739,7 @@ Use **lowercase with hyphens**:
|
|
|
638
739
|
| Mark done without all criteria | Check ALL criteria first |
|
|
639
740
|
| Write implementation steps in AC | Write outcome-oriented criteria |
|
|
640
741
|
| Use `"In Progress"` or `"Done"` | Use `in-progress`, `done` |
|
|
641
|
-
| Use `@yourself` | Use
|
|
742
|
+
| Use `@yourself` or unknown assignee | Use `$(knowns config get defaultAssignee --plain \|\| echo "@me")` |
|
|
642
743
|
| Ignore refs in task description | Follow ALL refs (`@.knowns/...`) before planning |
|
|
643
744
|
| See `@.knowns/docs/...` but don't read | Use `knowns doc "<path>" --plain` |
|
|
644
745
|
| See `@.knowns/tasks/task-X` but don't check | Use `knowns task X --plain` for context |
|
|
@@ -701,7 +802,7 @@ EOF
|
|
|
701
802
|
- [ ] Related docs searched: `knowns search "keyword" --type doc --plain`
|
|
702
803
|
- [ ] ALL relevant docs read: `knowns doc "Doc Name" --plain`
|
|
703
804
|
- [ ] Similar done tasks reviewed for patterns
|
|
704
|
-
- [ ] Task assigned to self: `-a @me`
|
|
805
|
+
- [ ] Task assigned to self: `-a $(knowns config get defaultAssignee --plain || echo "@me")`
|
|
705
806
|
- [ ] Status set to in-progress: `-s in-progress`
|
|
706
807
|
- [ ] Timer started: `knowns time start <id>`
|
|
707
808
|
|
|
@@ -714,12 +815,13 @@ EOF
|
|
|
714
815
|
|
|
715
816
|
### After Work
|
|
716
817
|
|
|
717
|
-
- [ ] All acceptance criteria checked
|
|
818
|
+
- [ ] All acceptance criteria checked (only after work is done)
|
|
718
819
|
- [ ] Implementation notes added: `--notes "..."`
|
|
719
820
|
- [ ] Timer stopped: `knowns time stop`
|
|
720
821
|
- [ ] Tests passing
|
|
721
822
|
- [ ] Documentation updated
|
|
722
823
|
- [ ] Status set to done: `-s done`
|
|
824
|
+
- [ ] Knowledge extracted to docs (if applicable): patterns, solutions, conventions
|
|
723
825
|
|
|
724
826
|
---
|
|
725
827
|
|
|
@@ -734,22 +836,26 @@ knowns doc "CONVENTIONS" --plain
|
|
|
734
836
|
|
|
735
837
|
# === FULL WORKFLOW ===
|
|
736
838
|
knowns task create "Title" -d "Description" --ac "Criterion"
|
|
737
|
-
knowns task edit <id> -s in-progress -a @me
|
|
738
|
-
knowns time start <id>
|
|
839
|
+
knowns task edit <id> -s in-progress -a $(knowns config get defaultAssignee --plain || echo "@me")
|
|
840
|
+
knowns time start <id> # ⏱️ REQUIRED: Start timer
|
|
739
841
|
knowns search "keyword" --type doc --plain
|
|
740
842
|
knowns doc "Doc Name" --plain
|
|
741
843
|
knowns search "keyword" --type task --status done --plain # Learn from history
|
|
742
844
|
knowns task edit <id> --plan $'1. Step (see @doc/file)\n2. Step'
|
|
743
845
|
# ... wait for approval, then implement ...
|
|
744
|
-
|
|
745
|
-
knowns task edit <id> --
|
|
746
|
-
knowns
|
|
846
|
+
# Only check AC AFTER completing the work:
|
|
847
|
+
knowns task edit <id> --check-ac 1
|
|
848
|
+
knowns task edit <id> --append-notes "✓ Completed: feature X"
|
|
849
|
+
knowns task edit <id> --check-ac 2
|
|
850
|
+
knowns task edit <id> --append-notes "✓ Completed: feature Y"
|
|
851
|
+
knowns time stop # ⏱️ REQUIRED: Stop timer
|
|
747
852
|
knowns task edit <id> -s done
|
|
853
|
+
# Optional: Extract knowledge to docs if generalizable patterns found
|
|
748
854
|
|
|
749
855
|
# === VIEW & SEARCH ===
|
|
750
856
|
knowns task <id> --plain # Shorthand for view
|
|
751
857
|
knowns task list --plain
|
|
752
|
-
knowns task list --status in-progress --assignee @me --plain
|
|
858
|
+
knowns task list --status in-progress --assignee $(knowns config get defaultAssignee --plain || echo "@me") --plain
|
|
753
859
|
knowns search "query" --plain
|
|
754
860
|
knowns search "bug" --type task --status in-progress --plain
|
|
755
861
|
|
|
@@ -786,3 +892,7 @@ knowns doc edit "doc-name" -a "Appended content"
|
|
|
786
892
|
|
|
787
893
|
|
|
788
894
|
|
|
895
|
+
|
|
896
|
+
|
|
897
|
+
|
|
898
|
+
|