infernoflow 0.35.8 → 0.36.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.
@@ -196,325 +196,8 @@ const HELP = `
196
196
  ${cyan("demo")} Interactive walkthrough ${gray("(5 minutes)")}
197
197
  ${cyan("doctor")} Diagnose your setup
198
198
 
199
- ${gray("Run")} ${cyan("infernoflow commands")} ${gray("to see all commands.")}
199
+ ${gray("Run")} ${cyan("infernoflow commands")} ${gray("to see all 50+ commands.")}
200
200
  ${gray("Run")} ${cyan("infernoflow <command> --help")} ${gray("for command-specific options.")}
201
-
202
- ${bold("diff options:")}
203
- --ref <tag|commit> Compare against a specific ref (default: last git tag)
204
- --summary One-liner count only
205
- --json Machine-readable output
206
-
207
- ${bold("changelog options:")}
208
- update Draft ## Unreleased from commits (default sub-command)
209
- show Print the current ## Unreleased block
210
- list List commits since last tag
211
- ai Generate human-readable changelog with AI (Anthropic or Ollama)
212
- --ref <tag|commit> Use a specific ref instead of last tag
213
- --version <x.y.z> Version label for the AI-generated entry
214
- --dry-run Print what would be written without modifying file
215
- --append Append to existing ## Unreleased instead of replacing
216
- --json Machine-readable output
217
-
218
- ${bold("publish options:")}
219
- --bump patch|minor|major Version bump type (default: patch)
220
- --skip-build Skip the build step
221
- --skip-tests Skip smoke tests
222
- --skip-push Commit but don't git push
223
- --tag Also create a git tag vX.Y.Z
224
- --dry-run Print all steps without executing
225
- --yes, -y Non-interactive (skip confirmation prompt)
226
-
227
- ${bold("setup options:")}
228
- --yes, -y Skip prompts (non-interactive)
229
- --force, -f Overwrite existing hook files
230
-
231
- ${bold("init options:")}
232
- --cursor-hooks Also install Cursor hooks (draft → inferno/CONTEXT.draft.md)
233
- --vscode-copilot-hooks Also install VS Code + Copilot hooks (.github/hooks — Preview)
234
- --adopt Infer capabilities from an existing codebase
235
- --lang <name> Override detected language (e.g. ts, js, py)
236
- --framework <name> Override detected framework (e.g. react, angular, express)
237
- --project-type <t> Override project type (frontend|backend|fullstack|cli|library)
238
- --report-json Print inferred adoption report as JSON
239
- --report-json-only Print JSON report only (no human-readable logs)
240
- --report-human-only Print only human-readable adoption report (no JSON block)
241
- --yes, -y Skip prompts and accept inferred/default values
242
- --force, -f Overwrite existing inferno/ files
243
-
244
- ${bold("install-cursor-hooks options:")}
245
- --force, -f Overwrite .cursor/hooks.json and hook scripts if they exist
246
-
247
- ${bold("install-vscode-copilot-hooks options:")}
248
- --force, -f Overwrite .github/hooks/infernoflow-drafts.json and scripts if they exist
249
-
250
- ${bold("context options:")}
251
- --intent "..." What you plan to build next
252
- --working "..." What you are building right now
253
- --decision "..." Record a decision or note
254
- --show Print context without writing file
255
- --copy, -c Copy context to clipboard instantly
256
- --reset Clear all stored state
257
- --watch Poll git diff every 30s and auto-update CONTEXT.md (living context)
258
- --interval <secs> Watch poll interval in seconds (default: 30)
259
- --auto-commit Watch mode: commit CONTEXT.md to git on every change
260
- --auto-push Watch mode: commit + push CONTEXT.md on every change
261
-
262
- ${bold("generate-skills options:")}
263
- --cursor Also install rules to .cursor/rules/infernoflow.md
264
- --force, -f Overwrite existing generated skill files
265
-
266
- ${bold("implement options:")}
267
- --mode <type> cursor | generic | both (default: both)
268
- --copy, -c Copy generated prompt(s) to clipboard
269
-
270
- ${bold("run options:")}
271
- --dry-run Execute full flow without writing files
272
- --json Emit machine-readable events and result payload
273
- --no-rollback Keep changes even if validation fails
274
- --provider <type> auto | agent | local | prompt (default: auto)
275
- --ide <name> auto | cursor | vscode | windsurf (default: auto)
276
-
277
- ${bold("Typical workflow:")}
278
- ${gray('1. infernoflow context --intent "what I want to build"')}
279
- ${gray("2. [paste inferno/CONTEXT.md into Claude / Cursor / Copilot]")}
280
- ${gray("3. [build the feature]")}
281
- ${gray('4. infernoflow suggest "what I built"')}
282
- ${gray("5. infernoflow check")}
283
-
284
- ${bold("suggest options:")}
285
- --json Non-interactive: emit prompt as JSON, no readline prompts
286
- --response <json|@file> Provide AI response directly (use with --json)
287
- --apply Apply the response changes when using --json --response
288
-
289
- ${bold("version options:")}
290
- --ref <tag|commit> Compare against a specific ref (default: last git tag)
291
- --apply Write recommended version bump to package.json
292
- --json Machine-readable output
293
-
294
- ${bold("pr-comment options:")}
295
- --pr <number> PR number to comment on (auto-detected in GitHub Actions)
296
- --repo <owner/repo> GitHub repository (auto-detected in GitHub Actions)
297
- --token <ghp_...> GitHub token (auto-detected from GITHUB_TOKEN env var)
298
- --ref <ref> Base ref to diff against (auto-detected from GITHUB_BASE_REF)
299
- --dry-run Print the comment without posting it
300
- --json Machine-readable output
301
-
302
- ${bold("cloud sub-commands:")}
303
- init Generate a project token and configure cloud sync
304
- push Upload local capability contract to cloud
305
- pull Download latest contract from cloud (conflict detection)
306
- status Compare local vs cloud (hashes, capability counts)
307
- dashboard Print hosted dashboard URL and open in browser
308
-
309
- ${bold("cloud options:")}
310
- --token <tok> Override token (or set INFERNOFLOW_TOKEN env var)
311
- --endpoint <url> Override default endpoint (https://cloud.infernoflow.dev)
312
- --force, -f Overwrite on init; overwrite local on conflicted pull
313
- --dry-run Print what would happen without sending
314
- --json Machine-readable output
315
-
316
- ${bold("share options:")}
317
- --upload Upload to dpaste.com and print a public URL
318
- --open Open the snapshot in your browser immediately
319
- --copy Copy HTML to clipboard
320
- --out <path> Custom output path (default: inferno/share.html)
321
- --json Machine-readable: { ok, file, url }
322
-
323
- ${bold("watch options:")}
324
- [dirs...] Directories to watch (default: src/, lib/, app/)
325
- --interval <secs> Debounce interval in seconds (default: 3)
326
- --dry-run Print what would run without executing
327
- --silent No output (for git hook use)
328
-
329
- ${bold("notify options:")}
330
- --slack <url> Slack incoming webhook URL
331
- --discord <url> Discord webhook URL
332
- --on-change Only notify if capabilities actually changed
333
- --dry-run Print message without sending
334
- --json Machine-readable result
335
-
336
- ${bold("report options:")}
337
- --format html|md Output format (default: html)
338
- --since <period> 7d, 30d, 90d, or YYYY-MM-DD (default: 30d)
339
- --out <path> Output file path (default: inferno/report.html)
340
- --open Open HTML report in browser after generating
341
- --json Machine-readable summary
342
-
343
- ${bold("ci options:")}
344
- --platform <name> github | gitlab | bitbucket | generic (auto-detected)
345
- --fail-on <level> error | warning (default: error)
346
- --json Machine-readable result + exit code
347
-
348
- ${bold("monorepo sub-commands:")}
349
- init Run infernoflow init --adopt in every package
350
- list List detected packages with their capability counts
351
- status Show contract health across all packages
352
- diff Show capability changes across packages (--package to filter)
353
- sync Aggregate all contracts into inferno-monorepo.json
354
-
355
- ${bold("monorepo options:")}
356
- --package <name> Filter to a specific package
357
- --json Machine-readable output
358
-
359
- ${bold("link sub-commands:")}
360
- (default) Link a capability to a ticket
361
- list Show all capability→ticket links
362
- status Show linked and unlinked capabilities
363
- remove Remove a link by capability ID
364
-
365
- ${bold("link options:")}
366
- --capability <id> Capability to link
367
- --jira <TICKET> Jira ticket ID (e.g. PROJ-123)
368
- --linear <ID> Linear issue ID
369
- --github <NUM> GitHub issue number
370
- --json Machine-readable output
371
-
372
- ${bold("audit options:")}
373
- --format text|json|html Output format (default: text)
374
- --out <path> Save to file (default: prints to stdout)
375
- --fail-on high|medium Exit 1 if unreviewed caps at given severity exist
376
- --json Machine-readable output
377
-
378
- ${bold("vibe options:")}
379
- --dir <dirs> Comma-separated directories to watch (default: auto-detected)
380
- --no-suggest Disable automatic contract sync on file save
381
- --no-context Disable CONTEXT.md regeneration
382
- --interval <secs> Debounce seconds between saves (default: 4)
383
- --port <n> Also run a mini status dashboard on localhost:<n>
384
- --silent Suppress all terminal output (pure background mode)
385
-
386
- ${bold("adopt options:")}
387
- --dir <dirs> Source directories to scan (default: src,lib,app,api,routes,controllers)
388
- --yes, -y Auto-approve all candidates (non-interactive)
389
- --json Machine-readable output, implies --yes
390
-
391
- ${bold("init --template options:")}
392
- --template rest-api REST API (Express/Fastify/Hono) starter
393
- --template nextjs Next.js fullstack app starter
394
- --template cli CLI tool (Node.js/Python) starter
395
- --template graphql GraphQL API (Apollo/Pothos) starter
396
- --template monorepo Monorepo workspace starter
397
-
398
- ${bold("scout options:")}
399
- --dir <dirs> Comma-separated directories to scan (default: src,lib,app,api,routes)
400
- --apply Write discovered capabilities to the contract file
401
- --min-confidence <0-1> Minimum confidence threshold (default: 0.6)
402
- --json Machine-readable output
403
-
404
- ${bold("export options:")}
405
- --format openapi|backstage|csv|markdown|json Output format (required)
406
- --out <path> Output file path (default: project root, auto-named)
407
- --json Machine-readable summary
408
-
409
- ${bold("snapshot sub-commands:")}
410
- save <name> Save current contract as a named snapshot
411
- list List all snapshots
412
- show <name> Print a snapshot's capabilities
413
- diff <name1> [<name2>] Diff two snapshots (omit name2 to diff against current)
414
- restore <name> Overwrite contract with snapshot contents
415
- delete <name> Delete a snapshot
416
-
417
- ${bold("snapshot options:")}
418
- --json Machine-readable output
419
-
420
- ${bold("health options:")}
421
- --fail-below <score> Exit 1 if health score is below this threshold (CI gate)
422
- --watch Re-run every 30s (live terminal view)
423
- --interval <secs> Watch interval in seconds (default: 30)
424
- --json Machine-readable score + breakdown
425
-
426
- ${bold("doctor options:")}
427
- --fix Auto-fix common issues (installs hooks, runs init, etc.)
428
- --json Machine-readable list of pass/warn/fail results
429
-
430
- ${bold("coverage options:")}
431
- --dir <path> Extra directory to scan for test files (repeatable)
432
- --threshold <0-1> Minimum fuzzy-match score to count a test (default: 0.25)
433
- --fail-below <pct> Exit 1 if coverage percentage is below this value (CI gate)
434
- --json Machine-readable coverage breakdown
435
-
436
- ${bold("scan options:")}
437
- --dir <path> Extra directory to scan (repeatable)
438
- --capability <id> Scan and enrich a single capability only
439
- --suggest, -s Show untracked entry points as new capability candidates
440
- --dry-run Print results without writing files
441
- --json Machine-readable scan output (includes discovered routes)
442
-
443
- ${bold("graph options:")}
444
- --cap <id> Show dependency view for a single capability
445
- --check Exit 1 if breaking dependency changes detected (CI gate)
446
- --json Machine-readable graph output
447
-
448
- ${bold("stability / freeze / thaw options:")}
449
- infernoflow stability List all capabilities with their stability level
450
- infernoflow freeze <id> Mark capability as frozen (AI won't touch it)
451
- infernoflow freeze <id> --stable Mark as stable (careful, not forbidden)
452
- infernoflow thaw <id> Reset to experimental (liquid — free to change)
453
- --json Machine-readable stability list
454
-
455
- ${bold("review options:")}
456
- --unstaged Review all working-tree changes (not just staged)
457
- --last Review last commit (git diff HEAD~1)
458
- --dry-run Print the AI prompt only — no API call made
459
- --json Machine-readable output (affectedCaps, summary, provider)
460
-
461
- ${bold("why options:")}
462
- infernoflow why <file> Show capability for a source file
463
- infernoflow why <functionName> Show capability for a function name
464
- --function <name> Filter to a specific function when multiple caps match
465
- --json Machine-readable output
466
-
467
- ${bold("impact options:")}
468
- infernoflow impact <cap-id> Show blast radius for a capability
469
- --depth <n> Max transitive depth to traverse (default: 10)
470
- --check Exit 1 if risk level is HIGH or CRITICAL (CI gate)
471
- --json Machine-readable output
472
-
473
- ${bold("scaffold options:")}
474
- infernoflow scaffold <cap-id> Generate a new capability skeleton
475
- --dir <path> Output directory for the source file (default: auto-detected)
476
- --lang ts|js|py|go Language override (default: auto-detected from project)
477
- --description "..." Capability description to embed in the file
478
- --dry-run Preview what would be generated without writing files
479
- --json Machine-readable output including generated code
480
-
481
- ${bold("explain options:")}
482
- infernoflow explain <cap-id> AI narrative: what it does, risk, what to test
483
- --dry-run Print the AI prompt only — no API call made
484
- --json Machine-readable output (narrative, stability, scenarios)
485
-
486
- ${bold("test options:")}
487
- infernoflow test Run all caps that have registered scenarios
488
- infernoflow test <cap-id> Run scenarios for a specific capability
489
- infernoflow test --all Run every capability (including those without scenarios)
490
- --generate Print generated ad-hoc test file without running
491
- --bail Stop on first failure
492
- --verbose, -v Show runner output for each scenario
493
- --json Machine-readable output (passed/failed/skipped counts)
494
-
495
- ${bold("ai options:")}
496
- infernoflow ai setup Interactive wizard — pick provider, enter API key, verify
497
- infernoflow ai status Show all providers and which are configured
498
- infernoflow ai test [provider] Send a test prompt and verify the connection
499
- infernoflow ai clear <provider> Remove a provider's config from integrations.json
500
- Supported providers: anthropic openai gemini openrouter ollama
501
-
502
- ${bold("demo options:")}
503
- infernoflow demo Full interactive walkthrough (sample e-commerce project)
504
- infernoflow demo --fast Skip pauses — good for CI or screen recording
505
- infernoflow demo --no-cleanup Keep the temp demo project after the run
506
-
507
- ${bold("Machine output:")}
508
- ${gray("status --json")}
509
- ${gray("check --json")}
510
- ${gray("doc-gate --json")}
511
- ${gray("pr-impact --json")}
512
- ${gray("sync --auto --json")}
513
- ${gray('run "task" --json')}
514
- ${gray('suggest "what changed" --json')}
515
- ${gray('suggest "what changed" --json --response \'{"newCapabilities":[...]}\' --apply')}
516
- ${gray("version --json")}
517
- ${gray("version --apply")}
518
201
  `;
519
202
 
520
203
  // ── Silent behavior observation ───────────────────────────────────────────
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "infernoflow",
3
- "version": "0.35.8",
3
+ "version": "0.36.0",
4
4
  "description": "Persistent memory for AI coding sessions — captures what agents can't infer from code alone. Works with Copilot, Cursor, Claude, and Windsurf.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -56,7 +56,7 @@
56
56
  "type": "git",
57
57
  "url": "git+https://github.com/ronmiz/infernoflow.git"
58
58
  },
59
- "homepage": "https://github.com/ronmiz/infernoflow#readme",
59
+ "homepage": "https://infernoflow.dev",
60
60
  "bugs": {
61
61
  "url": "https://github.com/ronmiz/infernoflow/issues"
62
62
  },