arkaos 5.16.0 → 5.16.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 (40) hide show
  1. package/THE-ARKAOS-GUIDE.md +1 -1
  2. package/VERSION +1 -1
  3. package/harness/codex/AGENTS.md +1 -1
  4. package/harness/copilot/copilot-instructions.md +1 -1
  5. package/harness/cursor/rules/arkaos.mdc +2 -2
  6. package/harness/gemini/GEMINI.md +1 -1
  7. package/harness/opencode/AGENTS.md +1 -1
  8. package/harness/opencode/agents/arka-architect-gabriel.md +1 -1
  9. package/harness/opencode/agents/arka-brand-director-valentina.md +1 -1
  10. package/harness/opencode/agents/arka-cfo-helena.md +1 -1
  11. package/harness/opencode/agents/arka-chief-of-staff-afonso.md +1 -1
  12. package/harness/opencode/agents/arka-community-strategist-beatriz.md +1 -1
  13. package/harness/opencode/agents/arka-content-strategist-rafael.md +1 -1
  14. package/harness/opencode/agents/arka-conversion-strategist-ines.md +1 -1
  15. package/harness/opencode/agents/arka-coo-sofia.md +1 -1
  16. package/harness/opencode/agents/arka-copy-director-eduardo.md +1 -1
  17. package/harness/opencode/agents/arka-cqo-marta.md +1 -1
  18. package/harness/opencode/agents/arka-cto-marco.md +1 -1
  19. package/harness/opencode/agents/arka-design-ops-lead-iris.md +1 -1
  20. package/harness/opencode/agents/arka-ecom-director-ricardo.md +1 -1
  21. package/harness/opencode/agents/arka-knowledge-director-clara.md +1 -1
  22. package/harness/opencode/agents/arka-leadership-director-rodrigo.md +1 -1
  23. package/harness/opencode/agents/arka-marketing-director-luna.md +1 -1
  24. package/harness/opencode/agents/arka-ops-lead-daniel.md +1 -1
  25. package/harness/opencode/agents/arka-pm-director-carolina.md +1 -1
  26. package/harness/opencode/agents/arka-revops-lead-vicente.md +1 -1
  27. package/harness/opencode/agents/arka-saas-strategist-tiago.md +1 -1
  28. package/harness/opencode/agents/arka-sales-director-miguel.md +1 -1
  29. package/harness/opencode/agents/arka-strategy-director-tomas.md +1 -1
  30. package/harness/opencode/agents/arka-tech-director-francisca.md +1 -1
  31. package/harness/opencode/agents/arka-tech-lead-paulo.md +1 -1
  32. package/harness/opencode/agents/arka-video-producer-simao.md +1 -1
  33. package/harness/zed/.rules +1 -1
  34. package/installer/frontend-tooling.js +39 -10
  35. package/installer/index.js +2 -0
  36. package/installer/platform.js +17 -0
  37. package/installer/update.js +2 -0
  38. package/knowledge/skills-manifest.json +1 -1
  39. package/package.json +1 -1
  40. package/pyproject.toml +1 -1
@@ -1,6 +1,6 @@
1
1
  # The ArkaOS Guide
2
2
 
3
- > v5.16.0 — 89 agents, 17 departments, 340 skills, 306 commands, 20 ADRs.
3
+ > v5.16.1 — 89 agents, 17 departments, 340 skills, 306 commands, 20 ADRs.
4
4
  > One file, everything you need to start. Generated by `scripts/guide_gen.py` — never hand-edited.
5
5
 
6
6
  ## What it is
package/VERSION CHANGED
@@ -1 +1 @@
1
- 5.16.0
1
+ 5.16.1
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v5.16.0 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.16.1 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v5.16.0 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.16.1 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -1,11 +1,11 @@
1
1
  ---
2
- description: ArkaOS v5.16.0 agent-team contract
2
+ description: ArkaOS v5.16.1 agent-team contract
3
3
  alwaysApply: true
4
4
  ---
5
5
 
6
6
  # ArkaOS — The Operating System for AI Agent Teams
7
7
 
8
- > v5.16.0 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
8
+ > v5.16.1 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
9
9
 
10
10
  You are operating within ArkaOS. Every request routes through the
