@skill-map/cli 0.28.0 → 0.30.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 (36) hide show
  1. package/dist/cli/tutorial/sm-tutorial.md +94 -20
  2. package/dist/cli.js +1561 -1214
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.js +116 -99
  5. package/dist/index.js.map +1 -1
  6. package/dist/kernel/index.d.ts +903 -1004
  7. package/dist/kernel/index.js +116 -99
  8. package/dist/kernel/index.js.map +1 -1
  9. package/dist/ui/chunk-3SI3TVER.js +7 -0
  10. package/dist/ui/{chunk-4GTCV7V4.js → chunk-47OZB7LR.js} +1 -1
  11. package/dist/ui/{chunk-JMP2LDMI.js → chunk-5JBW2LUN.js} +1 -1
  12. package/dist/ui/{chunk-Y7MXGXU3.js → chunk-DZBSELHN.js} +1 -1
  13. package/dist/ui/{chunk-Z2667C3S.js → chunk-FEPH4VNB.js} +1 -1
  14. package/dist/ui/{chunk-PY2R7LHN.js → chunk-FQOZBFJ5.js} +1 -1
  15. package/dist/ui/chunk-HOJFYUH4.js +123 -0
  16. package/dist/ui/{chunk-WOLLYGGL.js → chunk-KJQEO6P3.js} +1 -1
  17. package/dist/ui/chunk-LNRQ7VKE.js +1 -0
  18. package/dist/ui/{chunk-VO6NF24F.js → chunk-LS2NXZQZ.js} +1 -1
  19. package/dist/ui/{chunk-J3YWUNFO.js → chunk-LTQTJU54.js} +1 -1
  20. package/dist/ui/{chunk-6BG7PBUN.js → chunk-NGIFGXW7.js} +1 -1
  21. package/dist/ui/{chunk-5W6J6H76.js → chunk-SBCO7ZSP.js} +1 -1
  22. package/dist/ui/chunk-VB56BUGO.js +1 -0
  23. package/dist/ui/{chunk-UXCAEDR6.js → chunk-VDQLDTTR.js} +1 -1
  24. package/dist/ui/{chunk-AD7RBRD3.js → chunk-WJLIYGWJ.js} +5 -5
  25. package/dist/ui/chunk-YQIWQVJ6.js +317 -0
  26. package/dist/ui/favicon-matrix.svg +15 -0
  27. package/dist/ui/index.html +12 -2
  28. package/dist/ui/main-X5YGJFU6.js +2 -0
  29. package/dist/ui/{styles-IKG3B6AM.css → styles-2WO3KNOY.css} +1 -1
  30. package/package.json +10 -7
  31. package/dist/ui/chunk-BGDH7CDV.js +0 -1
  32. package/dist/ui/chunk-H2J55DNK.js +0 -7
  33. package/dist/ui/chunk-Q7L6LLAK.js +0 -1
  34. package/dist/ui/chunk-VH5GRUT7.js +0 -255
  35. package/dist/ui/chunk-XCUOAV77.js +0 -123
  36. package/dist/ui/main-TZL26MZU.js +0 -2
@@ -319,7 +319,7 @@ learn about it. Same for the state-file probe: never mention
319
319
  §Resume / restart).
320
320
  2. Otherwise, apply the ignored-items filter from the whitelist
321
321
  above and inspect what remains:
322
- - Empty after filtering → fresh dir. **Proceed.**
322
+ - Empty after filtering → continue to check 3.
323
323
  - Anything else (files, dotfiles, other dirs) → **stop and
324
324
  tell** the tester:
325
325
 
@@ -341,6 +341,45 @@ mkdir ~/sm-tutorial && cd ~/sm-tutorial
341
341
 
342
342
  Do not advance until the tester confirms they're in an empty dir.
343
343
 
344
+ 3. Even when the cwd looks filter-empty, `<provider_dir>/` may
345
+ already contain `.md` files from a previous tutorial run, an
346
+ experimental hook, or any other agent runtime. `sm scan` will
347
+ pick them up as graph nodes and break the "exactly one node"
348
+ promise of Step 2 (and the running node count of every
349
+ subsequent step). Run, substituting `<provider_dir>` for the
350
+ detected base dir:
351
+
352
+ ```bash
353
+ find <provider_dir> -type f -name '*.md' \
354
+ -not -path '*/skills/sm-tutorial/*' \
355
+ -not -path '*/skills/sm-master/*' 2>/dev/null
356
+ ```
357
+
358
+ - Empty output → fresh dir. **Proceed.**
359
+ - Any line printed → **stop and tell** the tester:
360
+
361
+ > I see existing markdown files under `<provider_dir>/`:
362
+ >
363
+ > ```
364
+ > <paste the find output verbatim>
365
+ > ```
366
+ >
367
+ > Those will register as graph nodes the moment `sm scan` runs,
368
+ > which means the tutorial's "exactly one node" assertion in Step
369
+ > 2 (and every running count after it) won't match what you see.
370
+ > Two ways out:
371
+ >
372
+ > 1. Move to a clean dir: `mkdir ~/sm-tutorial && cd ~/sm-tutorial`,
373
+ > then re-invoke me from there.
374
+ > 2. Delete those files yourself if they're disposable (the agent
375
+ > won't touch them; they may be your own work).
376
+ >
377
+ > Tell me when the directory is clean or you've moved.
378
+
379
+ Do NOT auto-delete. The agent has no way to tell a leftover
380
+ from real work the tester wants to keep. Do not advance until
381
+ the tester confirms the dir is clean or they've moved.
382
+
344
383
  **Once the dir is confirmed, declare to the tester (one time only)**:
