@kindgi/cli 0.1.4-rc.2 → 0.1.4-rc.4

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 (119) hide show
  1. package/README.md +15 -8
  2. package/dist/build/defaults.d.ts.map +1 -1
  3. package/dist/build/defaults.js +2 -1
  4. package/dist/build/defaults.js.map +1 -1
  5. package/dist/commands/auth.d.ts.map +1 -1
  6. package/dist/commands/auth.js +10 -2
  7. package/dist/commands/auth.js.map +1 -1
  8. package/dist/commands/dev.d.ts.map +1 -1
  9. package/dist/commands/dev.js +7 -2
  10. package/dist/commands/dev.js.map +1 -1
  11. package/dist/commands/doctor.d.ts +54 -0
  12. package/dist/commands/doctor.d.ts.map +1 -0
  13. package/dist/commands/doctor.js +483 -0
  14. package/dist/commands/doctor.js.map +1 -0
  15. package/dist/commands/index.d.ts.map +1 -1
  16. package/dist/commands/index.js +2 -0
  17. package/dist/commands/index.js.map +1 -1
  18. package/dist/commands/init.d.ts.map +1 -1
  19. package/dist/commands/init.js +21 -7
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/mcp.js +1 -1
  22. package/dist/commands/mcp.js.map +1 -1
  23. package/dist/commands/providers.d.ts.map +1 -1
  24. package/dist/commands/providers.js +1 -1
  25. package/dist/commands/providers.js.map +1 -1
  26. package/dist/commands/run-waits.d.ts +106 -0
  27. package/dist/commands/run-waits.d.ts.map +1 -0
  28. package/dist/commands/run-waits.js +233 -0
  29. package/dist/commands/run-waits.js.map +1 -0
  30. package/dist/commands/runs.d.ts.map +1 -1
  31. package/dist/commands/runs.js +43 -18
  32. package/dist/commands/runs.js.map +1 -1
  33. package/dist/commands/unwired.d.ts.map +1 -1
  34. package/dist/commands/unwired.js +0 -5
  35. package/dist/commands/unwired.js.map +1 -1
  36. package/dist/context.d.ts +10 -0
  37. package/dist/context.d.ts.map +1 -1
  38. package/dist/context.js +1 -0
  39. package/dist/context.js.map +1 -1
  40. package/dist/dev/bundler.d.ts.map +1 -1
  41. package/dist/dev/bundler.js +3 -2
  42. package/dist/dev/bundler.js.map +1 -1
  43. package/dist/dev/runtime-container.d.ts.map +1 -1
  44. package/dist/dev/runtime-container.js +7 -4
  45. package/dist/dev/runtime-container.js.map +1 -1
  46. package/dist/dev/runtime-image.d.ts +1 -1
  47. package/dist/dev/runtime-image.js +1 -1
  48. package/dist/dev/runtime-registry.d.ts +23 -1
  49. package/dist/dev/runtime-registry.d.ts.map +1 -1
  50. package/dist/dev/runtime-registry.js +38 -4
  51. package/dist/dev/runtime-registry.js.map +1 -1
  52. package/dist/esbuild-loader.d.ts +3 -0
  53. package/dist/esbuild-loader.d.ts.map +1 -0
  54. package/dist/esbuild-loader.js +21 -0
  55. package/dist/esbuild-loader.js.map +1 -0
  56. package/dist/init/augment-scaffolder.d.ts.map +1 -1
  57. package/dist/init/augment-scaffolder.js +40 -8
  58. package/dist/init/augment-scaffolder.js.map +1 -1
  59. package/dist/init/dependency-specs.d.ts +6 -0
  60. package/dist/init/dependency-specs.d.ts.map +1 -1
  61. package/dist/init/dependency-specs.js +8 -0
  62. package/dist/init/dependency-specs.js.map +1 -1
  63. package/dist/init/package-json-patcher.d.ts +24 -0
  64. package/dist/init/package-json-patcher.d.ts.map +1 -1
  65. package/dist/init/package-json-patcher.js +58 -19
  66. package/dist/init/package-json-patcher.js.map +1 -1
  67. package/dist/init/pyproject-patcher.d.ts +6 -0
  68. package/dist/init/pyproject-patcher.d.ts.map +1 -1
  69. package/dist/init/pyproject-patcher.js +15 -0
  70. package/dist/init/pyproject-patcher.js.map +1 -1
  71. package/dist/init/python-augment.d.ts +5 -1
  72. package/dist/init/python-augment.d.ts.map +1 -1
  73. package/dist/init/python-augment.js +28 -6
  74. package/dist/init/python-augment.js.map +1 -1
  75. package/dist/init/template-files.d.ts +2 -0
  76. package/dist/init/template-files.d.ts.map +1 -1
  77. package/dist/init/template-files.js +2 -1
  78. package/dist/init/template-files.js.map +1 -1
  79. package/dist/main.d.ts +3 -0
  80. package/dist/main.d.ts.map +1 -1
  81. package/dist/main.js +18 -2
  82. package/dist/main.js.map +1 -1
  83. package/dist/package-manager.d.ts +34 -3
  84. package/dist/package-manager.d.ts.map +1 -1
  85. package/dist/package-manager.js +83 -4
  86. package/dist/package-manager.js.map +1 -1
  87. package/dist/providers/preset-loader.d.ts +2 -0
  88. package/dist/providers/preset-loader.d.ts.map +1 -1
  89. package/dist/providers/preset-loader.js +30 -11
  90. package/dist/providers/preset-loader.js.map +1 -1
  91. package/dist/providers/presets/gemini-api.json +55 -0
  92. package/dist/providers/presets/groq.json +39 -0
  93. package/dist/providers/presets/openai.json +50 -0
  94. package/dist/providers/presets/openrouter.json +61 -0
  95. package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +1 -1
  96. package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +1 -1
  97. package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +1 -1
  98. package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +1 -1
  99. package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +17 -8
  100. package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +1 -1
  101. package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +1 -1
  102. package/dist/sdk-skills/kindgi-getting-started/SKILL.md +1 -1
  103. package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +7 -5
  104. package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +7 -5
  105. package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +7 -5
  106. package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +7 -5
  107. package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +16 -13
  108. package/dist/templates/minimal/AGENTS.md +6 -3
  109. package/dist/templates/minimal/README.md.tmpl +11 -5
  110. package/dist/templates/minimal/package.json.tmpl +3 -0
  111. package/dist/templates/minimal/pnpm-workspace.yaml +2 -1
  112. package/dist/templates/python/AGENTS.md +7 -4
  113. package/dist/templates/python/README.md.tmpl +11 -5
  114. package/dist/templates/python/pyproject.toml.tmpl +1 -1
  115. package/dist/templates/sample/AGENTS.md +6 -3
  116. package/dist/templates/sample/README.md.tmpl +11 -5
  117. package/dist/templates/sample/package.json.tmpl +3 -0
  118. package/dist/templates/sample/pnpm-workspace.yaml +2 -1
  119. package/package.json +11 -11