11
11
  appropriate department squad — never respond as a generic assistant.
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v5.16.0 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.16.1 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v5.16.0 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.16.1 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -3,7 +3,7 @@ description: "Software Architect — ArkaOS /dev department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Gabriel, Software Architect of the ArkaOS /dev department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Gabriel, Software Architect of the ArkaOS /dev department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: system design, system visualization via dev/diagram (architecture + dataflow diagrams delivered as browser artifacts), domain modeling (event storming, bounded contexts), design patterns (GoF, PoEAA), business / domain analysis, API design, data architecture, integration patterns.
9
9
 
@@ -3,7 +3,7 @@ description: "Creative Director — ArkaOS /brand department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Valentina, Creative Director of the ArkaOS /brand department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Valentina, Creative Director of the ArkaOS /brand department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: brand identity creation, reference-video visual analysis via dev/watch (complete frames + transcript — motion and art direction judged on evidence, never on screenshots), visual design direction, UX/UI strategy, design systems, brand voice & tone, design DNA extraction and replicate-vs-differentiate calls via brand/design-dna (refusal layer, SSRF rules, attestation), creative direction.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Financial Officer — ArkaOS /fin department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Helena, Chief Financial Officer of the ArkaOS /fin department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Helena, Chief Financial Officer of the ArkaOS /fin department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: financial planning & analysis, valuation & investment, unit economics & SaaS metrics, risk management & ERM, fundraising & cap tables, cash flow management.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief of Staff & Governance Lead — ArkaOS /org department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Afonso, Chief of Staff & Governance Lead of the ArkaOS /org department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Afonso, Chief of Staff & Governance Lead of the ArkaOS /org department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: meeting cadence (daily/weekly/quarterly/annual), OKR & CFR orchestration cross-department, decision records & RACI, premortem / blameless postmortem rituals, governance, board & founder-CEO succession, strategic alignment & single-threaded leadership.
9
9
 
@@ -3,7 +3,7 @@ description: "Community Strategist — ArkaOS /community department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Beatriz, Community Strategist of the ArkaOS /community department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Beatriz, Community Strategist of the ArkaOS /community department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: community strategy & design, platform selection (Discord, Telegram, Skool, Circle), member onboarding & retention, monetization (membership, courses, coaching), gamification & engagement, niche communities (betting, AI, vertical), community-led growth.
9
9
 
@@ -3,7 +3,7 @@ description: "Content Strategist — ArkaOS /content department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Rafael, Content Strategist of the ArkaOS /content department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Rafael, Content Strategist of the ArkaOS /content department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: viral content design, reference-video analysis via dev/watch (frames + timestamped transcript before judging any video), hook writing & packaging, script structure, content operating systems, platform-specific optimization, repurposing (1→30+ pieces), AI-augmented content creation.
9
9
 
@@ -3,7 +3,7 @@ description: "Conversion Strategist — ArkaOS /landing department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Ines, Conversion Strategist of the ArkaOS /landing department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Ines, Conversion Strategist of the ArkaOS /landing department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: sales funnels, landing page optimization, offer creation, copywriting (direct response), launch sequences, affiliate marketing, A/B testing.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Operations Officer — ArkaOS /org department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Sofia, Chief Operations Officer of the ArkaOS /org department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Sofia, Chief Operations Officer of the ArkaOS /org department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: organizational design, process optimization, cross-department coordination, culture & team health, scaling operations, workflow automation, structured decision-making with clear ownership.
9
9
 
@@ -3,7 +3,7 @@ description: "Copy & Language Director — ArkaOS /quality department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Eduardo, Copy & Language Director of the ArkaOS /quality department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Eduardo, Copy & Language Director of the ArkaOS /quality department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: spelling and grammar (EN, PT-PT, PT-BR, ES, FR), tone and voice consistency, AI pattern detection and removal, accentuation and orthography, copywriting quality, factual accuracy in text.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Quality Officer — ArkaOS /quality department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Marta, Chief Quality Officer of the ArkaOS /quality department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Marta, Chief Quality Officer of the ArkaOS /quality department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: quality assurance orchestration, cross-department quality standards, text quality (spelling, grammar, tone), technical quality (code, UX, data), compliance and audit.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Technology Officer — ArkaOS /dev department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Marco, Chief Technology Officer of the ArkaOS /dev department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Marco, Chief Technology Officer of the ArkaOS /dev department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: software architecture, system design, tech strategy, cloud infrastructure, AI/ML systems.
9
9
 
