servicemap 0.1.24 → 0.1.25

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/README.md CHANGED
@@ -41,6 +41,15 @@ npx servicemap skills install --agent claude
41
41
  ```
42
42
 
43
43
  Agents with known local skill folders get the real `servicemap` skill installed.
44
+ Symlink installs use a stable local clone at `~/.servicemap/source`, so updates can be pulled without reinstalling every agent folder.
45
+
46
+ To update that local skill source:
47
+
48
+ ```bash
49
+ npx servicemap update
50
+ ```
51
+
52
+ Running `npx servicemap` again also refreshes the stable source before installing.
44
53
 
45
54
  After a global install, the command is:
46
55
 
@@ -73,6 +82,7 @@ servicemap install-skill --agent grok
73
82
  servicemap install-skill --agent all
74
83
  servicemap install-skill --targets universal,claude,grok
75
84
  servicemap skills install --agent codex
85
+ servicemap update
76
86
  ```
77
87
 
78
88
  ## Contents
@@ -226,6 +226,7 @@ Usage:
226
226
  servicemap --root <project> [--mode auto|page|desktop] [--allow-emails <list>] [--dry-run] [--no-open]
227
227
  servicemap install-skill [--survey] [--agent codex|claude|grok|all] [--targets <ids>] [--install-method copy|symlink]
228
228
  servicemap skills install [--survey] [--agent codex|claude|grok|all]
229
+ servicemap update
229
230
 
230
231
  Examples:
231
232
  npx servicemap
@@ -236,6 +237,7 @@ Examples:
236
237
  npx servicemap install-skill --agent all
237
238
  npx servicemap install-skill --targets codex,claude,cursor
238
239
  npx servicemap skills install --agent claude
240
+ npx servicemap update
239
241
  servicemap --mode desktop
240
242
  `);
241
243
  }
@@ -593,6 +595,11 @@ async function prepareStableSource(options) {
593
595
  return resolve(sourceRoot, 'servicemap');
594
596
  }
595
597
 
598
+ async function updateStableSource(options) {
599
+ const source = await prepareStableSource(options);
600
+ console.log(`Servicemap source is current at ${dirname(source)}`);
601
+ }
602
+
596
603
  async function installIntoRoot(root, source, method, options) {
597
604
  const destination = join(root, 'servicemap');
598
605
  if (options.dryRun) {
@@ -667,8 +674,13 @@ async function main() {
667
674
  return;
668
675
  }
669
676
 
677
+ if (options.command === 'update') {
678
+ await updateStableSource(options);
679
+ return;
680
+ }
681
+
670
682
  if (options.command !== 'generate') {
671
- throw new Error(`Unknown command "${options.command}". Use generate, install-skill, or skills install.`);
683
+ throw new Error(`Unknown command "${options.command}". Use generate, install-skill, update, or skills install.`);
672
684
  }
673
685
 
674
686
  if (!['auto', 'page', 'desktop'].includes(options.mode)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "servicemap",
3
- "version": "0.1.24",
3
+ "version": "0.1.25",
4
4
  "description": "Generate an internal service map page or desktop app for a software project.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -13,16 +13,18 @@ If no website can be found, create a desktop app fallback at `servicemap-desktop
13
13
 
14
14
  ## Workflow
15
15
 
16
- 1. Inspect the project layout and current web framework.
17
- 2. If the user gives a list of emails that may access the generated web page, pass them to the scan command with `--allow-email <email>` for each address or `--allow-emails <comma-separated-list>`.
18
- 3. Run `scripts/scan-project.mjs --root <project-root>` to create `.servicemap/internal-servicemap.json`.
16
+ 1. If this skill is installed from the stable source clone at `~/.servicemap/source`, run `git -C ~/.servicemap/source pull --ff-only` before using the scripts.
17
+ If the update fails because the network is unavailable, continue with the installed local copy and report that the auto-update did not complete.
18
+ 2. Inspect the project layout and current web framework.
19
+ 3. If the user gives a list of emails that may access the generated web page, pass them to the scan command with `--allow-email <email>` for each address or `--allow-emails <comma-separated-list>`.
20
+ 4. Run `scripts/scan-project.mjs --root <project-root>` to create `.servicemap/internal-servicemap.json`.
19
21
  Include the access flags from the previous step when relevant.
20
- 4. Review the scan output for obvious false positives or missing high-confidence services.
21
- 5. If the scan detects a web framework or routeable website, run `scripts/generate-page.mjs --root <project-root>` to create the framework-specific `/internalservicemap` route.
22
- 6. If the scan reports `framework: static` or no website route can be safely attached, run `scripts/generate-desktop-app.mjs --root <project-root>` to create `servicemap-desktop`.
23
- 7. Adapt the generated surface to the project's existing design system only when the route is clear and the edits are low-risk.
24
- 8. Run the project's relevant build, lint, and focused tests.
25
- 9. Report the page or desktop app path, service count, validation run, any services marked low or medium confidence, and whether requested email access was enforced.
22
+ 5. Review the scan output for obvious false positives or missing high-confidence services.
23
+ 6. If the scan detects a web framework or routeable website, run `scripts/generate-page.mjs --root <project-root>` to create the framework-specific `/internalservicemap` route.
24
+ 7. If the scan reports `framework: static` or no website route can be safely attached, run `scripts/generate-desktop-app.mjs --root <project-root>` to create `servicemap-desktop`.
25
+ 8. Adapt the generated surface to the project's existing design system only when the route is clear and the edits are low-risk.
26
+ 9. Run the project's relevant build, lint, and focused tests.
27
+ 10. Report the page or desktop app path, service count, validation run, any services marked low or medium confidence, and whether requested email access was enforced.
26
28
 
27
29
  ## Safety Rules
28
30