@@ -48,9 +48,11 @@ kindgi runs start --agent=demo.echo-agent --input='{"userMessage":"hi"}'
48
48
 
49
49
  ## Use a real model
50
50
 
51
- `kindgi dev` gives a new pack `dev-echo`, a fallback provider that calls the
52
- first tool and replies "Tool responded: …" — it answers only while no other
53
- provider fits. To use Claude, with `kindgi dev` running, from another terminal:
51
+ `kindgi dev` gives a new pack `dev-echo`, a fallback provider that isn't a
52
+ model: it calls the first tool and replies "Tool responded: …", after a
53
+ warning line that says so. It answers only while no other provider fits. To
54
+ use a real model, set one LLM provider's key and register its preset, with
55
+ `kindgi dev` running, from another terminal. For Claude:
54
56
 
55
57
  ```sh
56
58
  kindgi secrets set ANTHROPIC_API_KEY --env=local --scope=tenant # no-echo prompt; writes .env.local
@@ -58,8 +60,12 @@ kindgi providers register --preset=anthropic # Opus 5.5, So
58
60
  ```
59
61
 
60
62
  Claude takes over from dev-echo on the next turn; nothing to restart.
61
- `--models=claude-haiku-4-5` registers one model only; `kindgi providers
62
- presets` lists the presets (Gemini on Vertex AI too). Picking a model per
63
+ `--models=claude-haiku-4-5` registers one model only. OpenAI
64
+ (`OPENAI_API_KEY`, `--preset=openai`), Gemini (`GEMINI_API_KEY`,
65
+ `--preset=gemini-api`), Groq (`GROQ_API_KEY`, `--preset=groq`) and
66
+ OpenRouter, many vendors' models with one key (`OPENROUTER_API_KEY`,
67
+ `--preset=openrouter`), work the same way; `kindgi providers presets` lists
68
+ the presets (Gemini on Vertex AI too). Picking a model per
63
69
  agent, and other providers: `.claude/skills/kindgi-authoring-providers/SKILL.md`.
