arkaos 2.0.0-alpha.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.
- package/CONSTITUTION.md +81 -0
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/VERSION +1 -0
- package/arka/SKILL.md +134 -0
- package/bin/arkaos +107 -0
- package/config/constitution.yaml +168 -0
- package/config/hooks/post-tool-use-v2.sh +116 -0
- package/config/hooks/post-tool-use.sh +188 -0
- package/config/hooks/pre-compact-v2.sh +43 -0
- package/config/hooks/pre-compact.sh +99 -0
- package/config/hooks/user-prompt-submit-v2.sh +119 -0
- package/config/hooks/user-prompt-submit.sh +312 -0
- package/core/__init__.py +3 -0
- package/core/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/agents/__init__.py +14 -0
- package/core/agents/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/agents/__pycache__/loader.cpython-313.pyc +0 -0
- package/core/agents/__pycache__/registry_gen.cpython-313.pyc +0 -0
- package/core/agents/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/agents/__pycache__/validator.cpython-313.pyc +0 -0
- package/core/agents/loader.py +88 -0
- package/core/agents/registry_gen.py +118 -0
- package/core/agents/schema.py +265 -0
- package/core/agents/validator.py +141 -0
- package/core/conclave/__init__.py +12 -0
- package/core/conclave/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/advisor_db.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/display.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/matcher.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/persistence.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/profiler.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/prompts.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/conclave/advisor_db.py +373 -0
- package/core/conclave/display.py +104 -0
- package/core/conclave/matcher.py +104 -0
- package/core/conclave/persistence.py +61 -0
- package/core/conclave/profiler.py +298 -0
- package/core/conclave/prompts.py +77 -0
- package/core/conclave/schema.py +132 -0
- package/core/governance/__init__.py +5 -0
- package/core/governance/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/governance/__pycache__/constitution.cpython-313.pyc +0 -0
- package/core/governance/constitution.py +152 -0
- package/core/registry/__init__.py +1 -0
- package/core/registry/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/registry/__pycache__/generator.cpython-313.pyc +0 -0
- package/core/registry/generator.py +199 -0
- package/core/runtime/__init__.py +6 -0
- package/core/runtime/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/base.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/claude_code.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/codex_cli.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/cursor.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/gemini_cli.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/registry.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/subagent.cpython-313.pyc +0 -0
- package/core/runtime/base.py +143 -0
- package/core/runtime/claude_code.py +104 -0
- package/core/runtime/codex_cli.py +71 -0
- package/core/runtime/cursor.py +71 -0
- package/core/runtime/gemini_cli.py +68 -0
- package/core/runtime/registry.py +86 -0
- package/core/runtime/subagent.py +201 -0
- package/core/specs/__init__.py +10 -0
- package/core/specs/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/specs/__pycache__/manager.cpython-313.pyc +0 -0
- package/core/specs/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/specs/manager.py +164 -0
- package/core/specs/schema.py +199 -0
- package/core/squads/__init__.py +7 -0
- package/core/squads/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/squads/__pycache__/loader.cpython-313.pyc +0 -0
- package/core/squads/__pycache__/registry.cpython-313.pyc +0 -0
- package/core/squads/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/squads/loader.py +40 -0
- package/core/squads/registry.py +145 -0
- package/core/squads/schema.py +93 -0
- package/core/synapse/__init__.py +11 -0
- package/core/synapse/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/cache.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/engine.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/layers.cpython-313.pyc +0 -0
- package/core/synapse/cache.py +82 -0
- package/core/synapse/engine.py +184 -0
- package/core/synapse/layers.py +441 -0
- package/core/tasks/__init__.py +6 -0
- package/core/tasks/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/tasks/__pycache__/manager.cpython-313.pyc +0 -0
- package/core/tasks/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/tasks/manager.py +150 -0
- package/core/tasks/schema.py +108 -0
- package/core/workflow/__init__.py +10 -0
- package/core/workflow/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/engine.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/loader.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/workflow/engine.py +216 -0
- package/core/workflow/loader.py +28 -0
- package/core/workflow/schema.py +129 -0
- package/departments/brand/SKILL.md +85 -0
- package/departments/brand/agents/brand-director.yaml +77 -0
- package/departments/brand/agents/brand-strategist.md +182 -0
- package/departments/brand/agents/brand-strategist.yaml +58 -0
- package/departments/brand/agents/creative-director.md +149 -0
- package/departments/brand/agents/motion-designer.md +113 -0
- package/departments/brand/agents/ux-designer.yaml +60 -0
- package/departments/brand/agents/visual-designer.md +187 -0
- package/departments/brand/agents/visual-designer.yaml +58 -0
- package/departments/brand/references/brand-creation-guide.md +559 -0
- package/departments/brand/scripts/provider-call.sh +262 -0
- package/departments/brand/skills/archetype-finder/SKILL.md +18 -0
- package/departments/brand/skills/colors/SKILL.md +18 -0
- package/departments/brand/skills/design-system/SKILL.md +18 -0
- package/departments/brand/skills/identity-system/SKILL.md +18 -0
- package/departments/brand/skills/logo-brief/SKILL.md +18 -0
- package/departments/brand/skills/mockup-generate/SKILL.md +18 -0
- package/departments/brand/skills/naming-evaluate/SKILL.md +50 -0
- package/departments/brand/skills/positioning-statement/SKILL.md +18 -0
- package/departments/brand/skills/primal-audit/SKILL.md +43 -0
- package/departments/brand/skills/ux-audit/SKILL.md +18 -0
- package/departments/brand/skills/voice-guide/SKILL.md +18 -0
- package/departments/brand/skills/wireframe/SKILL.md +18 -0
- package/departments/brand/squad.yaml +39 -0
- package/departments/brand/workflows/identity.yaml +113 -0
- package/departments/brand/workflows/naming.yaml +58 -0
- package/departments/community/SKILL.md +62 -0
- package/departments/community/agents/community-manager.yaml +57 -0
- package/departments/community/agents/community-strategist.yaml +74 -0
- package/departments/community/agents/engagement-designer.yaml +56 -0
- package/departments/community/skills/ai-community/SKILL.md +18 -0
- package/departments/community/skills/betting-setup/SKILL.md +18 -0
- package/departments/community/skills/business-model/SKILL.md +53 -0
- package/departments/community/skills/content-calendar/SKILL.md +18 -0
- package/departments/community/skills/events-plan/SKILL.md +18 -0
- package/departments/community/skills/gamification-design/SKILL.md +18 -0
- package/departments/community/skills/growth-plan/SKILL.md +18 -0
- package/departments/community/skills/metrics-track/SKILL.md +18 -0
- package/departments/community/skills/moderation/SKILL.md +18 -0
- package/departments/community/skills/monetize-plan/SKILL.md +18 -0
- package/departments/community/skills/niche-setup/SKILL.md +18 -0
- package/departments/community/skills/onboarding-flow/SKILL.md +18 -0
- package/departments/community/skills/platform-select/SKILL.md +18 -0
- package/departments/community/skills/retention-system/SKILL.md +48 -0
- package/departments/community/squad.yaml +32 -0
- package/departments/community/workflows/setup.yaml +62 -0
- package/departments/content/SKILL.md +65 -0
- package/departments/content/agents/content-strategist.yaml +74 -0
- package/departments/content/agents/repurpose-distributor.yaml +57 -0
- package/departments/content/agents/scriptwriter.yaml +56 -0
- package/departments/content/agents/viral-engineer.yaml +56 -0
- package/departments/content/skills/ai-workflow/SKILL.md +18 -0
- package/departments/content/skills/analytics/SKILL.md +18 -0
- package/departments/content/skills/calendar/SKILL.md +18 -0
- package/departments/content/skills/content-system/SKILL.md +75 -0
- package/departments/content/skills/hook-write/SKILL.md +43 -0
- package/departments/content/skills/monetization-plan/SKILL.md +18 -0
- package/departments/content/skills/newsletter-write/SKILL.md +18 -0
- package/departments/content/skills/platform-optimize/SKILL.md +18 -0
- package/departments/content/skills/repurpose-plan/SKILL.md +18 -0
- package/departments/content/skills/script-structure/SKILL.md +18 -0
- package/departments/content/skills/short-form/SKILL.md +18 -0
- package/departments/content/skills/thumbnail-package/SKILL.md +18 -0
- package/departments/content/skills/viral-design/SKILL.md +45 -0
- package/departments/content/skills/youtube-strategy/SKILL.md +18 -0
- package/departments/content/squad.yaml +39 -0
- package/departments/content/workflows/viral.yaml +99 -0
- package/departments/dev/SKILL.md +135 -0
- package/departments/dev/agents/analyst.md +184 -0
- package/departments/dev/agents/architect.md +184 -0
- package/departments/dev/agents/architect.yaml +74 -0
- package/departments/dev/agents/backend-dev.yaml +70 -0
- package/departments/dev/agents/cto.md +140 -0
- package/departments/dev/agents/cto.yaml +77 -0
- package/departments/dev/agents/dba.yaml +72 -0
- package/departments/dev/agents/devops-eng.yaml +72 -0
- package/departments/dev/agents/devops.md +204 -0
- package/departments/dev/agents/frontend-dev.md +213 -0
- package/departments/dev/agents/frontend-dev.yaml +71 -0
- package/departments/dev/agents/qa-eng.yaml +72 -0
- package/departments/dev/agents/qa.md +231 -0
- package/departments/dev/agents/security-eng.yaml +72 -0
- package/departments/dev/agents/security.md +174 -0
- package/departments/dev/agents/senior-dev.md +177 -0
- package/departments/dev/agents/tech-lead.md +188 -0
- package/departments/dev/agents/tech-lead.yaml +72 -0
- package/departments/dev/skills/adversarial-review/SKILL.md +117 -0
- package/departments/dev/skills/agent-design/SKILL.md +127 -0
- package/departments/dev/skills/agent-workflow/SKILL.md +116 -0
- package/departments/dev/skills/ai-assisted-dev/SKILL.md +18 -0
- package/departments/dev/skills/ai-security/SKILL.md +112 -0
- package/departments/dev/skills/api-design/SKILL.md +59 -0
- package/departments/dev/skills/architecture-design/SKILL.md +89 -0
- package/departments/dev/skills/changelog/SKILL.md +110 -0
- package/departments/dev/skills/ci-cd-pipeline/SKILL.md +130 -0
- package/departments/dev/skills/clean-code-review/SKILL.md +65 -0
- package/departments/dev/skills/code-review/SKILL.md +18 -0
- package/departments/dev/skills/codebase-onboard/SKILL.md +109 -0
- package/departments/dev/skills/db-design/SKILL.md +18 -0
- package/departments/dev/skills/db-schema/SKILL.md +130 -0
- package/departments/dev/skills/ddd-model/SKILL.md +18 -0
- package/departments/dev/skills/dependency-audit/SKILL.md +118 -0
- package/departments/dev/skills/deploy/SKILL.md +18 -0
- package/departments/dev/skills/devops-pipeline/SKILL.md +18 -0
- package/departments/dev/skills/docs/SKILL.md +18 -0
- package/departments/dev/skills/env-secrets/SKILL.md +89 -0
- package/departments/dev/skills/incident/SKILL.md +125 -0
- package/departments/dev/skills/mcp/SKILL.md +106 -0
- package/departments/dev/skills/mcp-builder/SKILL.md +121 -0
- package/departments/dev/skills/observability/SKILL.md +119 -0
- package/departments/dev/skills/onboard/SKILL.md +389 -0
- package/departments/dev/skills/onboard/scripts/detect-stack.py +472 -0
- package/departments/dev/skills/performance-audit/SKILL.md +49 -0
- package/departments/dev/skills/performance-profiler/SKILL.md +128 -0
- package/departments/dev/skills/rag-architect/SKILL.md +125 -0
- package/departments/dev/skills/red-team/SKILL.md +112 -0
- package/departments/dev/skills/refactor-plan/SKILL.md +18 -0
- package/departments/dev/skills/release/SKILL.md +130 -0
- package/departments/dev/skills/research/SKILL.md +18 -0
- package/departments/dev/skills/runbook/SKILL.md +103 -0
- package/departments/dev/skills/scaffold/SKILL.md +249 -0
- package/departments/dev/skills/security-audit/SKILL.md +68 -0
- package/departments/dev/skills/skill-audit/SKILL.md +96 -0
- package/departments/dev/skills/spec/SKILL.md +218 -0
- package/departments/dev/skills/stack-check/SKILL.md +18 -0
- package/departments/dev/skills/tdd-cycle/SKILL.md +56 -0
- package/departments/dev/skills/tech-debt/SKILL.md +100 -0
- package/departments/dev/squad.yaml +62 -0
- package/departments/dev/workflows/debug.yaml +63 -0
- package/departments/dev/workflows/feature.yaml +129 -0
- package/departments/dev/workflows/refactor.yaml +64 -0
- package/departments/ecom/SKILL.md +39 -0
- package/departments/ecom/agents/commerce-engineer.yaml +58 -0
- package/departments/ecom/agents/cro-specialist.yaml +56 -0
- package/departments/ecom/agents/ecom-director.yaml +73 -0
- package/departments/ecom/agents/retention-manager.yaml +59 -0
- package/departments/ecom/skills/analytics/SKILL.md +18 -0
- package/departments/ecom/skills/cart-recovery/SKILL.md +18 -0
- package/departments/ecom/skills/cro-optimize/SKILL.md +58 -0
- package/departments/ecom/skills/customer-journey/SKILL.md +18 -0
- package/departments/ecom/skills/fulfillment-plan/SKILL.md +18 -0
- package/departments/ecom/skills/marketplace-manage/SKILL.md +18 -0
- package/departments/ecom/skills/pricing-strategy/SKILL.md +18 -0
- package/departments/ecom/skills/product-launch/SKILL.md +18 -0
- package/departments/ecom/skills/rfm-segment/SKILL.md +44 -0
- package/departments/ecom/skills/social-commerce/SKILL.md +18 -0
- package/departments/ecom/skills/store-audit/SKILL.md +18 -0
- package/departments/ecom/skills/subscription-model/SKILL.md +18 -0
- package/departments/ecom/squad.yaml +39 -0
- package/departments/ecom/workflows/product-page.yaml +62 -0
- package/departments/ecommerce/SKILL.md +363 -0
- package/departments/ecommerce/agents/ecommerce-manager.md +91 -0
- package/departments/finance/SKILL.md +37 -0
- package/departments/finance/agents/cfo.md +85 -0
- package/departments/finance/agents/cfo.yaml +77 -0
- package/departments/finance/agents/financial-analyst.yaml +57 -0
- package/departments/finance/agents/investment-strategist.yaml +58 -0
- package/departments/finance/skills/budget-plan/SKILL.md +18 -0
- package/departments/finance/skills/cashflow-forecast/SKILL.md +18 -0
- package/departments/finance/skills/ciso-advisor/SKILL.md +113 -0
- package/departments/finance/skills/financial-model/SKILL.md +70 -0
- package/departments/finance/skills/pitch-deck/SKILL.md +18 -0
- package/departments/finance/skills/scenario-analysis/SKILL.md +18 -0
- package/departments/finance/skills/unit-economics/SKILL.md +44 -0
- package/departments/finance/skills/valuation-model/SKILL.md +18 -0
- package/departments/finance/squad.yaml +37 -0
- package/departments/finance/workflows/cashflow.yaml +47 -0
- package/departments/finance/workflows/model.yaml +83 -0
- package/departments/kb/SKILL.md +38 -0
- package/departments/kb/agents/knowledge-curator.yaml +60 -0
- package/departments/kb/agents/knowledge-director.yaml +72 -0
- package/departments/kb/agents/research-analyst.yaml +58 -0
- package/departments/kb/skills/ai-research/SKILL.md +18 -0
- package/departments/kb/skills/competitive-intel/SKILL.md +18 -0
- package/departments/kb/skills/knowledge-review/SKILL.md +18 -0
- package/departments/kb/skills/learn-content/SKILL.md +18 -0
- package/departments/kb/skills/moc-create/SKILL.md +18 -0
- package/departments/kb/skills/persona-build/SKILL.md +18 -0
- package/departments/kb/skills/research-plan/SKILL.md +51 -0
- package/departments/kb/skills/search-kb/SKILL.md +18 -0
- package/departments/kb/skills/source-evaluate/SKILL.md +18 -0
- package/departments/kb/skills/taxonomy-manage/SKILL.md +18 -0
- package/departments/kb/skills/write-as-persona/SKILL.md +18 -0
- package/departments/kb/skills/zettelkasten-process/SKILL.md +56 -0
- package/departments/kb/squad.yaml +34 -0
- package/departments/kb/workflows/learn.yaml +63 -0
- package/departments/knowledge/SKILL.md +474 -0
- package/departments/knowledge/agents/knowledge-curator.md +89 -0
- package/departments/knowledge/scripts/kb-check-capabilities.sh +143 -0
- package/departments/knowledge/scripts/kb-cleanup.sh +135 -0
- package/departments/knowledge/scripts/kb-queue.sh +156 -0
- package/departments/knowledge/scripts/kb-status.sh +195 -0
- package/departments/knowledge/scripts/kb-worker.sh +217 -0
- package/departments/landing/SKILL.md +65 -0
- package/departments/landing/agents/affiliate-manager.yaml +57 -0
- package/departments/landing/agents/conversion-strategist.yaml +74 -0
- package/departments/landing/agents/cro-specialist.yaml +58 -0
- package/departments/landing/agents/sales-copywriter.yaml +61 -0
- package/departments/landing/skills/ab-test/SKILL.md +18 -0
- package/departments/landing/skills/affiliate-bridge/SKILL.md +18 -0
- package/departments/landing/skills/awareness-diagnose/SKILL.md +18 -0
- package/departments/landing/skills/copy-framework/SKILL.md +55 -0
- package/departments/landing/skills/email-sequence/SKILL.md +18 -0
- package/departments/landing/skills/funnel-design/SKILL.md +49 -0
- package/departments/landing/skills/funnel-metrics/SKILL.md +18 -0
- package/departments/landing/skills/headline-write/SKILL.md +18 -0
- package/departments/landing/skills/landing-gen/SKILL.md +124 -0
- package/departments/landing/skills/launch-sequence/SKILL.md +18 -0
- package/departments/landing/skills/offer-create/SKILL.md +62 -0
- package/departments/landing/skills/optimize-page/SKILL.md +18 -0
- package/departments/landing/skills/page-architect/SKILL.md +18 -0
- package/departments/landing/skills/persuasion-apply/SKILL.md +18 -0
- package/departments/landing/skills/webinar-funnel/SKILL.md +18 -0
- package/departments/landing/squad.yaml +39 -0
- package/departments/landing/workflows/launch.yaml +72 -0
- package/departments/landing/workflows/offer.yaml +99 -0
- package/departments/leadership/SKILL.md +35 -0
- package/departments/leadership/agents/culture-coach.yaml +59 -0
- package/departments/leadership/agents/hr-specialist.yaml +57 -0
- package/departments/leadership/agents/leadership-director.yaml +72 -0
- package/departments/leadership/skills/change-manage/SKILL.md +18 -0
- package/departments/leadership/skills/conflict-resolve/SKILL.md +18 -0
- package/departments/leadership/skills/culture-audit/SKILL.md +18 -0
- package/departments/leadership/skills/delegation-matrix/SKILL.md +18 -0
- package/departments/leadership/skills/disc-assess/SKILL.md +18 -0
- package/departments/leadership/skills/feedback-give/SKILL.md +18 -0
- package/departments/leadership/skills/hiring-plan/SKILL.md +18 -0
- package/departments/leadership/skills/okr-define/SKILL.md +69 -0
- package/departments/leadership/skills/performance-review/SKILL.md +18 -0
- package/departments/leadership/skills/team-health/SKILL.md +56 -0
- package/departments/leadership/squad.yaml +35 -0
- package/departments/leadership/workflows/team-build.yaml +55 -0
- package/departments/marketing/SKILL.md +61 -0
- package/departments/marketing/agents/content-creator.md +85 -0
- package/departments/marketing/agents/content-marketer.yaml +58 -0
- package/departments/marketing/agents/marketing-director.yaml +75 -0
- package/departments/marketing/agents/paid-specialist.yaml +58 -0
- package/departments/marketing/agents/seo-specialist.yaml +57 -0
- package/departments/marketing/skills/ab-test/SKILL.md +18 -0
- package/departments/marketing/skills/analytics-report/SKILL.md +18 -0
- package/departments/marketing/skills/audience-segment/SKILL.md +18 -0
- package/departments/marketing/skills/calendar-plan/SKILL.md +18 -0
- package/departments/marketing/skills/cold-email/SKILL.md +128 -0
- package/departments/marketing/skills/competitor-analysis/SKILL.md +18 -0
- package/departments/marketing/skills/content-audit/SKILL.md +18 -0
- package/departments/marketing/skills/email-sequence/SKILL.md +18 -0
- package/departments/marketing/skills/growth-loop/SKILL.md +50 -0
- package/departments/marketing/skills/marketing-automation/SKILL.md +18 -0
- package/departments/marketing/skills/paid-campaign/SKILL.md +18 -0
- package/departments/marketing/skills/programmatic-seo/SKILL.md +123 -0
- package/departments/marketing/skills/seo-audit/SKILL.md +48 -0
- package/departments/marketing/skills/social-strategy/SKILL.md +18 -0
- package/departments/marketing/squad.yaml +39 -0
- package/departments/marketing/workflows/campaign.yaml +112 -0
- package/departments/marketing/workflows/social.yaml +56 -0
- package/departments/operations/SKILL.md +422 -0
- package/departments/operations/agents/coo.md +88 -0
- package/departments/ops/SKILL.md +37 -0
- package/departments/ops/agents/automation-engineer.yaml +58 -0
- package/departments/ops/agents/ops-lead.yaml +71 -0
- package/departments/ops/skills/bottleneck-find/SKILL.md +49 -0
- package/departments/ops/skills/dashboard-build/SKILL.md +18 -0
- package/departments/ops/skills/gtd-setup/SKILL.md +18 -0
- package/departments/ops/skills/integration-design/SKILL.md +18 -0
- package/departments/ops/skills/lean-audit/SKILL.md +18 -0
- package/departments/ops/skills/metrics-dashboard/SKILL.md +18 -0
- package/departments/ops/skills/n8n-flow/SKILL.md +18 -0
- package/departments/ops/skills/sop-create/SKILL.md +18 -0
- package/departments/ops/skills/workflow-automate/SKILL.md +39 -0
- package/departments/ops/skills/zapier-flow/SKILL.md +18 -0
- package/departments/ops/squad.yaml +35 -0
- package/departments/ops/workflows/lean-audit.yaml +69 -0
- package/departments/org/SKILL.md +34 -0
- package/departments/org/agents/coo.yaml +80 -0
- package/departments/org/agents/org-designer.yaml +56 -0
- package/departments/org/agents/people-ops.yaml +56 -0
- package/departments/org/skills/compensation-plan/SKILL.md +18 -0
- package/departments/org/skills/culture-define/SKILL.md +18 -0
- package/departments/org/skills/decision-framework/SKILL.md +18 -0
- package/departments/org/skills/hiring-plan/SKILL.md +18 -0
- package/departments/org/skills/meeting-optimize/SKILL.md +18 -0
- package/departments/org/skills/onboarding-design/SKILL.md +18 -0
- package/departments/org/skills/org-design/SKILL.md +18 -0
- package/departments/org/skills/remote-setup/SKILL.md +18 -0
- package/departments/org/skills/sop-process/SKILL.md +18 -0
- package/departments/org/skills/team-assess/SKILL.md +18 -0
- package/departments/org/squad.yaml +33 -0
- package/departments/org/workflows/design.yaml +55 -0
- package/departments/pm/SKILL.md +39 -0
- package/departments/pm/agents/pm-director.yaml +75 -0
- package/departments/pm/agents/product-owner.yaml +59 -0
- package/departments/pm/agents/scrum-master.yaml +59 -0
- package/departments/pm/skills/agile-po/SKILL.md +118 -0
- package/departments/pm/skills/backlog-groom/SKILL.md +18 -0
- package/departments/pm/skills/discovery-plan/SKILL.md +48 -0
- package/departments/pm/skills/estimate-forecast/SKILL.md +18 -0
- package/departments/pm/skills/impact-map/SKILL.md +18 -0
- package/departments/pm/skills/kanban-setup/SKILL.md +18 -0
- package/departments/pm/skills/risk-register/SKILL.md +18 -0
- package/departments/pm/skills/roadmap-build/SKILL.md +18 -0
- package/departments/pm/skills/shape-pitch/SKILL.md +55 -0
- package/departments/pm/skills/sprint-plan/SKILL.md +18 -0
- package/departments/pm/skills/stakeholder-map/SKILL.md +18 -0
- package/departments/pm/skills/standup-run/SKILL.md +18 -0
- package/departments/pm/skills/story-write/SKILL.md +18 -0
- package/departments/pm/squad.yaml +37 -0
- package/departments/pm/workflows/retro.yaml +33 -0
- package/departments/quality/SKILL.md +66 -0
- package/departments/quality/agents/copy-director.md +134 -0
- package/departments/quality/agents/copy-director.yaml +73 -0
- package/departments/quality/agents/cqo.md +134 -0
- package/departments/quality/agents/cqo.yaml +76 -0
- package/departments/quality/agents/tech-director.yaml +79 -0
- package/departments/quality/agents/tech-ux-director.md +193 -0
- package/departments/quality/squad.yaml +25 -0
- package/departments/saas/SKILL.md +64 -0
- package/departments/saas/agents/cs-manager.yaml +57 -0
- package/departments/saas/agents/growth-engineer.yaml +57 -0
- package/departments/saas/agents/metrics-analyst.yaml +57 -0
- package/departments/saas/agents/saas-strategist.yaml +74 -0
- package/departments/saas/skills/benchmark-compare/SKILL.md +18 -0
- package/departments/saas/skills/churn-analysis/SKILL.md +18 -0
- package/departments/saas/skills/customer-success/SKILL.md +18 -0
- package/departments/saas/skills/growth-plan/SKILL.md +18 -0
- package/departments/saas/skills/gtm-strategy/SKILL.md +18 -0
- package/departments/saas/skills/launch-execute/SKILL.md +18 -0
- package/departments/saas/skills/metrics-dashboard/SKILL.md +18 -0
- package/departments/saas/skills/micro-saas-stack/SKILL.md +18 -0
- package/departments/saas/skills/mvp-build/SKILL.md +18 -0
- package/departments/saas/skills/niche-evaluate/SKILL.md +18 -0
- package/departments/saas/skills/onboarding-optimize/SKILL.md +18 -0
- package/departments/saas/skills/plg-setup/SKILL.md +53 -0
- package/departments/saas/skills/pricing-strategy/SKILL.md +48 -0
- package/departments/saas/skills/saas-scaffold/SKILL.md +127 -0
- package/departments/saas/skills/validate-idea/SKILL.md +55 -0
- package/departments/saas/squad.yaml +37 -0
- package/departments/saas/workflows/metrics.yaml +58 -0
- package/departments/saas/workflows/validate.yaml +103 -0
- package/departments/sales/SKILL.md +35 -0
- package/departments/sales/agents/sales-closer.yaml +58 -0
- package/departments/sales/agents/sales-director.yaml +72 -0
- package/departments/sales/agents/sales-ops.yaml +55 -0
- package/departments/sales/skills/challenger-sell/SKILL.md +18 -0
- package/departments/sales/skills/deal-qualify/SKILL.md +18 -0
- package/departments/sales/skills/discovery-call/SKILL.md +18 -0
- package/departments/sales/skills/forecast-revenue/SKILL.md +18 -0
- package/departments/sales/skills/negotiate-plan/SKILL.md +18 -0
- package/departments/sales/skills/objection-handle/SKILL.md +18 -0
- package/departments/sales/skills/pipeline-manage/SKILL.md +18 -0
- package/departments/sales/skills/pricing-negotiate/SKILL.md +18 -0
- package/departments/sales/skills/proposal-write/SKILL.md +54 -0
- package/departments/sales/skills/spin-sell/SKILL.md +50 -0
- package/departments/sales/squad.yaml +35 -0
- package/departments/sales/workflows/pipeline.yaml +49 -0
- package/departments/strategy/SKILL.md +37 -0
- package/departments/strategy/agents/business-model-designer.yaml +58 -0
- package/departments/strategy/agents/market-analyst.yaml +58 -0
- package/departments/strategy/agents/strategist.md +79 -0
- package/departments/strategy/agents/strategy-director.yaml +75 -0
- package/departments/strategy/skills/blue-ocean/SKILL.md +56 -0
- package/departments/strategy/skills/bmc/SKILL.md +18 -0
- package/departments/strategy/skills/board-advisor/SKILL.md +121 -0
- package/departments/strategy/skills/cto-advisor/SKILL.md +113 -0
- package/departments/strategy/skills/five-forces/SKILL.md +74 -0
- package/departments/strategy/skills/growth-strategy/SKILL.md +18 -0
- package/departments/strategy/skills/moat-analysis/SKILL.md +18 -0
- package/departments/strategy/skills/position/SKILL.md +18 -0
- package/departments/strategy/skills/scenario-plan/SKILL.md +18 -0
- package/departments/strategy/squad.yaml +37 -0
- package/departments/strategy/workflows/analysis.yaml +90 -0
- package/departments/strategy/workflows/swot.yaml +47 -0
- package/installer/adapters/claude-code.js +73 -0
- package/installer/adapters/codex-cli.js +34 -0
- package/installer/adapters/cursor.js +34 -0
- package/installer/adapters/gemini-cli.js +37 -0
- package/installer/cli.js +91 -0
- package/installer/detect-runtime.js +122 -0
- package/installer/doctor.js +105 -0
- package/installer/index.js +199 -0
- package/installer/uninstall.js +46 -0
- package/installer/update.js +39 -0
- package/knowledge/agents-registry-v2.json +2702 -0
- package/knowledge/commands-registry-v2.json +3827 -0
- package/package.json +58 -0
- package/pyproject.toml +64 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { execSync } from "node:child_process";
|
|
5
|
+
|
|
6
|
+
const INSTALL_DIR = join(homedir(), ".arkaos");
|
|
7
|
+
|
|
8
|
+
const checks = [
|
|
9
|
+
{
|
|
10
|
+
name: "install-dir",
|
|
11
|
+
description: "ArkaOS installation directory exists",
|
|
12
|
+
severity: "fail",
|
|
13
|
+
check: () => existsSync(INSTALL_DIR),
|
|
14
|
+
fix: "Run: npx arkaos install",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: "manifest",
|
|
18
|
+
description: "Install manifest present",
|
|
19
|
+
severity: "fail",
|
|
20
|
+
check: () => existsSync(join(INSTALL_DIR, "install-manifest.json")),
|
|
21
|
+
fix: "Run: npx arkaos install",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "python",
|
|
25
|
+
description: "Python 3.11+ available",
|
|
26
|
+
severity: "fail",
|
|
27
|
+
check: () => {
|
|
28
|
+
try {
|
|
29
|
+
const v = execSync("python3 --version 2>&1", { stdio: "pipe" }).toString();
|
|
30
|
+
const m = v.match(/(\d+)\.(\d+)/);
|
|
31
|
+
return m && parseInt(m[1]) >= 3 && parseInt(m[2]) >= 11;
|
|
32
|
+
} catch { return false; }
|
|
33
|
+
},
|
|
34
|
+
fix: "Install Python 3.11+: https://python.org",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: "hooks-dir",
|
|
38
|
+
description: "Hook scripts installed",
|
|
39
|
+
severity: "fail",
|
|
40
|
+
check: () => existsSync(join(INSTALL_DIR, "config", "hooks", "user-prompt-submit.sh")),
|
|
41
|
+
fix: "Run: npx arkaos install --force",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: "constitution",
|
|
45
|
+
description: "Constitution YAML present",
|
|
46
|
+
severity: "warn",
|
|
47
|
+
check: () => existsSync(join(INSTALL_DIR, "config", "constitution.yaml")),
|
|
48
|
+
fix: "Run: npx arkaos install --force",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "repo-path",
|
|
52
|
+
description: "Repo path reference exists",
|
|
53
|
+
severity: "warn",
|
|
54
|
+
check: () => {
|
|
55
|
+
const p = join(INSTALL_DIR, ".repo-path");
|
|
56
|
+
if (!existsSync(p)) return false;
|
|
57
|
+
const root = readFileSync(p, "utf-8").trim();
|
|
58
|
+
return existsSync(root);
|
|
59
|
+
},
|
|
60
|
+
fix: "Run: npx arkaos install --force",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "profile",
|
|
64
|
+
description: "User profile exists",
|
|
65
|
+
severity: "warn",
|
|
66
|
+
check: () => existsSync(join(INSTALL_DIR, "profile.json")),
|
|
67
|
+
fix: "Run: npx arkaos install",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "python-core",
|
|
71
|
+
description: "Python core engine importable",
|
|
72
|
+
severity: "warn",
|
|
73
|
+
check: () => {
|
|
74
|
+
try {
|
|
75
|
+
execSync('python3 -c "from core.synapse.engine import SynapseEngine"', { stdio: "pipe" });
|
|
76
|
+
return true;
|
|
77
|
+
} catch { return false; }
|
|
78
|
+
},
|
|
79
|
+
fix: "Run: pip install -e <arkaos-root>",
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
|
|
83
|
+
export async function doctor() {
|
|
84
|
+
console.log("\n ArkaOS Doctor — Health Checks\n");
|
|
85
|
+
|
|
86
|
+
let passed = 0;
|
|
87
|
+
let warned = 0;
|
|
88
|
+
let failed = 0;
|
|
89
|
+
|
|
90
|
+
for (const check of checks) {
|
|
91
|
+
const ok = check.check();
|
|
92
|
+
const icon = ok ? "\x1b[32m✓\x1b[0m" : (check.severity === "fail" ? "\x1b[31m✗\x1b[0m" : "\x1b[33m!\x1b[0m");
|
|
93
|
+
console.log(` ${icon} ${check.description}`);
|
|
94
|
+
if (!ok) {
|
|
95
|
+
console.log(` Fix: ${check.fix}`);
|
|
96
|
+
if (check.severity === "fail") failed++;
|
|
97
|
+
else warned++;
|
|
98
|
+
} else {
|
|
99
|
+
passed++;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
console.log(`\n Results: ${passed} passed, ${warned} warnings, ${failed} failures\n`);
|
|
104
|
+
if (failed > 0) process.exit(1);
|
|
105
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, copyFileSync, readFileSync, writeFileSync, readdirSync, chmodSync } from "node:fs";
|
|
2
|
+
import { join, resolve, dirname } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { execSync } from "node:child_process";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { getRuntimeConfig } from "./detect-runtime.js";
|
|
7
|
+
|
|
8
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
+
const __dirname = dirname(__filename);
|
|
10
|
+
const ARKAOS_ROOT = resolve(__dirname, "..");
|
|
11
|
+
|
|
12
|
+
const VERSION = "2.0.0-alpha.1";
|
|
13
|
+
|
|
14
|
+
export async function install({ runtime, path, force }) {
|
|
15
|
+
console.log(`\n ArkaOS v${VERSION} — The Operating System for AI Agent Teams\n`);
|
|
16
|
+
console.log(` Runtime: ${runtime}`);
|
|
17
|
+
|
|
18
|
+
const config = getRuntimeConfig(runtime);
|
|
19
|
+
const installDir = path || join(homedir(), ".arkaos");
|
|
20
|
+
|
|
21
|
+
console.log(` Install dir: ${installDir}`);
|
|
22
|
+
console.log(` Config dir: ${config.configDir}\n`);
|
|
23
|
+
|
|
24
|
+
// Step 1: Create directories
|
|
25
|
+
console.log(" [1/8] Creating directories...");
|
|
26
|
+
ensureDir(installDir);
|
|
27
|
+
ensureDir(join(installDir, "config"));
|
|
28
|
+
ensureDir(join(installDir, "config", "hooks"));
|
|
29
|
+
ensureDir(join(installDir, "agents"));
|
|
30
|
+
ensureDir(join(installDir, "media"));
|
|
31
|
+
ensureDir(join(installDir, "session-digests"));
|
|
32
|
+
|
|
33
|
+
// Step 2: Check Python
|
|
34
|
+
console.log(" [2/8] Checking Python...");
|
|
35
|
+
const pythonCmd = checkPython();
|
|
36
|
+
console.log(` Found: ${pythonCmd}`);
|
|
37
|
+
|
|
38
|
+
// Step 3: Install Python core engine
|
|
39
|
+
console.log(" [3/8] Installing Python core engine...");
|
|
40
|
+
installPythonDeps(pythonCmd);
|
|
41
|
+
|
|
42
|
+
// Step 4: Copy config files
|
|
43
|
+
console.log(" [4/8] Copying configuration files...");
|
|
44
|
+
copyConfigFiles(installDir);
|
|
45
|
+
|
|
46
|
+
// Step 5: Install hooks
|
|
47
|
+
console.log(" [5/8] Installing hooks...");
|
|
48
|
+
installHooks(installDir);
|
|
49
|
+
|
|
50
|
+
// Step 6: Configure runtime
|
|
51
|
+
console.log(" [6/8] Configuring runtime...");
|
|
52
|
+
const adapter = await loadAdapter(runtime);
|
|
53
|
+
adapter.configureHooks(config, installDir);
|
|
54
|
+
|
|
55
|
+
// Step 7: Create references
|
|
56
|
+
console.log(" [7/8] Creating references...");
|
|
57
|
+
// .repo-path: so hooks can find the package
|
|
58
|
+
writeFileSync(join(installDir, ".repo-path"), ARKAOS_ROOT);
|
|
59
|
+
// Skills reference
|
|
60
|
+
const skillsDir = join(config.skillsDir, "arkaos");
|
|
61
|
+
ensureDir(skillsDir);
|
|
62
|
+
writeFileSync(join(skillsDir, ".arkaos-root"), ARKAOS_ROOT);
|
|
63
|
+
// Profile (first install only)
|
|
64
|
+
const profilePath = join(installDir, "profile.json");
|
|
65
|
+
if (!existsSync(profilePath)) {
|
|
66
|
+
console.log(" New installation — profile created.");
|
|
67
|
+
writeFileSync(profilePath, JSON.stringify({
|
|
68
|
+
version: "2",
|
|
69
|
+
created: new Date().toISOString(),
|
|
70
|
+
}, null, 2));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Step 8: Finalize
|
|
74
|
+
console.log(" [8/8] Finalizing...");
|
|
75
|
+
const manifest = {
|
|
76
|
+
version: VERSION,
|
|
77
|
+
runtime,
|
|
78
|
+
installDir,
|
|
79
|
+
repoRoot: ARKAOS_ROOT,
|
|
80
|
+
configDir: config.configDir,
|
|
81
|
+
skillsDir,
|
|
82
|
+
installedAt: new Date().toISOString(),
|
|
83
|
+
pythonCmd,
|
|
84
|
+
};
|
|
85
|
+
writeFileSync(join(installDir, "install-manifest.json"), JSON.stringify(manifest, null, 2));
|
|
86
|
+
|
|
87
|
+
console.log(`
|
|
88
|
+
ArkaOS v${VERSION} installed successfully!
|
|
89
|
+
|
|
90
|
+
Runtime: ${config.name}
|
|
91
|
+
Install dir: ${installDir}
|
|
92
|
+
Repo root: ${ARKAOS_ROOT}
|
|
93
|
+
|
|
94
|
+
Get started:
|
|
95
|
+
Type any request in ${config.name} and ArkaOS will route it.
|
|
96
|
+
Use /do <description> for natural language commands.
|
|
97
|
+
Run: npx arkaos doctor to verify installation.
|
|
98
|
+
`);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function ensureDir(dir) {
|
|
102
|
+
if (!existsSync(dir)) {
|
|
103
|
+
mkdirSync(dir, { recursive: true });
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function checkPython() {
|
|
108
|
+
const candidates = ["python3", "python"];
|
|
109
|
+
for (const cmd of candidates) {
|
|
110
|
+
try {
|
|
111
|
+
const version = execSync(`${cmd} --version 2>&1`, { stdio: "pipe" }).toString().trim();
|
|
112
|
+
const match = version.match(/(\d+)\.(\d+)/);
|
|
113
|
+
if (match && parseInt(match[1]) >= 3 && parseInt(match[2]) >= 11) {
|
|
114
|
+
return cmd;
|
|
115
|
+
}
|
|
116
|
+
} catch {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
console.error(
|
|
121
|
+
"\n Python 3.11+ is required but not found.\n" +
|
|
122
|
+
" Install Python: https://python.org/downloads/\n"
|
|
123
|
+
);
|
|
124
|
+
process.exit(1);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function installPythonDeps(pythonCmd) {
|
|
128
|
+
try {
|
|
129
|
+
try {
|
|
130
|
+
execSync("uv --version", { stdio: "pipe" });
|
|
131
|
+
execSync(`uv pip install -e "${ARKAOS_ROOT}"`, { stdio: "pipe" });
|
|
132
|
+
return;
|
|
133
|
+
} catch {
|
|
134
|
+
// uv not available
|
|
135
|
+
}
|
|
136
|
+
execSync(`${pythonCmd} -m pip install -e "${ARKAOS_ROOT}" --quiet`, { stdio: "pipe" });
|
|
137
|
+
} catch (err) {
|
|
138
|
+
console.warn(" Warning: Could not install Python deps. Core engine may not work.");
|
|
139
|
+
console.warn(` ${err.message}`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
function copyConfigFiles(installDir) {
|
|
144
|
+
// Constitution
|
|
145
|
+
const constitutionSrc = join(ARKAOS_ROOT, "config", "constitution.yaml");
|
|
146
|
+
if (existsSync(constitutionSrc)) {
|
|
147
|
+
copyFileSync(constitutionSrc, join(installDir, "config", "constitution.yaml"));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function installHooks(installDir) {
|
|
152
|
+
const hooksDir = join(installDir, "config", "hooks");
|
|
153
|
+
ensureDir(hooksDir);
|
|
154
|
+
|
|
155
|
+
// Copy v2 hooks, rename to standard names (without -v2 suffix)
|
|
156
|
+
const hookMap = {
|
|
157
|
+
"user-prompt-submit-v2.sh": "user-prompt-submit.sh",
|
|
158
|
+
"post-tool-use-v2.sh": "post-tool-use.sh",
|
|
159
|
+
"pre-compact-v2.sh": "pre-compact.sh",
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
const srcHooksDir = join(ARKAOS_ROOT, "config", "hooks");
|
|
163
|
+
|
|
164
|
+
for (const [src, dest] of Object.entries(hookMap)) {
|
|
165
|
+
const srcPath = join(srcHooksDir, src);
|
|
166
|
+
const destPath = join(hooksDir, dest);
|
|
167
|
+
if (existsSync(srcPath)) {
|
|
168
|
+
// Read, replace ARKAOS_ROOT placeholder, write
|
|
169
|
+
let content = readFileSync(srcPath, "utf-8");
|
|
170
|
+
// Ensure hooks use the install directory
|
|
171
|
+
content = content.replace(
|
|
172
|
+
/ARKAOS_ROOT="\$\{ARKA_OS:-\$HOME\/\.claude\/skills\/arkaos\}"/g,
|
|
173
|
+
`ARKAOS_ROOT="${installDir}"`
|
|
174
|
+
);
|
|
175
|
+
content = content.replace(
|
|
176
|
+
/ARKAOS_HOME="\$\{HOME\}\/\.arkaos"/g,
|
|
177
|
+
`ARKAOS_HOME="${installDir}"`
|
|
178
|
+
);
|
|
179
|
+
writeFileSync(destPath, content);
|
|
180
|
+
try {
|
|
181
|
+
chmodSync(destPath, 0o755);
|
|
182
|
+
} catch { /* ignore on Windows */ }
|
|
183
|
+
console.log(` Installed: ${dest}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
async function loadAdapter(runtime) {
|
|
189
|
+
try {
|
|
190
|
+
const mod = await import(`./adapters/${runtime}.js`);
|
|
191
|
+
return mod.default;
|
|
192
|
+
} catch {
|
|
193
|
+
return {
|
|
194
|
+
configureHooks(config, installDir) {
|
|
195
|
+
console.log(` Using generic configuration for ${runtime}`);
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { existsSync, rmSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
|
|
5
|
+
export async function uninstall() {
|
|
6
|
+
const installDir = join(homedir(), ".arkaos");
|
|
7
|
+
|
|
8
|
+
console.log("\n ArkaOS Uninstall\n");
|
|
9
|
+
|
|
10
|
+
if (!existsSync(installDir)) {
|
|
11
|
+
console.log(" ArkaOS is not installed.");
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Remove Claude Code hooks (restore clean settings)
|
|
16
|
+
const settingsPath = join(homedir(), ".claude", "settings.json");
|
|
17
|
+
if (existsSync(settingsPath)) {
|
|
18
|
+
try {
|
|
19
|
+
const settings = JSON.parse(readFileSync(settingsPath, "utf-8"));
|
|
20
|
+
delete settings.hooks;
|
|
21
|
+
writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
22
|
+
console.log(" Removed hooks from Claude Code settings.");
|
|
23
|
+
} catch {
|
|
24
|
+
console.log(" Could not clean Claude Code settings.");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Remove install directory
|
|
29
|
+
try {
|
|
30
|
+
rmSync(installDir, { recursive: true, force: true });
|
|
31
|
+
console.log(` Removed: ${installDir}`);
|
|
32
|
+
} catch (err) {
|
|
33
|
+
console.error(` Could not remove ${installDir}: ${err.message}`);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Remove skills reference
|
|
37
|
+
const skillsRef = join(homedir(), ".claude", "skills", "arkaos");
|
|
38
|
+
if (existsSync(skillsRef)) {
|
|
39
|
+
try {
|
|
40
|
+
rmSync(skillsRef, { recursive: true, force: true });
|
|
41
|
+
console.log(` Removed: ${skillsRef}`);
|
|
42
|
+
} catch {}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
console.log("\n ArkaOS uninstalled. Goodbye.\n");
|
|
46
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { execSync } from "node:child_process";
|
|
5
|
+
|
|
6
|
+
export async function update() {
|
|
7
|
+
const installDir = join(homedir(), ".arkaos");
|
|
8
|
+
const manifestPath = join(installDir, "install-manifest.json");
|
|
9
|
+
|
|
10
|
+
if (!existsSync(manifestPath)) {
|
|
11
|
+
console.error(" ArkaOS is not installed. Run: npx arkaos install");
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const manifest = JSON.parse(readFileSync(manifestPath, "utf-8"));
|
|
16
|
+
console.log(`\n ArkaOS Update — Current: v${manifest.version}\n`);
|
|
17
|
+
|
|
18
|
+
const repoRoot = manifest.repoRoot;
|
|
19
|
+
if (!repoRoot || !existsSync(repoRoot)) {
|
|
20
|
+
console.log(" Updating via npm...");
|
|
21
|
+
try {
|
|
22
|
+
execSync("npm update -g arkaos", { stdio: "inherit" });
|
|
23
|
+
} catch {
|
|
24
|
+
console.log(" Reinstalling...");
|
|
25
|
+
execSync("npx arkaos install --force", { stdio: "inherit" });
|
|
26
|
+
}
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
console.log(` Updating from: ${repoRoot}`);
|
|
31
|
+
try {
|
|
32
|
+
execSync("git pull", { cwd: repoRoot, stdio: "inherit" });
|
|
33
|
+
execSync("npx arkaos install --force", { stdio: "inherit" });
|
|
34
|
+
console.log("\n Update complete.");
|
|
35
|
+
} catch (err) {
|
|
36
|
+
console.error(` Update failed: ${err.message}`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
}
|