345
384
 
346
385
  > ⚠️ Heads up: throughout the tutorial you'll be using **two terminals**.
@@ -416,6 +455,7 @@ step at a time.
416
455
  ├── .claude/
417
456
  │ └── agents/
418
457
  │ └── demo-agent.md # kind: agent, the only node at boot
458
+ ├── .skillmapignore # tutorial entries + minimum defaults (see below)
419
459
  ├── tutorial-state.yml
420
460
  └── findings.md
421
461
  ```
@@ -457,6 +497,51 @@ Per finding:
457
497
  - **Notes**: ...
458
498
  ```
459
499
 
500
+ `.skillmapignore` (write it NOW, in pre-flight, at the same moment
501
+ as the fixture files above). Two reasons:
502
+
503
+ 1. **Suppress the tutorial's own `.md` from the first scan.**
504
+ `sm init` in Step 1 runs an initial scan immediately after
505
+ creating its DB. Without this file in place, that scan picks up
506
+ `sm-tutorial.md` (~57 KB of prose with internal references) and
507
+ the tester sees something like "First scan: 3 nodes, 16 links,
508
+ 14 issues" which all belong to the tutorial itself, not their
509
+ project. Confusing on minute one.
510
+ 2. **`sm init` respects an existing `.skillmapignore`.** The verb
511
+ only writes the bundled defaults when the file is absent (or
512
+ when `--force` is passed). So if the file already exists, the
513
+ bundled defaults are NOT applied. Therefore: this snippet
514
+ MUST include both the tutorial entries AND the minimum subset
515
+ of bundle defaults the tutorial actually exercises.
516
+
517
+ The full bundle lives in `src/config/defaults/skillmapignore`
518
+ in the skill-map repo. The subset below is the minimum that
519
+ matters in the tutorial's controlled cwd (an otherwise empty
520
+ directory). If a future tutorial step starts exercising
521
+ `node_modules/` or `dist/` etc., mirror those entries here too.
522
+
523
+ ```
524
+ # Bundled defaults that matter inside the tutorial scope.
525
+ # Mirror new lines from src/config/defaults/skillmapignore if the
526
+ # tutorial starts exercising them.
527
+ .git/
528
+ .skill-map/
529
+ .tmp/
530
+ .DS_Store
531
+
532
+ # sm-tutorial internal files (the interactive tutorial).
533
+ # Without these, the first sm init scan reports the tutorial's
534
+ # own .md files as project nodes / broken refs.
535
+ sm-tutorial.md
536
+ findings.md
537
+ tutorial-state.yml
538
+
539
+ # Tutorial outputs that may land at the root if a step forgets to
540
+ # clean up (sm export, sm db dump).
541
+ export.*
542
+ dump.sql
543
+ ```
544
+
460
545
  ### 4. Generate `tutorial-state.yml`
461
546
 
462
547
  ```yaml
@@ -592,31 +677,20 @@ Always runs. The pedagogical hook is the live UI.
592
677
 
593
678
  **Context**: `sm init` creates a hidden `.skill-map/` folder in the
594
679
  cwd holding the database where skill-map stores what it learns about
595
- the project. It also drops a `.skillmapignore` in the cwd with
596
- default exclusions. Mandatory first step.
680
+ the project. It also runs an initial scan. Mandatory first step.
597
681
 
598
682
  ```bash
599
683
  sm init
600
684
  ls -la .skill-map/
601
685
  ```
602
686
 
603
- Expected: `.skill-map/skill-map.db` appears (plus config files), and
604
- a `.skillmapignore` shows up at the root.
605
-
606
- **After init**, you append the tutorial's entries to the
607
- `.skillmapignore` that `sm init` just created (do not create a new
608
- file, append to the existing one with `Edit`). This prevents
609
- `sm scan` from picking up the tutorial's internal files as graph nodes:
610
-
611
- ```
612
- # sm-tutorial internal files (the interactive tutorial)
613
- sm-tutorial.md
614
- findings.md
615
- tutorial-state.yml
616
- # tutorial outputs that may land at the root if a step forgets to clean up
617
- export.*
618
- dump.sql
619
- ```
687
+ Expected: `.skill-map/skill-map.db` appears (plus config files).
688
+ The initial scan reports a small node / link / issue count from
689
+ the demo-agent fixture, NOT 14+ phantom issues from the tutorial's
690
+ own prose: pre-flight already wrote `.skillmapignore` with the
691
+ right exclusions in place (see §Pre-flight step 3), so `sm init`
692
+ leaves that file alone (it only writes when absent) and the scan
693
+ never sees `sm-tutorial.md` / `findings.md` / `tutorial-state.yml`.
620
694
 
621
695
  Mark `1-init: done`.
622
696