64
70
 
65
71
  ## Note on `@kindgi/sdk` versioning
@@ -21,5 +21,8 @@
21
21
  "@types/node": "^22.0.0",
22
22
  "typescript": "^5.7.3",
23
23
  "vitest": "^3.0.0"
24
+ },
25
+ "allowScripts": {
26
+ "esbuild": false
24
27
  }
25
28
  }
@@ -3,6 +3,7 @@
3
3
  # its install script (true) or skips it (false); pnpm 11+ stops an install
4
4
  # until each one has a decision. esbuild (the CLI's bundler, and vitest's
5
5
  # transform) works without its script: its native binary comes from its
6
- # `@esbuild/<platform>` package, so the script stays off.
6
+ # `@esbuild/<platform>` package, so the script stays off. npm 11+ records
7
+ # the same decision in `package.json`'s `allowScripts`.
7
8
  allowBuilds:
8
9
  esbuild: false
@@ -11,10 +11,13 @@ starts with `_`. The config is `[tool.kindgi]` in `pyproject.toml`.
11
11
  - `uv run pytest` runs the tests; a `Tool` or `Guardrail` is still callable.
12
12
  - `uv run python -m kindgi.pack index --pack-dir .` shows what Kindgi sees.
13
13
  - Agents answer through a model provider. `kindgi dev` gives a new pack
