opencode-skills-collection 3.1.23 → 4.0.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.
Files changed (241) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +24 -1
  2. package/bundled-skills/007/SKILL.md +2 -2
  3. package/bundled-skills/10-andruia-skill-smith/SKILL.md +1 -1
  4. package/bundled-skills/agent-squad/SKILL.md +5 -0
  5. package/bundled-skills/agent-squad/alex/SKILL.md +3 -0
  6. package/bundled-skills/agent-squad/aria/SKILL.md +3 -0
  7. package/bundled-skills/agent-squad/dep/SKILL.md +3 -0
  8. package/bundled-skills/agent-squad/luna/SKILL.md +4 -1
  9. package/bundled-skills/agent-squad/mason/SKILL.md +3 -0
  10. package/bundled-skills/agent-squad/max/SKILL.md +3 -0
  11. package/bundled-skills/agent-squad/quinn/SKILL.md +3 -0
  12. package/bundled-skills/agent-squad/rex/SKILL.md +3 -0
  13. package/bundled-skills/angular/metadata.json +1 -1
  14. package/bundled-skills/angular-best-practices/metadata.json +1 -1
  15. package/bundled-skills/angular-state-management/metadata.json +1 -1
  16. package/bundled-skills/angular-ui-patterns/metadata.json +1 -1
  17. package/bundled-skills/antigravity-skill-orchestrator/SKILL.md +2 -2
  18. package/bundled-skills/apify-actor-development/SKILL.md +2 -2
  19. package/bundled-skills/apple-container/SKILL.md +165 -0
  20. package/bundled-skills/apple-container/references/commands.md +1593 -0
  21. package/bundled-skills/apple-container/references/concepts.md +294 -0
  22. package/bundled-skills/apple-container/references/configuration.md +499 -0
  23. package/bundled-skills/apple-container/references/workflows.md +498 -0
  24. package/bundled-skills/ask-copilot/SKILL.md +112 -0
  25. package/bundled-skills/auto-research/SKILL.md +126 -0
  26. package/bundled-skills/brooks-lint/SKILL.md +1 -1
  27. package/bundled-skills/browser-harness/references/install.md +3 -1
  28. package/bundled-skills/chrome-extension-developer/SKILL.md +1 -1
  29. package/bundled-skills/clean-code-guard/SKILL.md +184 -0
  30. package/bundled-skills/clean-code-guard/references/ai-failure-modes.md +345 -0
  31. package/bundled-skills/clean-code-guard/references/comments-and-formatting.md +115 -0
  32. package/bundled-skills/clean-code-guard/references/dry-kiss-yagni.md +133 -0
  33. package/bundled-skills/clean-code-guard/references/naming-and-functions.md +187 -0
  34. package/bundled-skills/clean-code-guard/references/review-checklist.md +150 -0
  35. package/bundled-skills/clean-code-guard/references/solid.md +280 -0
  36. package/bundled-skills/clean-code-guard/references/sources.md +47 -0
  37. package/bundled-skills/cloudflare-security-audit/SKILL.md +137 -0
  38. package/bundled-skills/cloudflare-security-audit/references/AI-AND-LLM.md +67 -0
  39. package/bundled-skills/cloudflare-security-audit/references/ATTACK-CLASSES.md +116 -0
  40. package/bundled-skills/cloudflare-security-audit/references/CLIENT-SIDE.md +67 -0
  41. package/bundled-skills/cloudflare-security-audit/references/HUNTING.md +110 -0
  42. package/bundled-skills/cloudflare-security-audit/references/MEMORY-SAFETY-AND-BINARY.md +58 -0
  43. package/bundled-skills/cloudflare-security-audit/references/RECONNAISSANCE.md +46 -0
  44. package/bundled-skills/cloudflare-security-audit/references/VALIDATION-AND-REPORTING.md +109 -0
  45. package/bundled-skills/cloudflare-security-audit/references/WEB-PROTOCOL-AND-AUTH.md +85 -0
  46. package/bundled-skills/cloudflare-security-audit/resources/report-schema.json +210 -0
  47. package/bundled-skills/comfyui-gateway/references/troubleshooting.md +1 -1
  48. package/bundled-skills/commit/SKILL.md +2 -1
  49. package/bundled-skills/deepapi/SKILL.md +6 -6
  50. package/bundled-skills/docs/README.md +1 -1
  51. package/bundled-skills/docs/contributors/quality-bar.md +1 -1
  52. package/bundled-skills/docs/contributors/security-guardrails.md +1 -1
  53. package/bundled-skills/docs/integrations/jetski-cortex.md +5 -5
  54. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +3 -3
  55. package/bundled-skills/docs/maintainers/ci-drift-fix.md +7 -5
  56. package/bundled-skills/docs/maintainers/merge-batch.md +24 -7
  57. package/bundled-skills/docs/maintainers/pr-autonomy.md +89 -0
  58. package/bundled-skills/docs/maintainers/release-notes-7.2.0.md +1 -1
  59. package/bundled-skills/docs/maintainers/release-process.md +9 -9
  60. package/bundled-skills/docs/maintainers/repo-growth-seo.md +5 -5
  61. package/bundled-skills/docs/maintainers/skills-date-tracking.md +1 -1
  62. package/bundled-skills/docs/maintainers/skills-update-guide.md +2 -2
  63. package/bundled-skills/docs/users/{antigravity-awesome-skills-vs-awesome-claude-skills.md → agentic-awesome-skills-vs-awesome-claude-skills.md} +5 -5
  64. package/bundled-skills/docs/users/ai-agent-skills.md +4 -4
  65. package/bundled-skills/docs/users/best-claude-code-skills-github.md +3 -3
  66. package/bundled-skills/docs/users/best-cursor-skills-github.md +3 -3
  67. package/bundled-skills/docs/users/bundles.md +56 -57
  68. package/bundled-skills/docs/users/claude-code-skills.md +6 -6
  69. package/bundled-skills/docs/users/codex-cli-skills.md +5 -5
  70. package/bundled-skills/docs/users/cursor-skills.md +3 -3
  71. package/bundled-skills/docs/users/faq.md +27 -15
  72. package/bundled-skills/docs/users/gemini-cli-skills.md +4 -4
  73. package/bundled-skills/docs/users/getting-started.md +22 -12
  74. package/bundled-skills/docs/users/kiro-integration.md +7 -7
  75. package/bundled-skills/docs/users/plugins.md +8 -9
  76. package/bundled-skills/docs/users/security-skills.md +1 -1
  77. package/bundled-skills/docs/users/skills-vs-mcp-tools.md +1 -1
  78. package/bundled-skills/docs/users/specialized-plugin-roadmap.md +3 -4
  79. package/bundled-skills/docs/users/usage.md +9 -9
  80. package/bundled-skills/docs/users/visual-guide.md +7 -7
  81. package/bundled-skills/docs/users/windows-truncation-recovery.md +1 -1
  82. package/bundled-skills/docs/users/workflows.md +1 -1
  83. package/bundled-skills/docs/vietnamese/BUNDLES.vi.md +1 -1
  84. package/bundled-skills/docs/vietnamese/FAQ.vi.md +15 -8
  85. package/bundled-skills/docs/vietnamese/GETTING_STARTED.vi.md +12 -5
  86. package/bundled-skills/docs/vietnamese/QUALITY_BAR.vi.md +1 -1
  87. package/bundled-skills/docs/vietnamese/README.vi.md +21 -17
  88. package/bundled-skills/docs/vietnamese/SECURITY_GUARDRAILS.vi.md +1 -1
  89. package/bundled-skills/docs/vietnamese/SKILLS_README.vi.md +2 -2
  90. package/bundled-skills/docs/vietnamese/TRANSLATION_PLAN.vi.md +1 -1
  91. package/bundled-skills/docs/vietnamese/VISUAL_GUIDE.vi.md +8 -8
  92. package/bundled-skills/docs-guard/SKILL.md +109 -0
  93. package/bundled-skills/docs-guard/references/code-samples.md +46 -0
  94. package/bundled-skills/docs-guard/references/docstrings.md +60 -0
  95. package/bundled-skills/docs-guard/references/review-checklist.md +45 -0
  96. package/bundled-skills/docs-guard/references/sources.md +22 -0
  97. package/bundled-skills/docs-guard/references/verification.md +51 -0
  98. package/bundled-skills/efficient-web-research/SKILL.md +4 -0
  99. package/bundled-skills/electron-development/SKILL.md +1 -1
  100. package/bundled-skills/event-staffing-compliance/SKILL.md +3 -0
  101. package/bundled-skills/event-staffing-ordering/SKILL.md +3 -0
  102. package/bundled-skills/feature-tracking/SKILL.md +222 -0
  103. package/bundled-skills/flutter-expert/SKILL.md +6 -1
  104. package/bundled-skills/flutter-expert/resources/implementation-playbook.md +214 -0
  105. package/bundled-skills/gemini-deep-research/README.md +246 -0
  106. package/bundled-skills/gemini-deep-research/SKILL.md +136 -0
  107. package/bundled-skills/gemini-deep-research/requirements.txt +2 -0
  108. package/bundled-skills/gemini-deep-research/scripts/research.py +692 -0
  109. package/bundled-skills/git-pushing/SKILL.md +21 -4
  110. package/bundled-skills/git-pushing/scripts/smart_commit.sh +206 -11
  111. package/bundled-skills/go-in-depth/scripts/workflow-script.js +4 -1
  112. package/bundled-skills/grok-build/SKILL.md +167 -0
  113. package/bundled-skills/grok-build/references/cli.md +99 -0
  114. package/bundled-skills/huggingface-tool-builder/references/find_models_by_paper.sh +1 -1
  115. package/bundled-skills/idea-autopsy/SKILL.md +147 -0
  116. package/bundled-skills/it-manager-hospital/README.md +1 -1
  117. package/bundled-skills/it-manager-pro/README.md +1 -1
  118. package/bundled-skills/itil-expert/README.md +1 -1
  119. package/bundled-skills/langgraph/SKILL.md +1 -1
  120. package/bundled-skills/linkedin-content-generator/SKILL.md +1 -1
  121. package/bundled-skills/lint-and-validate/scripts/lint_runner.py +23 -23
  122. package/bundled-skills/lint-and-validate/scripts/type_coverage.py +30 -30
  123. package/bundled-skills/logic-lens/SKILL.md +1 -1
  124. package/bundled-skills/lore/LICENSE +21 -0
  125. package/bundled-skills/lore/README.md +386 -0
  126. package/bundled-skills/lore/README.zh-CN.md +386 -0
  127. package/bundled-skills/lore/SKILL.md +453 -0
  128. package/bundled-skills/lore/WORKFLOWS.md +216 -0
  129. package/bundled-skills/lore/WORKFLOWS.zh-CN.md +216 -0
  130. package/bundled-skills/lore/references/audit-template.md +60 -0
  131. package/bundled-skills/lore/references/compatibility.md +228 -0
  132. package/bundled-skills/lore/references/config.md +125 -0
  133. package/bundled-skills/lore/references/entry-format.md +70 -0
  134. package/bundled-skills/lore/references/history-command.md +106 -0
  135. package/bundled-skills/lore/references/monorepo-detection.md +78 -0
  136. package/bundled-skills/lore/references/platform-mirrors.md +377 -0
  137. package/bundled-skills/lore/references/stale-new-markers.md +62 -0
  138. package/bundled-skills/lore/references/summary-template.md +98 -0
  139. package/bundled-skills/lore/scripts/README.md +54 -0
  140. package/bundled-skills/lore/scripts/README.zh-CN.md +54 -0
  141. package/bundled-skills/lore/scripts/find_duplicates.py +211 -0
  142. package/bundled-skills/lore/scripts/find_stale.py +116 -0
  143. package/bundled-skills/lore/scripts/history.py +527 -0
  144. package/bundled-skills/lore/scripts/id_hash.py +32 -0
  145. package/bundled-skills/lore/scripts/list_entries.py +183 -0
  146. package/bundled-skills/lovable-cleanup/SKILL.md +3 -3
  147. package/bundled-skills/makepad-splash/SKILL.md +1 -1
  148. package/bundled-skills/mmx-cli/SKILL.md +14 -1
  149. package/bundled-skills/monopoly/SKILL.md +5 -0
  150. package/bundled-skills/monopoly/patterns/SKILL.md +4 -0
  151. package/bundled-skills/monopoly/scale-benchmarks/SKILL.md +4 -0
  152. package/bundled-skills/monopoly/security-checklist/SKILL.md +4 -0
  153. package/bundled-skills/monopoly/tech-matrix/SKILL.md +4 -0
  154. package/bundled-skills/mtls-configuration/SKILL.md +1 -1
  155. package/bundled-skills/network-101/SKILL.md +4 -5
  156. package/bundled-skills/nika/SKILL.md +270 -0
  157. package/bundled-skills/not-a-vibe-coder/SKILL.md +4 -0
  158. package/bundled-skills/ontoly-software-graph/SKILL.md +160 -0
  159. package/bundled-skills/openclaw-github-repo-commander/SKILL.md +1 -1
  160. package/bundled-skills/pilot-protocol/SKILL.md +6 -3
  161. package/bundled-skills/postgres-readonly-queries/README.md +77 -0
  162. package/bundled-skills/postgres-readonly-queries/SKILL.md +152 -0
  163. package/bundled-skills/postgres-readonly-queries/connections.example.json +34 -0
  164. package/bundled-skills/postgres-readonly-queries/requirements.txt +1 -0
  165. package/bundled-skills/postgres-readonly-queries/scripts/query.py +262 -0
  166. package/bundled-skills/pptx-deck-creation/SKILL.md +275 -0
  167. package/bundled-skills/pptx-deck-creation/references/audit-checklist.md +156 -0
  168. package/bundled-skills/pptx-deck-creation/references/design-profiles.md +96 -0
  169. package/bundled-skills/pptx-deck-creation/references/python-snippets.md +150 -0
  170. package/bundled-skills/pptx-deck-creation/references/reference-deck-analysis.md +91 -0
  171. package/bundled-skills/pptx-deck-creation/references/visual-asset-adapters.md +158 -0
  172. package/bundled-skills/privilege-escalation-methods/SKILL.md +1 -1
  173. package/bundled-skills/product-decision-agent/SKILL.md +94 -0
  174. package/bundled-skills/product-decision-agent/agents/openai.yaml +7 -0
  175. package/bundled-skills/product-decision-agent/references/methodology-basis.md +232 -0
  176. package/bundled-skills/product-decision-agent/references/product-playbooks.md +813 -0
  177. package/bundled-skills/product-decision-agent/references/reasoning-engine.md +289 -0
  178. package/bundled-skills/product-decision-agent/references/response-examples.md +279 -0
  179. package/bundled-skills/product-decision-agent/scripts/quality_gate.py +221 -0
  180. package/bundled-skills/product-decision-agent/scripts/test_quality_gate.py +94 -0
  181. package/bundled-skills/pytest-skill/reference/playbook.md +358 -0
  182. package/bundled-skills/quit-sponsor/SKILL.md +96 -0
  183. package/bundled-skills/rclone-cli/references/providers/s3.md +1 -1
  184. package/bundled-skills/security-and-hardening/SKILL.md +1 -1
  185. package/bundled-skills/semgrep-rule-creator/SKILL.md +6 -6
  186. package/bundled-skills/skill-creator/README.md +3 -3
  187. package/bundled-skills/skill-creator/SKILL.md +8 -4
  188. package/bundled-skills/skill-creator/scripts/quick_validate.py +1 -1
  189. package/bundled-skills/sql-injection-testing/SKILL.md +4 -4
  190. package/bundled-skills/subagent-orchestrator/README.md +1 -1
  191. package/bundled-skills/super-code/bash/SKILL.md +3 -0
  192. package/bundled-skills/super-code/c/SKILL.md +3 -0
  193. package/bundled-skills/super-code/cpp/SKILL.md +3 -0
  194. package/bundled-skills/super-code/csharp/SKILL.md +3 -0
  195. package/bundled-skills/super-code/dart/SKILL.md +3 -0
  196. package/bundled-skills/super-code/elixir/SKILL.md +3 -0
  197. package/bundled-skills/super-code/go/SKILL.md +3 -0
  198. package/bundled-skills/super-code/java/SKILL.md +3 -0
  199. package/bundled-skills/super-code/kotlin/SKILL.md +3 -0
  200. package/bundled-skills/super-code/php/SKILL.md +3 -0
  201. package/bundled-skills/super-code/python/SKILL.md +3 -0
  202. package/bundled-skills/super-code/ruby/SKILL.md +3 -0
  203. package/bundled-skills/super-code/rust/SKILL.md +3 -0
  204. package/bundled-skills/super-code/scala/SKILL.md +3 -0
  205. package/bundled-skills/super-code/swift/SKILL.md +3 -0
  206. package/bundled-skills/super-code/typescript/SKILL.md +3 -0
  207. package/bundled-skills/telegram-bot-messaging/README.md +185 -0
  208. package/bundled-skills/telegram-bot-messaging/SKILL.md +101 -0
  209. package/bundled-skills/telegram-bot-messaging/scripts/telegram.sh +420 -0
  210. package/bundled-skills/test-guard/SKILL.md +132 -0
  211. package/bundled-skills/test-guard/references/jest.md +50 -0
  212. package/bundled-skills/test-guard/references/llm-app-testing.md +40 -0
  213. package/bundled-skills/test-guard/references/phpunit.md +56 -0
  214. package/bundled-skills/test-guard/references/pytest.md +65 -0
  215. package/bundled-skills/trading-ledger/SKILL.md +11 -3
  216. package/bundled-skills/uizze-ui-research/SKILL.md +93 -0
  217. package/bundled-skills/vibe-code-auditor/SKILL.md +1 -1
  218. package/bundled-skills/vibecode-production-qa-validator/SKILL.md +1 -1
  219. package/bundled-skills/videodb/scripts/ws_listener.py +29 -15
  220. package/bundled-skills/voice-ai-engine-development/README.md +1 -1
  221. package/bundled-skills/vulnerability-scanner/SKILL.md +1 -1
  222. package/bundled-skills/warehouse/SKILL.md +154 -0
  223. package/bundled-skills/woo-guard/SKILL.md +113 -0
  224. package/bundled-skills/woo-guard/references/checkout-and-money.md +64 -0
  225. package/bundled-skills/woo-guard/references/hpos-and-crud.md +87 -0
  226. package/bundled-skills/woo-guard/references/review-checklist.md +44 -0
  227. package/bundled-skills/woo-guard/references/sources.md +17 -0
  228. package/bundled-skills/wp-guard/SKILL.md +119 -0
  229. package/bundled-skills/wp-guard/references/i18n.md +88 -0
  230. package/bundled-skills/wp-guard/references/performance.md +70 -0
  231. package/bundled-skills/wp-guard/references/review-checklist.md +57 -0
  232. package/bundled-skills/wp-guard/references/security.md +100 -0
  233. package/bundled-skills/wp-guard/references/sources.md +27 -0
  234. package/bundled-skills/writing-skills/gotchas.md +1 -1
  235. package/bundled-skills/writing-skills/references/standards/metadata-standard.md +1 -1
  236. package/bundled-skills/x-twitter-scraper/SKILL.md +14 -32
  237. package/bundled-skills/xss-html-injection/SKILL.md +3 -3
  238. package/bundled-skills/youtube-seo-optimizer/SKILL.md +1 -1
  239. package/bundled-skills/youtube-summarizer/CHANGELOG.md +2 -2
  240. package/package.json +1 -1
  241. package/skills_index.json +273 -0