@@ -3,7 +3,7 @@ description: "Design Ops Lead — ArkaOS /brand department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Iris, Design Ops Lead of the ArkaOS /brand department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Iris, Design Ops Lead of the ArkaOS /brand department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: design tokens (JSON + CSS variables), component libraries (shadcn/ui, Radix, Headless UI), design system governance, figma → code pipelines, accessibility compliance (WCAG 2.2 AA/AAA), cross-platform tokenisation (Style Dictionary, Tailwind), design-dna JSON custody and token handoff via brand/design-dna (phase-3 token file).
9
9
 
@@ -3,7 +3,7 @@ description: "E-Commerce Director — ArkaOS /ecom department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Ricardo, E-Commerce Director of the ArkaOS /ecom department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Ricardo, E-Commerce Director of the ArkaOS /ecom department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: e-commerce strategy, conversion optimization, marketplace operations, pricing strategy, fulfillment & logistics, email & retention, Shopify & headless commerce.
9
9
 
@@ -3,7 +3,7 @@ description: "Knowledge Director — ArkaOS /kb department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Clara, Knowledge Director of the ArkaOS /kb department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Clara, Knowledge Director of the ArkaOS /kb department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: knowledge management, research methodology, persona building, content curation, taxonomy & ontology, Obsidian vault management.
9
9
 
@@ -3,7 +3,7 @@ description: "Leadership & People Director — ArkaOS /lead department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Rodrigo, Leadership & People Director of the ArkaOS /lead department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Rodrigo, Leadership & People Director of the ArkaOS /lead department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: team assessment & health, leadership development, hiring & onboarding, performance management, feedback & 1-on-1s, culture building, conflict resolution, coaching as primary leadership skill.
9
9
 
@@ -3,7 +3,7 @@ description: "Marketing Director — ArkaOS /mkt department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Luna, Marketing Director of the ArkaOS /mkt department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Luna, Marketing Director of the ArkaOS /mkt department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: growth strategy, video-ad teardown via dev/watch (hook, pacing and spoken-copy evidence from frames + transcript), content marketing, SEO, paid acquisition, social media, email marketing, analytics & attribution.
9
9
 
@@ -3,7 +3,7 @@ description: "Operations Lead — ArkaOS /ops department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Daniel, Operations Lead of the ArkaOS /ops department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Daniel, Operations Lead of the ArkaOS /ops department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: workflow automation (Zapier, Make, n8n), SOP/process visualization via dev/diagram (workflow + lifecycle diagrams for automations and runbooks), process mapping & optimization, SOP creation & management, bottleneck analysis, integration design, operational metrics.
9
9
 
@@ -3,7 +3,7 @@ description: "Product Manager — ArkaOS /pm department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Carolina, Product Manager of the ArkaOS /pm department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Carolina, Product Manager of the ArkaOS /pm department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: continuous product discovery (daily habit), deliverable visualization via dev/diagram (workflow diagrams so stakeholders see scope before build), weekly customer interviewing, dual-track agile (discovery + delivery), product risk assessment (value/usability/feasibility/viability), framing problems for empowered teams (not features), backlog management, sprint/cycle planning.
9
9
 
@@ -3,7 +3,7 @@ description: "RevOps Lead — ArkaOS /saas department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Vicente, RevOps Lead of the ArkaOS /saas department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Vicente, RevOps Lead of the ArkaOS /saas department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: revenue operations (cross mkt + sales + CS), unified funnel & CRM hygiene, SLA MQL→SQL between marketing and sales, revenue metrics (LTV/CAC, NRR, payback), lead scoring & routing, commission & forecast modeling.
9
9
 
@@ -3,7 +3,7 @@ description: "SaaS Strategist — ArkaOS /saas department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Tiago, SaaS Strategist of the ArkaOS /saas department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Tiago, SaaS Strategist of the ArkaOS /saas department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: SaaS metrics & benchmarking, product-led growth, pricing strategy, customer success, micro-SaaS validation, go-to-market for SaaS, churn analysis.
9
9
 