14
- `dev-echo`, a fallback that calls the first tool and replies
15
- "Tool responded: …" while no other provider fits. For Claude,
16
- put the key in `.env` and add a `[[tool.kindgi.providers]]` table with
17
- `preset = "anthropic"` to `pyproject.toml`: `kindgi dev` then registers it
14
+ `dev-echo`, a fallback that isn't a model: it calls the first tool and
15
+ replies "Tool responded: …" after a warning line, while no other provider
16
+ fits. For a real model, put one LLM provider's key in `.env`
17
+ (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY` or
18
+ `OPENROUTER_API_KEY`) and add a `[[tool.kindgi.providers]]` table with its
19
+ preset (`preset = "anthropic"`, `"openai"`, `"gemini-api"`, `"groq"` or
20
+ `"openrouter"`) to `pyproject.toml`: `kindgi dev` then registers it
18
21
  on every boot, in every worktree. Other providers and per-agent model
19
22
  choice: `.claude/skills/kindgi-authoring-providers/SKILL.md`.
20
23
 
@@ -35,9 +35,11 @@ kindgi runs start --agent={{PACK_ID}}.echo-agent --input='{"userMessage":"hi"}'
35
35
 
36
36
  ## Use a real model
37
37
 
38
- `kindgi dev` gives a new pack `dev-echo`, a fallback provider that calls the
39
- first tool and replies "Tool responded: …" — it answers only while no other
40
- provider fits. To use Claude, with `kindgi dev` running, from another terminal:
38
+ `kindgi dev` gives a new pack `dev-echo`, a fallback provider that isn't a
39
+ model: it calls the first tool and replies "Tool responded: …", after a
40
+ warning line that says so. It answers only while no other provider fits. To
41
+ use a real model, set one LLM provider's key and register its preset, with
42
+ `kindgi dev` running, from another terminal. For Claude:
41
43
 
42
44
  ```sh
43
45
  kindgi secrets set ANTHROPIC_API_KEY --env=local --scope=tenant # no-echo prompt; writes .env.local
@@ -45,8 +47,12 @@ kindgi providers register --preset=anthropic # Opus 5.5, So
45
47
  ```
46
48
 
47
49
  Claude takes over from dev-echo on the next turn; nothing to restart.
48
- `--models=claude-haiku-4-5` registers one model only; `kindgi providers
49
- presets` lists the presets (Gemini on Vertex AI too). Picking a model per
50
+ `--models=claude-haiku-4-5` registers one model only. OpenAI
51
+ (`OPENAI_API_KEY`, `--preset=openai`), Gemini (`GEMINI_API_KEY`,
52
+ `--preset=gemini-api`), Groq (`GROQ_API_KEY`, `--preset=groq`) and
53
+ OpenRouter, many vendors' models with one key (`OPENROUTER_API_KEY`,
54
+ `--preset=openrouter`), work the same way; `kindgi providers presets` lists
55
+ the presets (Gemini on Vertex AI too). Picking a model per
50
56
  agent, and other providers: `.claude/skills/kindgi-authoring-providers/SKILL.md`.
51
57
 
52
58
  ## Build
@@ -6,7 +6,7 @@ requires-python = ">=3.11"
6
6
  dependencies = [{{KINDGI_REQUIREMENT}}]
7
7
 
8
8
  [dependency-groups]
9
- dev = ["pytest>=8"]
9
+ dev = [{{DEV_DEPENDENCIES}}]
10
10
 
11
11
  # The uv versions this pack works with: `kindgi build` installs it with the
12
12
  # uv in Kindgi's image, which reads the uv.lock they write.
@@ -7,9 +7,12 @@ field-level docs. Iterate with `kindgi dev`; `kindgi --help` lists
7
7
  the full CLI.
8
8
 
9
9
  Agents answer through a model provider. `kindgi dev` gives a new pack
10
- `dev-echo`, a fallback that calls the first tool and replies
11
- "Tool responded: …" while no other provider fits. For Claude,
12
- put the key in `.env` and declare `{ preset: 'anthropic' }` in
10
+ `dev-echo`, a fallback that isn't a model: it calls the first tool and
11
+ replies "Tool responded: …" after a warning line, while no other provider
12
+ fits. For a real model, put one LLM provider's key in `.env`
13
+ (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY` or
14
+ `OPENROUTER_API_KEY`) and declare its preset (`{ preset: 'anthropic' }`,
15
+ `'openai'`, `'gemini-api'`, `'groq'` or `'openrouter'`) in
13
16
  `kindgi.config.ts`'s `providers`: `kindgi dev` then registers it on every
14
17
  boot, in every worktree. Other providers and per-agent model choice:
15
18
  `.claude/skills/kindgi-authoring-providers/SKILL.md`.
@@ -40,9 +40,11 @@ re-registers on every file save.
40
40
 
41
41
  ## Use a real model
42
42
 
43
- `kindgi dev` gives a new pack `dev-echo`, a fallback provider that calls the
44
- first tool and replies "Tool responded: …" — it answers only while no other
45
- provider fits. To use Claude, with `kindgi dev` running, from another terminal:
43
+ `kindgi dev` gives a new pack `dev-echo`, a fallback provider that isn't a
44
+ model: it calls the first tool and replies "Tool responded: …", after a
45
+ warning line that says so. It answers only while no other provider fits. To
46
+ use a real model, set one LLM provider's key and register its preset, with
47
+ `kindgi dev` running, from another terminal. For Claude:
46
48
 