@@ -0,0 +1,499 @@
1
+ # Configuration & administration
2
+
3
+ Admin guide for Apple's `container` CLI runtime (Apple silicon macOS). This is **not Docker** —
4
+ the CLI is Docker-like but the runtime is a per-container lightweight VM. For exhaustive
5
+ flags/subcommands see `commands.md`; this file covers the operator surface only.
6
+
7
+ The runtime is a set of launchd-managed services (`container-apiserver` + machine API server +
8
+ background helpers). Almost everything below drives those services. Every command accepts
9
+ `--debug` (env `CONTAINER_DEBUG`). Most `list`/`status` commands accept `--format` — commonly
10
+ `json`, `table`, `yaml`, and `toml` (the exact value set and default vary by command, e.g. `table`
11
+ for `container list` but `toml` for `system property list`; check `<command> --help`).
12
+
13
+ ---
14
+
15
+ ## 1. System service: start / stop / status / logs
16
+
17
+ The `container` services must be running before any container/image/build command works.
18
+
19
+ ```bash
20
+ container system start # register services in launchd, launch apiserver + machine API
21
+ container system status # health-check; prints running state + data/install roots
22
+ container system stop # stop all services and deregister from launchd
23
+ container system logs # recent service logs (default last 5m)
24
+ container system logs -f # live tail
25
+ container system logs --last 1h
26
+ ```
27
+
28
+ `system start` behavior worth knowing:
29
+ - Launches `container-apiserver` via launchd, then **pings it** and fails if unresponsive
30
+ (bump `--timeout <seconds>` on slow machines).
31
+ - On first run it **installs the base filesystem (`vminit`) image** and prompts to install the
32
+ **default kernel** unless you pass `--enable-kernel-install` / `--disable-kernel-install`.
33
+ - Loads `config.toml` (see §2) once, at startup. **Restart after any config/property change:**
34
+ `container system stop && container system start`.
35
+
36
+ | `system start` flag | Purpose | Default |
37
+ |---------------------|---------|---------|
38
+ | `-a, --app-root <path>` | Application data root | `~/Library/Application Support/com.apple.container/` |
39
+ | `--install-root <path>` | Executables/plugins root | `/usr/local/` |
40
+ | `--log-root <path>` | Log dir; unset → macOS unified log | unset |
41
+ | `--enable-kernel-install` / `--disable-kernel-install` | Install default kernel or not (mutually exclusive) | prompt |
42
+ | `--timeout <seconds>` | Wait for apiserver readiness | XPC default |
43
+
44
+ `system stop` takes `-p, --prefix <prefix>` (launchd prefix, default `com.apple.container.`);
45
+ `system status` takes the same `--prefix` plus `--format`.
46
+
47
+ `system df` shows reclaimable disk usage for images/containers/volumes:
48
+ ```bash
49
+ container system df --format json
50
+ ```
51
+
52
+ **Data locations** (reported by `system status`):
53
+
54
+ | Location | Default path |
55
+ |----------|--------------|
56
+ | App data root | `~/Library/Application Support/com.apple.container/` |
57
+ | Install root | `/usr/local/` |
58
+ | User config | `~/.config/container/config.toml` |
59
+ | Package config | `<installRoot>/etc/container/config.toml` (e.g. `/usr/local/etc/...`) |
60
+
61
+ Data root holds `apiserver/`, `builder/`, `containers/`, `content/`, `kernels/`, `networks/`,
62
+ `volumes/`, `snapshots/`, `plugin-state/`, `user-plugins/`, and `state.json`.
63
+
64
+ ---
65
+
66
+ ## 2. System properties / config.toml
67
+
68
+ One `ContainerSystemConfig` drives the runtime. **Configure it by editing `config.toml`**;
69
+ `container system property list` is a read-only view of the effective (merged) values.
70
+
71
+ - **`config.toml`** section tables (`[build]`, `[container]`, …) are loaded at service startup,
72
+ first-match-wins across `~/.config/container/config.toml` then
73
+ `<installRoot>/etc/container/config.toml`. Missing keys fall back to hardcoded defaults.
74
+ - **Flat property IDs** (e.g. `build.rosetta`, `dns.domain`) are how the same values are named
75
+ and reported. `container system property` has only the `list` subcommand — there is **no**
76
+ per-key `get`, `set`, or `clear`. To change a value edit `config.toml`; to revert one, remove
77
+ its key.
78
+
79
+ Property ID ⇄ TOML mapping is direct: `build.rosetta` ⇄ `[build] rosetta`, etc. (exceptions:
80
+ the builder/vminit image IDs — see table).
81
+
82
+ ```bash
83
+ # View effective values (read-only)
84
+ container system property list # all IDs, types, current values (default: toml)
85
+ container system property list --format json
86
+ ```
87
+
88
+ ```toml
89
+ # Change values by editing ~/.config/container/config.toml, then restart services
90
+ [container]
91
+ cpus = 8
92
+ [registry]
93
+ domain = "ghcr.io"
94
+ ```
95
+ ```bash
96
+ container system stop && container system start # apply; remove a key to revert it
97
+ ```
98
+
99
+ **Every configurable key:**
100
+
101
+ | Property ID | TOML | Type | Default | Meaning |
102
+ |-------------|------|------|---------|---------|
103
+ | `build.rosetta` | `[build] rosetta` | Bool | `true` | Build amd64 images on arm64 via Rosetta (else QEMU) |
104
+ | `build.cpus` | `[build] cpus` | Int | `2` | Builder VM CPU count |
105
+ | `build.memory` | `[build] memory` | MemorySize | `"2048mb"` | Builder VM RAM |
106
+ | `image.builder` | `[build] image` | String | `ghcr.io/apple/container-builder-shim/builder:<ver>` | Builder (BuildKit) image reference |
107
+ | `container.cpus` | `[container] cpus` | Int | `4` | Default CPUs per container (when `run`/`create` omit `--cpus`) |
108
+ | `container.memory` | `[container] memory` | MemorySize | `"1g"` | Default RAM per container |
109
+ | `dns.domain` | `[dns] domain` | String? | unset | Local domain appended to unqualified container names (§4) |
110
+ | `registry.domain` | `[registry] domain` | String | `"docker.io"` | Default registry for bare image refs (§5) |
111
+ | `kernel.url` | `[kernel] url` | URL | kata-static release URL | Kernel file or archive to install (§3) |
112
+ | `kernel.binaryPath` | `[kernel] binaryPath` | String | `opt/kata/share/kata-containers/vmlinux-<ver>` | Archive-member path of the kernel |
113
+ | `network.subnet` | `[network] subnet` | CIDRv4? | unset | Default IPv4 subnet for networks; auto-allocates when unset (§7) |
114
+ | — | `[network] subnetv6` | CIDRv6? | unset | Default IPv6 prefix for networks; auto-allocates when unset (§7) |
115
+ | `image.init` | `[vminit] image` | String | `ghcr.io/apple/containerization/vminit:<ver>` | `vminitd` image booting container VMs |
116
+ | — | `[plugin.<id>]` | — | — | Plugin-scoped config; each plugin reads only its own section |
117
+
118
+ > Exact defaults (kernel version, image tags) drift per release. Confirm with
119
+ > `container system property list`; do not assume a specific version.
120
+
121
+ **MemorySize** = quoted string, integer + binary unit (`b/kb/mb/gb/tb/pb`, powers of 1024, case-insensitive);
122
+ bare integer = bytes. `"2g"` re-emits as `"2gb"`. **CIDR** = quoted, e.g. `"192.168.100.0/24"`.
123
+
124
+ Minimal `config.toml` example:
125
+ ```toml
126
+ [container]
127
+ cpus = 8
128
+ memory = "4g"
129
+ [dns]
130
+ domain = "test"
131
+ ```
132
+
133
+ The full per-section `config.toml` schema (keys, types, defaults, meaning), the flat property
134
+ list as emitted by the CLI, type-format details, and data locations are in the
135
+ [appendix](#appendix-configtoml-schema--data-locations).
136
+
137
+ ---
138
+
139
+ ## 3. Default kernel
140
+
141
+ The default guest kernel is the Linux kernel every container VM boots. Managed via
142
+ `container system kernel set` (writes the default) plus the `kernel.url` / `kernel.binaryPath`
143
+ properties (the download source `--recommended` uses).
144
+
145
+ ```bash
146
+ container system kernel set --recommended # download + install Apple's recommended kernel
147
+ container system kernel set --binary ./vmlinux --force # install a local binary, overwrite
148
+ container system kernel set --tar https://ex.com/kata-static.tar.xz \
149
+ --binary opt/kata/share/kata-containers/vmlinux-6.12.28-153 --arch arm64
150
+ ```
151
+
152
+ | Flag | Purpose | Default |
153
+ |------|---------|---------|
154
+ | `--recommended` | Download+install recommended kernel. **Overrides `--arch`/`--binary`/`--tar`** | — |
155
+ | `--arch <amd64\|arm64>` | Kernel architecture | `arm64` |
156
+ | `--binary <path>` | Kernel file, or archive-member name when used with `--tar` | — |
157
+ | `--tar <path\|url>` | Tar archive (local or remote) containing the kernel | — |
158
+ | `--force` | Overwrite an existing kernel of the same name | — |
159
+
160
+ - Persist a custom source by editing `config.toml`:
161
+ ```toml
162
+ [kernel]
163
+ url = "<url>"
164
+ binaryPath = "<member>"
165
+ ```
166
+ - Kernel install is also toggled at startup via `system start --enable/--disable-kernel-install`.
167
+ - Per-machine kernel override is separate — see §7 (`machine set kernel=<path>`).
168
+
169
+ ---
170
+
171
+ ## 4. DNS / local domain resolution
172
+
173
+ Register a **local DNS domain** so unqualified container names resolve host-side (e.g.
174
+ `my-web` → `my-web.test`). Creating/deleting a domain **modifies the host resolver and
175
+ requires admin** (`sudo`); it restarts `mDNSResponder`.
176
+
177
+ ```bash
178
+ sudo container system dns create test # register domain "test"
179
+ sudo container system dns create test --localhost 127.0.0.1 # redirect an IPv4 to localhost
180
+ container system dns list # list domains (no sudo)
181
+ sudo container system dns delete test # alias: rm
182
+ ```
183
+ ```toml
184
+ # Activate "test" as the default domain in ~/.config/container/config.toml
185
+ [dns]
186
+ domain = "test"
187
+ ```
188
+ ```bash
189
+ container system stop && container system start
190
+ ```
191
+
192
+ - `--localhost` must be a valid **IPv4** address; it installs a pf redirect rule to `127.0.0.1`.
193
+ - Registering a domain is not enough — set `[dns] domain` in `config.toml` to activate it for
194
+ unqualified names.
195
+ - If domain deactivation misbehaves: `sudo killall -HUP mDNSResponder`.
196
+
197
+ ---
198
+
199
+ ## 5. Default registry & authentication
200
+
201
+ Bare image refs resolve against the default registry (`registry.domain`, default `docker.io` →
202
+ `alpine` becomes `docker.io/library/alpine`).
203
+
204
+ ```toml
205
+ # Change the default registry in ~/.config/container/config.toml (restart to apply);
206
+ # remove the key to revert to docker.io
207
+ [registry]
208
+ domain = "ghcr.io"
209
+ ```
210
+
211
+ **Auth** (`container registry`, alias `r`) — credentials are stored in the macOS keychain:
212
+
213
+ ```bash
214
+ container registry login registry.example.com # prompts user + password
215
+ container registry login -u alice ghcr.io # prompt password only
216
+ echo "$TOKEN" | container registry login -u alice --password-stdin ghcr.io # non-interactive
217
+ container registry list # HOSTNAME/USERNAME/MODIFIED/CREATED (1.0.0+)
218
+ container registry logout ghcr.io
219
+ ```
220
+
221
+ | Command | Key flags | Notes |
222
+ |---------|-----------|-------|
223
+ | `login <server>` | `-u/--username`, `--password-stdin`, `--scheme <http\|https\|auto>` | `--password-stdin` **requires** `--username`. On success pings the registry then saves to keychain |
224
+ | `logout <registry>` | — | Deletes keychain creds for the resolved host |
225
+ | `list` (`ls`) | `--format`, `-q/--quiet` | `-q` prints hostnames only |
226
+
227
+ **Insecure / HTTP registries** — `--scheme` (default `auto`):
228
+ - `auto` → `http` for internal/private hosts (`localhost`, the internal DNS domain, and RFC-1918
229
+ ranges `10/8`, `127/8`, `192.168/16`, `172.16/12`); `https` for everything else.
230
+ - Force plaintext against a local registry: `container registry login --scheme http localhost:5000`.
231
+ - `--scheme` also applies to image `pull`/`push` and `machine create` (same enum).
232
+
233
+ > `registry list` only lists saved logins. There is no `default-registry get/set` subcommand —
234
+ > the default registry lives in the `registry.domain` property (above).
235
+
236
+ ---
237
+
238
+ ## 6. BuildKit builder VM
239
+
240
+ `container build` runs inside a utility container named **`buildkit`** (a lightweight VM). It
241
+ auto-starts on first build; manage it explicitly with `container builder` when you need more
242
+ resources or a clean slate.
243
+
244
+ ```bash
245
+ container builder start --cpus 8 --memory 32g # start with more resources
246
+ container builder status # ID/IMAGE/STATE/IP/CPUS/MEMORY
247
+ container builder stop
248
+ container builder delete # alias: rm (add --force if running)
249
+ ```
250
+
251
+ To resize a running builder, recreate it:
252
+ ```bash
253
+ container builder stop && container builder delete && container builder start --cpus 8 --memory 32g
254
+ ```
255
+
256
+ | Command | Flags | Notes |
257
+ |---------|-------|-------|
258
+ | `start` | `-c/--cpus <n>`, `-m/--memory <size>` (K/M/G/T/P suffix) | Falls back to `build.cpus`/`build.memory` (defaults 2 CPUs / 2048 MiB). Reuses an existing matching builder; recreates if image/cpu/mem/env/DNS changed |
259
+ | `status` | `--format`, `-q/--quiet` | Prints `builder is not running` when absent |
260
+ | `stop` | — | No-op warning if not running |
261
+ | `delete` (`rm`) | `-f/--force` | Errors unless stopped; `--force` stops then deletes |
262
+
263
+ - Image comes from `image.builder` / `[build] image`; Rosetta-vs-QEMU for amd64 builds is
264
+ `build.rosetta`.
265
+ - Persistent builder defaults (not just this session) go in `[build] cpus` / `[build] memory`
266
+ in `config.toml`.
267
+
268
+ ---
269
+
270
+ ## 7. Machines, custom networks, volumes
271
+
272
+ ### Machines (`container machine`, alias `m`)
273
+
274
+ > **⚠️ Requires 1.0.0+ — the `container machine` group was added in 1.0.0 (not in 0.7.1).**
275
+
276
+ A **container machine** is a persistent, bootable Linux **environment** (not a one-shot
277
+ container) — it runs the image's init system, auto-mounts your macOS `$HOME` and username, and
278
+ persists across restarts. Ideal for "edit on Mac, build inside Linux" and running long-lived
279
+ services. Distinct from the transient per-container VMs that back `container run`.
280
+
281
+ ```bash
282
+ container machine create alpine:3.22 --name dev --set-default
283
+ container machine run # interactive shell in the default machine (matches host user)
284
+ container machine run -n dev uname
285
+ container machine run -n dev -- cat /proc/cpuinfo # everything after -- passed through verbatim
286
+ container machine list # ls: NAME/CREATED/IP/CPUS/MEMORY/DISK/STATE/DEFAULT(*)
287
+ container machine inspect dev # JSON detail
288
+ container machine set -n dev cpus=4 memory=8G home-mount=ro # takes effect after stop/start
289
+ container machine set-default dev
290
+ container machine stop dev
291
+ container machine delete dev # rm: also deletes persistent storage
292
+ container machine logs -f -n 100 dev # --boot for boot log
293
+ ```
294
+
295
+ | Subcommand | Key flags / settable keys | Notes |
296
+ |------------|---------------------------|-------|
297
+ | `create <image>` | `-n/--name`, `--set-default`, `--no-boot`, `--cpus`, `--memory`, `--home-mount <ro\|rw\|none>`, `--virtualization`, `--kernel <path>` | Memory default = half host RAM; home-mount default `rw`. Name defaults to `<image>-<tag>` |
298
+ | `set [-n]` | `cpus=`, `memory=`, `home-mount=`, `virtualization=<bool>`, `kernel=<path>` (empty `kernel=` resets to default) | `key=value`; last dupe wins; unknown key errors. Changes apply after stop/start |
299
+ | `run` | `-d/--detach`, `--root`, `-e/--env`, `-i`, `-t`, `-u/--user`, `-w/--workdir`, `--ulimit` | Boots machine if stopped; forwards `SSH_AUTH_SOCK` |
300
+ | `logs` | `--boot`, `-f/--follow`, `-n <lines>` | `-n` is short-only |
301
+ | `list`/`inspect`/`stop`/`delete`(`rm`)/`set-default` | ID optional (uses default) except `set-default`/`delete` | — |
302
+
303
+ **Nested virtualization / custom kernel** (per-machine): requires Apple Silicon **M3+** on
304
+ **macOS 15+** and a kernel with `CONFIG_KVM=y` (the default kernel does not qualify).
305
+ ```bash
306
+ container machine create --virtualization --kernel /path/to/vmlinux-kvm -n kvm-dev alpine:latest
307
+ container machine run -n kvm-dev -- ls -l /dev/kvm # verify /dev/kvm exposed
308
+ ```
309
+ Any Linux image with `/sbin/init` works. Override first-boot user provisioning by adding an
310
+ executable `/etc/machine/create-user.sh` (runs once as root; env `CONTAINER_{UID,GID,USER,HOME,MACHINE_ID}`).
311
+
312
+ ### Custom networks (`container network`, alias `n`) — **macOS 26+**
313
+
314
+ `system start` always creates a builtin vmnet network `default`. On **macOS 26+** you can create
315
+ additional **isolated** networks (no cross-network connectivity). Builtin networks cannot be deleted.
316
+
317
+ ```bash
318
+ container network create foo # prints network ID
319
+ container network create foo --subnet 192.168.100.0/24 --subnet-v6 fd00:1234::/64
320
+ container network list # ls: NETWORK/SUBNET
321
+ container network inspect foo # pretty JSON
322
+ container run -d --name web --network foo web-test # attach a container
323
+ container network delete foo # rm; add --all for all non-builtin
324
+ container network prune # remove networks with no attached containers
325
+ ```
326
+
327
+ | Flag (`create`) | Purpose | Default |
328
+ |-----------------|---------|---------|
329
+ | `--subnet <cidr4>` / `--subnet-v6 <cidr6>` | Custom subnets (validated non-overlapping) | auto-allocate / `network.subnet(v6)` |
330
+ | `--internal` | Host-only network (no NAT) | NAT |
331
+ | `--label k=v` / `--option k=v` | Metadata / plugin option (repeatable) | — |
332
+ | `--plugin <name>` | Network plugin | `container-network-vmnet` |
333
+
334
+ `delete --all` skips builtin networks; deleting a network fails if any IP is still in use.
335
+ Persistent default subnets → `network.subnet` / `[network] subnetv6`. Their effect is
336
+ version-dependent: on **macOS 15** they set the subnet of the single builtin `default` network;
337
+ on **macOS 26+** they additionally seed the default subnet for custom networks created without an
338
+ explicit `--subnet`/`--subnet-v6`. In both cases, if left unset the system auto-allocates a
339
+ non-overlapping subnet.
340
+
341
+ ### Volumes (`container volume`, alias `v`)
342
+
343
+ A **volume** is host-backed storage you mount into containers to persist/share data across runs
344
+ (`container run --volume <name>:/path` or a host `path:path`). Driver is always `local`.
345
+
346
+ ```bash
347
+ container volume create mydata -s 10G # prints volume name (-s takes K/M/G/T/P)
348
+ container volume create mydata --label env=dev --opt key=val
349
+ container volume list # ls: NAME/TYPE/DRIVER/OPTIONS
350
+ container volume inspect mydata # pretty JSON
351
+ container volume delete mydata # rm; --all for all volumes
352
+ container volume prune # remove volumes with no container refs; reports reclaimed space
353
+ ```
354
+
355
+ | Flag (`create`) | Purpose |
356
+ |-----------------|---------|
357
+ | `-s <size>` | Size in bytes, K/M/G/T/P suffix (stored as driver opt `size`) |
358
+ | `--label k=v` | Metadata (repeatable) |
359
+ | `--opt k=v` | Driver-specific option (repeatable) |
360
+
361
+ `delete`/`network delete` require either names **or** `--all` (not both); a missing named
362
+ resource errors, while `--all` tolerates an empty set.
363
+
364
+ ---
365
+
366
+ ## Appendix: `config.toml` schema & data locations
367
+
368
+ One underlying `ContainerSystemConfig` is configured by editing a **`config.toml`** file with
369
+ `[section]` tables loaded once at service startup. The same values are also named as flat
370
+ **property IDs** (`build.rosetta`, `dns.domain`, …) — view them read-only with
371
+ `container system property list` (its only subcommand; there is no `get`/`set`/`clear`). Property
372
+ IDs map onto TOML sections directly (`build.rosetta` ⇄ `[build] rosetta`), with two naming
373
+ exceptions: the builder image is `image.builder` ⇄ `[build] image`, and the vminitd image is
374
+ `image.init` ⇄ `[vminit] image`. For the CLI commands themselves see `commands.md`.
375
+
376
+ ### Sources & precedence
377
+
378
+ TOML is loaded **first-match-wins**, then any key absent from both files falls back to a
379
+ hardcoded default:
380
+
381
+ 1. User file — `~/.config/container/config.toml`
382
+ 2. Package file (optional) — `<installRoot>/etc/container/config.toml`
383
+ (e.g. `/usr/local/etc/container/config.toml`)
384
+
385
+ The file is read **once at startup**; restart after edits
386
+ (`container system stop && container system start`).
387
+
388
+ ### Top-level sections
389
+
390
+ ```toml
391
+ [build] # builder VM resources and image
392
+ [container] # default per-container resources
393
+ [dns] # default DNS domain for host DNS resolution
394
+ [kernel] # guest kernel binary path and download URL
395
+ [network] # default subnets for networks
396
+ [registry] # default registry domain
397
+ [vminit] # default vminitd image
398
+ [plugin.<id>] # zero or more plugin-scoped sections
399
+ ```
400
+
401
+ All sections are optional; an omitted section falls back to its defaults wholesale. (The Swift
402
+ source also defines an internal `[machine]` section, not part of the documented user schema.)
403
+
404
+ ### `[build]` — builder VM (runs `container build`)
405
+
406
+ | Key | Property ID | Type | Default | Description |
407
+ |-----|-------------|------|---------|-------------|
408
+ | `rosetta` | `build.rosetta` | Bool | `true` | Build amd64 images on arm64 using Rosetta translation, instead of QEMU. |
409
+ | `cpus` | `build.cpus` | Int | `2` | CPU count for the builder VM. |
410
+ | `memory` | `build.memory` | MemorySize | `"2048mb"` | RAM allocation for the builder VM. |
411
+ | `image` | `image.builder` | String | `ghcr.io/apple/container-builder-shim/builder:<tag>` | Reference for the builder image; `<tag>` tracks the bundled `container-builder-shim` version. (Property ID is `image.builder`, not `build.image` — see the naming exception above.) |
412
+
413
+ ### `[container]` — default per-container resources
414
+
415
+ Applied when `container run` / `container create` runs without `--cpus` / `--memory`.
416
+
417
+ | Key | Property ID | Type | Default | Description |
418
+ |-----|-------------|------|---------|-------------|
419
+ | `cpus` | `container.cpus` | Int | `4` | Default CPU count per container. |
420
+ | `memory` | `container.memory` | MemorySize | `"1g"` | Default RAM per container. |
421
+
422
+ ### `[dns]` — local DNS domain
423
+
424
+ | Key | Property ID | Type | Default | Description |
425
+ |-----|-------------|------|---------|-------------|
426
+ | `domain` | `dns.domain` | String? | unset | Local DNS domain appended to unqualified container hostnames. `"test"` makes `my-web` resolvable as `my-web.test`. Unset → no domain appended. See §4 for the register-then-activate workflow. |
427
+
428
+ ### `[kernel]` — default guest kernel
429
+
430
+ Defaults change per release as kernels are bumped; confirm with
431
+ `container system property list`.
432
+
433
+ | Key | Property ID | Type | Default | Description |
434
+ |-----|-------------|------|---------|-------------|
435
+ | `binaryPath` | `kernel.binaryPath` | String | `opt/kata/share/kata-containers/vmlinux-<ver>` | Archive-member pathname of the kernel, when the URL points at an archive. |
436
+ | `url` | `kernel.url` | URL | kata-static release `.tar.xz`/`.tar.zst` | URL of the kernel file to install, or of an archive containing it. |
437
+
438
+ ### `[network]` — default subnets
439
+
440
+ Used when creating networks without explicit `--subnet` / `--subnet-v6`. See §7 for the
441
+ macOS 15 vs macOS 26+ behavior.
442
+
443
+ | Key | Property ID | Type | Default | Description |
444
+ |-----|-------------|------|---------|-------------|
445
+ | `subnet` | `network.subnet` | CIDRv4? | unset | IPv4 CIDR, e.g. `"192.168.100.0/24"`. Unset → system auto-allocates a non-overlapping subnet. |
446
+ | `subnetv6` | — | CIDRv6? | unset | IPv6 CIDR, e.g. `"fd00:abcd::/64"`. Unset → system auto-allocates. |
447
+
448
+ ### `[registry]` — default registry
449
+
450
+ | Key | Property ID | Type | Default | Description |
451
+ |-----|-------------|------|---------|-------------|
452
+ | `domain` | `registry.domain` | String | `"docker.io"` | Default registry for image references that omit a registry host (`alpine` → `docker.io/library/alpine`). See §5. |
453
+
454
+ ### `[vminit]` — default vminitd image
455
+
456
+ | Key | Property ID | Type | Default | Description |
457
+ |-----|-------------|------|---------|-------------|
458
+ | `image` | `image.init` | String | `ghcr.io/apple/containerization/vminit:<tag>` | Reference for the `vminitd` image used to boot container VMs; `<tag>` tracks the bundled `containerization` version. |
459
+
460
+ ### `[plugin.<id>]` — plugin-scoped config
461
+
462
+ Plugins ship their own schemas under `[plugin.<id>]` (`<id>` = plugin identifier). Each plugin
463
+ defines and reads only its own section; values cannot leak across plugins. Consult the specific
464
+ plugin's documentation for its keys.
465
+
466
+ ### Type formats
467
+
468
+ **MemorySize** — a quoted string: numeric prefix + binary unit suffix (case-insensitive). All
469
+ units are **binary** (powers of 1024) even when written `kb`/`mb`/`gb`. A bare integer (`"2048"`)
470
+ parses as bytes. Encoded form uses lowercase `b`/`kb`/`mb`/`gb`/`tb`/`pb` (so `"2g"` re-emits as
471
+ `"2gb"`).
472
+
473
+ | Suffix family | Unit | Examples |
474
+ |---------------|------|----------|
475
+ | `b` | bytes | `"1024b"` |
476
+ | `k`, `kb`, `kib` | kibibytes (1024 B) | `"512k"`, `"512kb"` |
477
+ | `m`, `mb`, `mib` | mebibytes | `"2048mb"` |
478
+ | `g`, `gb`, `gib` | gibibytes | `"4g"`, `"4gb"` |
479
+ | `t`, `tb`, `tib` | tebibytes | `"1t"` |
480
+ | `p`, `pb`, `pib` | pebibytes | `"1p"` |
481
+
482
+ **CIDRv4 / CIDRv6** — quoted strings, e.g. `"192.168.100.0/24"` and `"fd00:abcd::/64"`. Invalid
483
+ CIDR strings are rejected at decode time.
484
+
485
+ ### Data locations
486
+
487
+ Reported by `container system status`:
488
+
489
+ | Location | Path (default) | Overridable with |
490
+ |----------|----------------|------------------|
491
+ | Application data root | `~/Library/Application Support/com.apple.container/` | `container system start --app-root <path>` |
492
+ | Application install root | `/usr/local/` | `container system start --install-root <path>` |
493
+ | Log root | macOS unified log facility (if unset) | `container system start --log-root <path>` |
494
+ | User config file | `~/.config/container/config.toml` | — |
495
+ | Package config file | `<installRoot>/etc/container/config.toml` (e.g. `/usr/local/etc/container/config.toml`) | — |
496
+
497
+ The data root contains subdirectories such as `apiserver/`, `builder/`, `containers/`,
498
+ `content/`, `kernels/`, `networks/`, `plugin-state/`, `snapshots/`, `user-plugins/`, `volumes/`,
499
+ and a top-level `state.json`.