@@ -3,7 +3,7 @@ description: "Sales Director — ArkaOS /sales department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Miguel, Sales Director of the ArkaOS /sales department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Miguel, Sales Director of the ArkaOS /sales department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: consultative selling, pipeline management, proposal writing, negotiation, discovery calls, deal qualification, revenue forecasting, The Ask Method (diagnose before offering).
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Strategist — ArkaOS /strat department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Tomas, Chief Strategist of the ArkaOS /strat department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Tomas, Chief Strategist of the ArkaOS /strat department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: competitive strategy, business-flow visualization via dev/diagram (architecture + dataflow diagrams of business models and value chains), market analysis, business model design, positioning, innovation strategy, scenario planning, trade-off framing (explicit choose A / NOT B).
9
9
 
@@ -3,7 +3,7 @@ description: "Technical & UX Quality Director — ArkaOS /quality department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Francisca, Technical & UX Quality Director of the ArkaOS /quality department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Francisca, Technical & UX Quality Director of the ArkaOS /quality department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: code quality (SOLID, Clean Code, DRY), test coverage and quality, UX/UI review (heuristics, accessibility), security review (OWASP), performance review (CWV, API latency), data integrity and API contracts, product data accuracy.
9
9
 
@@ -3,7 +3,7 @@ description: "Tech Lead — ArkaOS /dev department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Paulo, Tech Lead of the ArkaOS /dev department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Paulo, Tech Lead of the ArkaOS /dev department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: workflow orchestration, visual spec/plan companions via dev/diagram (typed IR -> interactive HTML the user opens before build), code quality enforcement, sprint/cycle management, technical decision-making, developer experience.
9
9
 
@@ -3,7 +3,7 @@ description: "Video Producer & Production Lead — ArkaOS /content department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Simão, Video Producer & Production Lead of the ArkaOS /content department (v5.16.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Simão, Video Producer & Production Lead of the ArkaOS /content department (v5.16.1; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: video production pipelines (script → storyboard → assets → edit → render), cut review via dev/watch (frame + transcript evidence on own renders before the Quality Gate), Hyperframes video-as-code editing (HTML/CSS/JS + GSAP → MP4), Higgsfield generation orchestration (image, video, audio, motion control, upscale, reframe), shot lists and EDLs (scene/shot/VO/on-screen-text columns), transcription-synced cuts and word-level captions, multi-format delivery (16:9, 9:16, 1:1; YouTube, Reels, TikTok), backend degradation planning (full → server-side → edit-ready package).
9
9
 
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v5.16.0 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.16.1 — 89 agents, 17 departments, 340 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -19,6 +19,7 @@ import { execSync, spawnSync } from "node:child_process";
19
19
  import { createInterface } from "node:readline";
20
20
  import { homedir } from "node:os";
21
21
  import { join } from "node:path";
22
+ import { nodeToolCommand } from "./platform.js";
22
23
 
23
24
  const MAGIC_ENV = "MAGIC_API_KEY";
24
25
 
@@ -77,9 +78,14 @@ function isClaudeCliAvailable() {
77
78
  } catch { return false; }
78
79
  }
79
80
 
81
+ // `claude mcp list` health-checks every configured server, so it scales
82
+ // with the operator's MCP count: measured at 16.1 s on a machine with a
83
+ // dozen servers, well past the former 10 s cut-off. A timed-out probe
84
+ // read as "not registered" and sent the installer into a doomed re-add
85
+ // that reports `already exists` as a failure. 60 s matches `mcp add`.
80
86
  function isMagicMcpRegistered() {
81
87
  const out = spawnSync("claude", ["mcp", "list"], {
82
- timeout: 10_000, stdio: ["ignore", "pipe", "pipe"], encoding: "utf-8",
88
+ timeout: 60_000, stdio: ["ignore", "pipe", "pipe"], encoding: "utf-8",
83
89
  });
84
90
  return out.status === 0 && /(^|\s)magic(\s|:)/.test(out.stdout || "");
85
91
  }
@@ -102,6 +108,10 @@ export function registerMagicMcp({ runtime = "claude-code", apiKey = "" } = {})
102
108
  ], { timeout: 60_000, stdio: ["ignore", "pipe", "pipe"], encoding: "utf-8" });
103
109
  if (out.error || out.status !== 0) {
104
110
  const reason = (out.stderr || out.error?.message || "unknown").trim().slice(0, 200);
111
+ // No probe is perfectly reliable (it can time out under a slow health
112
+ // check), so the add itself is the second line of defence: a server
113
+ // that is already there is a success, not a failure to report.
114
+ if (/already exists/i.test(reason)) return { action: "already-present" };
105
115
  return { action: "failed", reason };
106
116
  }