47
49
  ```sh
48
50
  kindgi secrets set ANTHROPIC_API_KEY --env=local --scope=tenant # no-echo prompt; writes .env.local
@@ -50,8 +52,12 @@ kindgi providers register --preset=anthropic # Opus 5.5, So
50
52
  ```
51
53
 
52
54
  Claude takes over from dev-echo on the next turn; nothing to restart.
53
- `--models=claude-haiku-4-5` registers one model only; `kindgi providers
54
- presets` lists the presets (Gemini on Vertex AI too). Picking a model per
55
+ `--models=claude-haiku-4-5` registers one model only. OpenAI
56
+ (`OPENAI_API_KEY`, `--preset=openai`), Gemini (`GEMINI_API_KEY`,
57
+ `--preset=gemini-api`), Groq (`GROQ_API_KEY`, `--preset=groq`) and
58
+ OpenRouter, many vendors' models with one key (`OPENROUTER_API_KEY`,
59
+ `--preset=openrouter`), work the same way; `kindgi providers presets` lists
60
+ the presets (Gemini on Vertex AI too). Picking a model per
55
61
  agent, and other providers: `.claude/skills/kindgi-authoring-providers/SKILL.md`.
56
62
 
57
63
  ## The four primitives (one file each)
@@ -21,5 +21,8 @@
21
21
  "@types/node": "^22.0.0",
22
22
  "typescript": "^5.7.3",
23
23
  "vitest": "^3.0.0"
24
+ },
25
+ "allowScripts": {
26
+ "esbuild": false
24
27
  }
25
28
  }
@@ -3,6 +3,7 @@
3
3
  # its install script (true) or skips it (false); pnpm 11+ stops an install
4
4
  # until each one has a decision. esbuild (the CLI's bundler, and vitest's
5
5
  # transform) works without its script: its native binary comes from its
6
- # `@esbuild/<platform>` package, so the script stays off.
6
+ # `@esbuild/<platform>` package, so the script stays off. npm 11+ records
7
+ # the same decision in `package.json`'s `allowScripts`.
7
8
  allowBuilds:
8
9
  esbuild: false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/cli",
3
- "version": "0.1.4-rc.2",
3
+ "version": "0.1.4-rc.4",
4
4
  "description": "Command-line interface for Kindgi™ — the sovereign AI OS. Create a pack, run it on your machine (`kindgi dev`), build, sign and deploy it, and work with a running Kindgi API from the terminal.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -37,16 +37,16 @@
37
37
  "provenance": true
38
38
  },
39
39
  "dependencies": {
40
- "@kindgi/client": "0.1.4-rc.2",
41
- "@kindgi/dotenv-file": "0.1.4-rc.2",
42
- "@kindgi/crypto": "0.1.4-rc.2",
43
- "@kindgi/env-schema": "0.1.4-rc.2",
44
- "@kindgi/flow": "0.1.4-rc.2",
45
- "@kindgi/handler-runtime": "0.1.4-rc.2",
46
- "@kindgi/secrets-dotenv": "0.1.4-rc.2",
47
- "@kindgi/platform": "0.1.4-rc.2",
48
- "@kindgi/sdk": "0.1.4-rc.2",
49
- "@kindgi/types": "0.1.4-rc.2",
40
+ "@kindgi/client": "0.1.4-rc.4",
41
+ "@kindgi/dotenv-file": "0.1.4-rc.4",
42
+ "@kindgi/crypto": "0.1.4-rc.4",
43
+ "@kindgi/env-schema": "0.1.4-rc.4",
44
+ "@kindgi/flow": "0.1.4-rc.4",
45
+ "@kindgi/handler-runtime": "0.1.4-rc.4",
46
+ "@kindgi/secrets-dotenv": "0.1.4-rc.4",
47
+ "@kindgi/platform": "0.1.4-rc.4",
48
+ "@kindgi/sdk": "0.1.4-rc.4",
49
+ "@kindgi/types": "0.1.4-rc.4",
50
50
  "esbuild": "^0.24.0",
51
51
  "semver": "^7.8.5",
52
52
  "smol-toml": "^1.9.0",