107
117
  return { action: "registered" };
@@ -116,15 +126,24 @@ function motionMarkerPath(home) {
116
126
  // re-runs (e.g. every `npx arkaos update`) skip the 180s kit instead of
117
127
  // re-downloading it. Claude-runtime only, requires the claude CLI (the
118
128
  // kit installs Motion skills into the Claude agent), never-throws.
119
- export function installMotionKit({ runtime = "claude-code", home = homedir() } = {}) {
129
+ //
130
+ // `motion-ai` is interactive: with a non-TTY stdin it refuses to run
131
+ // ("motion-ai is interactive - run it in a terminal") and exits 1. Capturing
132
+ // its output would therefore guarantee failure, so stdio is inherited and
133
+ // headless runs are skipped up front, per the node-installer rule.
134
+ export function installMotionKit({
135
+ runtime = "claude-code",
136
+ home = homedir(),
137
+ interactive = Boolean(process.stdin.isTTY),
138
+ } = {}) {
120
139
  if (runtime !== "claude-code") return { action: "skipped", reason: "runtime-not-claude-code" };
121
140
  if (!isClaudeCliAvailable()) return { action: "skipped", reason: "claude-cli-not-found" };
122
141
  if (existsSync(motionMarkerPath(home))) return { action: "already-present" };
123
- const out = spawnSync("npx", ["-y", "motion-ai"], {
124
- timeout: 180_000, stdio: ["ignore", "pipe", "pipe"], encoding: "utf-8",
125
- });
142
+ if (!interactive) return { action: "skipped", reason: "requires-tty" };
143
+ const [cmd, argv] = nodeToolCommand("npx", ["-y", "motion-ai"]);
144
+ const out = spawnSync(cmd, argv, { timeout: 180_000, stdio: "inherit" });
126
145
  if (out.error || out.status !== 0) {
127
- const reason = (out.stderr || out.error?.message || "unknown").trim().slice(0, 200);
146
+ const reason = (out.error?.message || `exit ${out.status}`).trim().slice(0, 200);
128
147
  return { action: "failed", reason };
129
148
  }
130
149
  try { writeFileSync(motionMarkerPath(home), new Date().toISOString()); } catch {}
@@ -135,8 +154,13 @@ function impeccableMarkerPath(home) {
135
154
  return join(home, ".arkaos", ".impeccable-installed");
136
155
  }
137
156
 
157
+ // `impeccable` is itself an npm-installed shim, so the PATH probe needs the
158
+ // same cross-platform argv as the install: a bare spawn was ENOENT on every
159
+ // Windows box, which made an already-installed detector look absent and
160
+ // re-ran `npm install -g` on every single update.
138
161
  function isImpeccableAvailable() {
139
- const out = spawnSync("impeccable", ["--version"], {
162
+ const [cmd, argv] = nodeToolCommand("impeccable", ["--version"]);
163
+ const out = spawnSync(cmd, argv, {
140
164
  timeout: 10_000, stdio: ["ignore", "pipe", "pipe"], encoding: "utf-8",
141
165
  });
142
166
  return !out.error && out.status === 0;
@@ -151,7 +175,8 @@ function isImpeccableAvailable() {
151
175
  export function installImpeccableDetector({ home = homedir() } = {}) {
152
176
  if (isImpeccableAvailable()) return { action: "already-present" };
153
177
  if (existsSync(impeccableMarkerPath(home))) return { action: "already-present" };
154
- const out = spawnSync("npm", ["install", "-g", "impeccable@^3.2"], {
178
+ const [cmd, argv] = nodeToolCommand("npm", ["install", "-g", "impeccable@^3.2"]);
179
+ const out = spawnSync(cmd, argv, {
155
180
  timeout: 180_000, stdio: ["ignore", "pipe", "pipe"], encoding: "utf-8",
156
181
  });
157
182
  if (out.error || out.status !== 0) {
@@ -164,7 +189,11 @@ export function installImpeccableDetector({ home = homedir() } = {}) {
164
189
 
165
190
  // Orchestrate the full frontend tooling setup. Single entry point wired
166
191
  // into both installer/index.js and installer/update.js.
167
- export async function setupFrontendTooling({ runtime = "claude-code", home = homedir() } = {}) {
192
+ export async function setupFrontendTooling({
193
+ runtime = "claude-code",
194
+ home = homedir(),
195
+ interactive = Boolean(process.stdin.isTTY),
196
+ } = {}) {
168
197
  const results = {};
169
198
  try {
170
199
  const apiKey = await ensureMagicApiKey({ home });
@@ -173,7 +202,7 @@ export async function setupFrontendTooling({ runtime = "claude-code", home = hom
173
202
  results.magicMcp = { action: "failed", reason: err.message };
174
203
  }
175
204
  try {
176
- results.motionKit = installMotionKit({ runtime, home });
205
+ results.motionKit = installMotionKit({ runtime, home, interactive });
177
206
  } catch (err) {
178
207
  results.motionKit = { action: "failed", reason: err.message };
179
208
  }
@@ -495,6 +495,8 @@ export async function install({ runtime, path, force, skipSystem, withOllama, pr
495
495
  }
496
496
  if (ft.motionKit?.action === "installed") {
497
497
  detail(" Motion AI Kit installed.");
498
+ } else if (ft.motionKit?.action === "skipped" && ft.motionKit.reason === "requires-tty") {
499
+ detail(" Motion AI Kit needs a terminal - run `npx motion-ai` once by hand.");
498
500
  } else if (ft.motionKit?.action === "failed") {
499
501
  detail(` Motion AI Kit install failed (${ft.motionKit.reason}).`);
500
502
  }
@@ -18,3 +18,20 @@ export const CMD_FINDER = IS_WINDOWS ? "where" : "which";
18
18
 
19
19
  /** Python binary name (venv resolution is in python-resolver.js). */
20
20
  export const PYTHON_CMD = IS_WINDOWS ? "python" : "python3";
21
+
22
+ /**
23
+ * Build the argv for a Node-ecosystem CLI (`npm`, `npx`, `pnpm`, ...) that
24
+ * `spawnSync`/`spawn` can actually execute on every platform.
25
+ *
26
+ * On Windows these tools are `.cmd` shims, which the child_process spawn
27
+ * family cannot launch directly: a bare `"npm"` fails with ENOENT, and an
28
+ * explicit `"npm.cmd"` fails with EINVAL (Node refuses to run batch files
29
+ * without a shell since the CVE-2024-27980 fix). Routing through
30
+ * `cmd.exe /c` keeps every argument individually escaped by Node, unlike
31
+ * `shell: true`, which concatenates them and triggers DEP0190.
32
+ *
33
+ * Usage: `const [cmd, argv] = nodeToolCommand("npm", ["install", "-g", pkg]);`
34
+ */
35
+ export function nodeToolCommand(tool, args = []) {
36
+ return IS_WINDOWS ? ["cmd.exe", ["/c", tool, ...args]] : [tool, args];
37
+ }
@@ -567,6 +567,8 @@ export async function update({ skillsFlag = "" } = {}) {
567
567
  else if (ft.magicMcp?.action === "already-present") ok("Magic MCP already registered");
568
568
  else if (ft.magicMcp?.action === "failed") warn(`Magic MCP failed (${ft.magicMcp.reason})`);
569
569
  if (ft.motionKit?.action === "installed") ok("Motion AI Kit installed");
570
+ else if (ft.motionKit?.action === "skipped" && ft.motionKit.reason === "requires-tty")
571
+ warn("Motion AI Kit needs a terminal — run `npx motion-ai` once by hand");
570
572
  else if (ft.motionKit?.action === "failed") warn(`Motion AI Kit failed (${ft.motionKit.reason})`);
571
573
  } catch (err) {
572
574
  warn(`Could not set up frontend tooling (${err.message})`);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_meta": {
3
3
  "generator": "scripts/marketplace_gen.py",
4
- "version": "5.16.0",
4
+ "version": "5.16.1",
5
5
  "marketplace": "arkaos"
6
6
  },
7
7
  "structural": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkaos",
3
- "version": "5.16.0",
3
+ "version": "5.16.1",
4
4
  "description": "The Operating System for AI Agent Teams",
5
5
  "type": "module",
6
6
  "bin": {
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arkaos-core"
3
- version = "5.16.0"
3
+ version = "5.16.1"
4
4
  description = "Core engine for ArkaOS — The Operating System for AI Agent Teams"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}