@scemoon/cdh 1.0.8 → 1.0.9-beta.2
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/ai-dlc-skill/SKILL.md +106 -0
- package/ai-dlc-skill/architecture/project-structure.md +78 -0
- package/ai-dlc-skill/brownfield/README.md +36 -0
- package/ai-dlc-skill/brownfield/entry.md +45 -0
- package/ai-dlc-skill/brownfield/generate-context.sh +64 -0
- package/ai-dlc-skill/brownfield/scripts/deps.sh +27 -0
- package/ai-dlc-skill/brownfield/scripts/discover.sh +34 -0
- package/ai-dlc-skill/brownfield/scripts/extract-api.sh +45 -0
- package/ai-dlc-skill/components/backend.md +47 -0
- package/ai-dlc-skill/components/desktop.md +63 -0
- package/ai-dlc-skill/components/mya.md +219 -0
- package/ai-dlc-skill/components/native.md +73 -0
- package/ai-dlc-skill/components/tta.md +235 -0
- package/ai-dlc-skill/components/web.md +77 -0
- package/ai-dlc-skill/components/wxa.md +219 -0
- package/ai-dlc-skill/contracts/README.md +25 -0
- package/ai-dlc-skill/core/adaptive-flow.md +107 -0
- package/ai-dlc-skill/core/security.md +29 -0
- package/ai-dlc-skill/core/task-registry.md +153 -0
- package/ai-dlc-skill/cross-tool/README.md +20 -0
- package/ai-dlc-skill/cross-tool/cline/export.sh +38 -0
- package/ai-dlc-skill/cross-tool/copilot/export.sh +41 -0
- package/ai-dlc-skill/cross-tool/cursor/export.sh +53 -0
- package/ai-dlc-skill/cross-tool/onecode/export.sh +27 -0
- package/ai-dlc-skill/cross-tool/opencode/export.sh +38 -0
- package/ai-dlc-skill/phases/debug/entry.md +48 -0
- package/ai-dlc-skill/phases/debug/lifecycle.md +284 -0
- package/ai-dlc-skill/phases/deliver/entry.md +35 -0
- package/ai-dlc-skill/phases/deliver/lifecycle.md +185 -0
- package/ai-dlc-skill/phases/deliver/prompt.md +54 -0
- package/ai-dlc-skill/phases/deliver/rules.md +61 -0
- package/ai-dlc-skill/phases/plan/design_system/accessibility.md +268 -0
- package/ai-dlc-skill/phases/plan/design_system/atomic_design.md +341 -0
- package/ai-dlc-skill/phases/plan/design_system/component_spec.md +398 -0
- package/ai-dlc-skill/phases/plan/design_system/design_tokens.md +190 -0
- package/ai-dlc-skill/phases/plan/design_system/iconography.md +299 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/desktop.md +318 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/mya.md +354 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/native.md +328 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/tta.md +394 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/web.md +287 -0
- package/ai-dlc-skill/phases/plan/design_system/platform_ui/wxa.md +374 -0
- package/ai-dlc-skill/phases/plan/design_system/theme_system.md +318 -0
- package/ai-dlc-skill/phases/plan/entry.md +33 -0
- package/ai-dlc-skill/phases/plan/lifecycle.md +260 -0
- package/ai-dlc-skill/phases/plan/prompt.md +75 -0
- package/ai-dlc-skill/phases/plan/rules.md +60 -0
- package/ai-dlc-skill/phases/understand/entry.md +36 -0
- package/ai-dlc-skill/phases/understand/lifecycle.md +184 -0
- package/ai-dlc-skill/phases/understand/prompt.md +58 -0
- package/ai-dlc-skill/phases/understand/rules.md +49 -0
- package/ai-dlc-skill/phases/verify/config/base_url.md +65 -0
- package/ai-dlc-skill/phases/verify/entry.md +59 -0
- package/ai-dlc-skill/phases/verify/gates/browser_e2e.md +96 -0
- package/ai-dlc-skill/phases/verify/lifecycle.md +217 -0
- package/ai-dlc-skill/phases/verify/prompt.md +73 -0
- package/ai-dlc-skill/phases/verify/rules.md +91 -0
- package/ai-dlc-skill/phases/verify/runners/playwright_local.md +103 -0
- package/ai-dlc-skill/practices/bdd.md +119 -0
- package/ai-dlc-skill/practices/sdd.md +84 -0
- package/ai-dlc-skill/practices/tdd.md +128 -0
- package/ai-dlc-skill/providers/README.md +114 -0
- package/ai-dlc-skill/providers/aliyun/SKILL.md +204 -0
- package/ai-dlc-skill/providers/aliyun/api/rest-api.md +214 -0
- package/ai-dlc-skill/providers/aliyun/api/sdk.md +307 -0
- package/ai-dlc-skill/providers/aliyun/best-practices/database-design.md +363 -0
- package/ai-dlc-skill/providers/aliyun/best-practices/function-design.md +424 -0
- package/ai-dlc-skill/providers/aliyun/best-practices/troubleshooting.md +258 -0
- package/ai-dlc-skill/providers/aliyun/cli/database.md +263 -0
- package/ai-dlc-skill/providers/aliyun/cli/functions.md +263 -0
- package/ai-dlc-skill/providers/aliyun/cli/hosting.md +226 -0
- package/ai-dlc-skill/providers/aliyun/cli/setup.md +235 -0
- package/ai-dlc-skill/providers/aliyun/cli/storage.md +315 -0
- package/ai-dlc-skill/providers/aliyun/deployment.yaml +66 -0
- package/ai-dlc-skill/providers/aliyun/integration/ci-cd.md +288 -0
- package/ai-dlc-skill/providers/aliyun/preview.yaml +84 -0
- package/ai-dlc-skill/providers/aliyun/provider.yaml +160 -0
- package/ai-dlc-skill/providers/aliyun/security/authentication.md +254 -0
- package/ai-dlc-skill/providers/aliyun/services/cdn-hosting.md +220 -0
- package/ai-dlc-skill/providers/aliyun/services/database.md +319 -0
- package/ai-dlc-skill/providers/aliyun/services/function-compute.md +273 -0
- package/ai-dlc-skill/providers/aliyun/services/overview.md +163 -0
- package/ai-dlc-skill/providers/aliyun/services/serverless-app-engine.md +266 -0
- package/ai-dlc-skill/providers/aliyun/services/storage.md +269 -0
- package/ai-dlc-skill/providers/tcb/SKILL.md +208 -0
- package/ai-dlc-skill/providers/tcb/api/rest-api.md +338 -0
- package/ai-dlc-skill/providers/tcb/api/sdk.md +288 -0
- package/ai-dlc-skill/providers/tcb/best-practices/database-design.md +452 -0
- package/ai-dlc-skill/providers/tcb/best-practices/function-design.md +502 -0
- package/ai-dlc-skill/providers/tcb/best-practices/troubleshooting.md +462 -0
- package/ai-dlc-skill/providers/tcb/cli/cls.md +133 -0
- package/ai-dlc-skill/providers/tcb/cli/database.md +230 -0
- package/ai-dlc-skill/providers/tcb/cli/env.md +207 -0
- package/ai-dlc-skill/providers/tcb/cli/functions.md +276 -0
- package/ai-dlc-skill/providers/tcb/cli/hosting.md +219 -0
- package/ai-dlc-skill/providers/tcb/cli/setup.md +218 -0
- package/ai-dlc-skill/providers/tcb/cli/storage.md +233 -0
- package/ai-dlc-skill/providers/tcb/deployment.yaml +111 -0
- package/ai-dlc-skill/providers/tcb/integration/ci-cd.md +309 -0
- package/ai-dlc-skill/providers/tcb/integration/mcp-server.md +371 -0
- package/ai-dlc-skill/providers/tcb/preview.yaml +83 -0
- package/ai-dlc-skill/providers/tcb/provider.yaml +172 -0
- package/ai-dlc-skill/providers/tcb/security/authentication.md +241 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-database.md +299 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-functions.md +265 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-hosting.md +264 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-run.md +285 -0
- package/ai-dlc-skill/providers/tcb/services/cloud-storage.md +245 -0
- package/ai-dlc-skill/providers/tcb/services/overview.md +174 -0
- package/ai-dlc-skill/pybdd/README.md +41 -0
- package/ai-dlc-skill/pybdd/conftest.py +17 -0
- package/ai-dlc-skill/pybdd/example/auth/login.feature +32 -0
- package/ai-dlc-skill/pybdd/pytest.ini +5 -0
- package/ai-dlc-skill/pybdd/steps/.gitkeep +1 -0
- package/ai-dlc-skill/pybdd/steps/test_example_steps.py +65 -0
- package/ai-dlc-skill/requirements.md +140 -0
- package/ai-dlc-skill/skill.yaml +135 -0
- package/ai-dlc-skill/templates/brownfield/context.md +78 -0
- package/ai-dlc-skill/templates/integration/CHANGELOG.md +41 -0
- package/ai-dlc-skill/templates/integration/asyncapi.yaml +43 -0
- package/ai-dlc-skill/templates/integration/contract-diff.md +63 -0
- package/ai-dlc-skill/templates/integration/contract-spec.md +49 -0
- package/ai-dlc-skill/templates/integration/openapi.yaml +18 -0
- package/ai-dlc-skill/templates/integration/runtime-contract.yaml +36 -0
- package/ai-dlc-skill/templates/plan/design.md +49 -0
- package/ai-dlc-skill/templates/plan/task-list.md +32 -0
- package/ai-dlc-skill/templates/project/README.md +126 -0
- package/ai-dlc-skill/templates/project/template.md +119 -0
- package/ai-dlc-skill/templates/understand/feature.feature +30 -0
- package/ai-dlc-skill/templates/understand/intent.md +29 -0
- package/ai-dlc-skill/templates/understand/spec-delta.md +47 -0
- package/ai-dlc-skill/templates/verify/test-unit.py +27 -0
- package/ai-dlc-skill/walkthrough/collect.sh +50 -0
- package/ai-dlc-skill/walkthrough/template.md +54 -0
- package/cdh/__init__.py +0 -0
- package/cdh/__main__.py +4 -0
- package/cdh/__pycache__/__init__.cpython-314.pyc +0 -0
- package/cdh/__pycache__/cli.cpython-314.pyc +0 -0
- package/cdh/__pycache__/cli_logging.cpython-314.pyc +0 -0
- package/cdh/__pycache__/config.cpython-314.pyc +0 -0
- package/cdh/__pycache__/project_loader.cpython-314.pyc +0 -0
- package/cdh/__pycache__/scaffold.cpython-314.pyc +0 -0
- package/cdh/__pycache__/session_store.cpython-314.pyc +0 -0
- package/cdh/cdh_session_aggregator.py +258 -0
- package/cdh/cli.py +3000 -0
- package/cdh/cli_logging.py +45 -0
- package/cdh/config.py +28 -0
- package/cdh/event_loop/__init__.py +7 -0
- package/cdh/event_loop/bus.py +123 -0
- package/cdh/event_loop/events.py +25 -0
- package/cdh/event_loop/runner.py +28 -0
- package/cdh/event_loop/scheduler.py +158 -0
- package/cdh/generators/__init__.py +35 -0
- package/cdh/generators/_runtime.py +176 -0
- package/cdh/generators/ada/MANIFEST.toml +14 -0
- package/cdh/generators/ada/template.ads.tmpl +7 -0
- package/cdh/generators/bash/MANIFEST.toml +14 -0
- package/cdh/generators/bash/template.sh.tmpl +16 -0
- package/cdh/generators/builtin_index.json +590 -0
- package/cdh/generators/c/MANIFEST.toml +14 -0
- package/cdh/generators/c/template.h.tmpl +20 -0
- package/cdh/generators/cli.py +379 -0
- package/cdh/generators/clojure/MANIFEST.toml +14 -0
- package/cdh/generators/clojure/template.clj.tmpl +13 -0
- package/cdh/generators/cobol/MANIFEST.toml +14 -0
- package/cdh/generators/cobol/template.cbl.tmpl +14 -0
- package/cdh/generators/cpp/MANIFEST.toml +14 -0
- package/cdh/generators/cpp/template.hpp.tmpl +32 -0
- package/cdh/generators/crystal/MANIFEST.toml +14 -0
- package/cdh/generators/crystal/template.cr.tmpl +11 -0
- package/cdh/generators/csharp/MANIFEST.toml +23 -0
- package/cdh/generators/csharp/template.cs.tmpl +14 -0
- package/cdh/generators/cython/MANIFEST.toml +14 -0
- package/cdh/generators/cython/template.pyx.tmpl +17 -0
- package/cdh/generators/d/MANIFEST.toml +14 -0
- package/cdh/generators/d/template.d.tmpl +24 -0
- package/cdh/generators/dart/MANIFEST.toml +17 -0
- package/cdh/generators/dart/template.dart.tmpl +27 -0
- package/cdh/generators/elixir/MANIFEST.toml +17 -0
- package/cdh/generators/elixir/template.ex.tmpl +27 -0
- package/cdh/generators/elm/MANIFEST.toml +14 -0
- package/cdh/generators/elm/template.elm.tmpl +20 -0
- package/cdh/generators/erlang/MANIFEST.toml +14 -0
- package/cdh/generators/erlang/template.erl.tmpl +18 -0
- package/cdh/generators/fortran/MANIFEST.toml +14 -0
- package/cdh/generators/fortran/template.f90.tmpl +24 -0
- package/cdh/generators/fsharp/MANIFEST.toml +14 -0
- package/cdh/generators/fsharp/template.fs.tmpl +17 -0
- package/cdh/generators/go/MANIFEST.toml +18 -0
- package/cdh/generators/go/imports.go.tmpl +3 -0
- package/cdh/generators/go/template.go.tmpl +9 -0
- package/cdh/generators/graphql-schema/MANIFEST.toml +18 -0
- package/cdh/generators/graphql-schema/template.graphqls.tmpl +12 -0
- package/cdh/generators/groovy/MANIFEST.toml +14 -0
- package/cdh/generators/groovy/template.groovy.tmpl +28 -0
- package/cdh/generators/hack/MANIFEST.toml +14 -0
- package/cdh/generators/hack/template.hh.tmpl +24 -0
- package/cdh/generators/haskell/MANIFEST.toml +14 -0
- package/cdh/generators/haskell/template.hs.tmpl +20 -0
- package/cdh/generators/haxe/MANIFEST.toml +14 -0
- package/cdh/generators/haxe/template.hx.tmpl +20 -0
- package/cdh/generators/idris/MANIFEST.toml +14 -0
- package/cdh/generators/idris/template.idr.tmpl +22 -0
- package/cdh/generators/java/MANIFEST.toml +18 -0
- package/cdh/generators/java/template.java.tmpl +13 -0
- package/cdh/generators/julia/MANIFEST.toml +14 -0
- package/cdh/generators/julia/template.jl.tmpl +27 -0
- package/cdh/generators/kotlin/MANIFEST.toml +18 -0
- package/cdh/generators/kotlin/template.kt.tmpl +12 -0
- package/cdh/generators/lua/MANIFEST.toml +14 -0
- package/cdh/generators/lua/template.lua.tmpl +27 -0
- package/cdh/generators/matlab/MANIFEST.toml +14 -0
- package/cdh/generators/matlab/template.m.tmpl +26 -0
- package/cdh/generators/nim/MANIFEST.toml +14 -0
- package/cdh/generators/nim/template.nim.tmpl +12 -0
- package/cdh/generators/nix/MANIFEST.toml +14 -0
- package/cdh/generators/nix/template.nix.tmpl +8 -0
- package/cdh/generators/objective-c/MANIFEST.toml +14 -0
- package/cdh/generators/objective-c/template.m.tmpl +31 -0
- package/cdh/generators/ocaml/MANIFEST.toml +14 -0
- package/cdh/generators/ocaml/template.ml.tmpl +13 -0
- package/cdh/generators/pascal/MANIFEST.toml +14 -0
- package/cdh/generators/pascal/template.pas.tmpl +5 -0
- package/cdh/generators/perl/MANIFEST.toml +14 -0
- package/cdh/generators/perl/template.pm.tmpl +27 -0
- package/cdh/generators/php/MANIFEST.toml +17 -0
- package/cdh/generators/php/template.php.tmpl +31 -0
- package/cdh/generators/powershell/MANIFEST.toml +14 -0
- package/cdh/generators/powershell/template.ps1.tmpl +20 -0
- package/cdh/generators/protobuf/MANIFEST.toml +18 -0
- package/cdh/generators/protobuf/template.proto.tmpl +13 -0
- package/cdh/generators/python/MANIFEST.toml +18 -0
- package/cdh/generators/python/template.py.tmpl +12 -0
- package/cdh/generators/r/MANIFEST.toml +14 -0
- package/cdh/generators/r/template.R.tmpl +29 -0
- package/cdh/generators/racket/MANIFEST.toml +14 -0
- package/cdh/generators/racket/template.rkt.tmpl +15 -0
- package/cdh/generators/registry.py +211 -0
- package/cdh/generators/ruby/MANIFEST.toml +17 -0
- package/cdh/generators/ruby/template.rb.tmpl +27 -0
- package/cdh/generators/rust/MANIFEST.toml +18 -0
- package/cdh/generators/rust/template.rs.tmpl +16 -0
- package/cdh/generators/scala/MANIFEST.toml +20 -0
- package/cdh/generators/scala/template.scala.tmpl +13 -0
- package/cdh/generators/scheme/MANIFEST.toml +14 -0
- package/cdh/generators/scheme/template.scm.tmpl +16 -0
- package/cdh/generators/solidity/MANIFEST.toml +14 -0
- package/cdh/generators/solidity/template.sol.tmpl +24 -0
- package/cdh/generators/swift/MANIFEST.toml +18 -0
- package/cdh/generators/swift/template.swift.tmpl +10 -0
- package/cdh/generators/typescript/MANIFEST.toml +18 -0
- package/cdh/generators/typescript/template.ts.tmpl +7 -0
- package/cdh/generators/version.py +214 -0
- package/cdh/generators/zig/MANIFEST.toml +14 -0
- package/cdh/generators/zig/template.zig.tmpl +20 -0
- package/cdh/logging.py +314 -0
- package/cdh/optimizer/__init__.py +7 -0
- package/cdh/optimizer/loop.py +201 -0
- package/cdh/optimizer/mutation.py +85 -0
- package/cdh/optimizer/reward.py +51 -0
- package/cdh/optimizer/tracker.py +118 -0
- package/cdh/project_loader.py +1022 -0
- package/cdh/rules/patterns.yaml +132 -0
- package/cdh/rules/spectral.yaml +301 -0
- package/cdh/scaffold.py +1436 -0
- package/cdh/session_store.py +221 -0
- package/cdh/state_schema.py +127 -0
- package/cdh/tools/__init__.py +57 -0
- package/cdh/tools/cls_search.py +406 -0
- package/cdh/tools/contract_diff.py +644 -0
- package/cdh/tools/deploy_stack.py +590 -0
- package/cdh/tools/generate_shared.py +300 -0
- package/cdh/tools/iac_gen.py +224 -0
- package/cdh/tools/otel_export.py +125 -0
- package/cdh/tools/pattern_detect.py +451 -0
- package/cdh/tools/retrofit_labels.py +505 -0
- package/cdh/trace/__init__.py +101 -0
- package/cdh/trace/__pycache__/__init__.cpython-314.pyc +0 -0
- package/cdh/trace/dashboard/__init__.py +61 -0
- package/cdh/trace/dashboard/api.py +1032 -0
- package/cdh/trace/dashboard/app.html +1321 -0
- package/cdh/trace/dashboard/server.py +310 -0
- package/cdh/trace/otel_exporter.py +462 -0
- package/cdh/trace/otel_tracer.py +281 -0
- package/cdh/tui.py +1084 -0
- package/cdh/validators/__init__.py +16 -0
- package/cdh/validators/__pycache__/__init__.cpython-314.pyc +0 -0
- package/cdh/validators/__pycache__/bdd.cpython-314.pyc +0 -0
- package/cdh/validators/__pycache__/dag.cpython-314.pyc +0 -0
- package/cdh/validators/__pycache__/ears.cpython-314.pyc +0 -0
- package/cdh/validators/__pycache__/fr_namespace.cpython-314.pyc +0 -0
- package/cdh/validators/bdd.py +144 -0
- package/cdh/validators/dag.py +179 -0
- package/cdh/validators/ears.py +452 -0
- package/cdh/validators/fr_namespace.py +143 -0
- package/cdh/validators/spectral.py +475 -0
- package/cdh/verification/__init__.py +3 -0
- package/cdh/verification/aggregation.py +53 -0
- package/cdh/verification/gates/__init__.py +5 -0
- package/cdh/verification/gates/base.py +18 -0
- package/cdh/verification/gates/lint_gate.py +37 -0
- package/cdh/verification/gates/test_gate.py +41 -0
- package/cdh/verification/loop.py +93 -0
- package/cdh/verification/policy.py +24 -0
- package/onecode/__init__.py +1 -0
- package/onecode/__main__.py +4 -0
- package/onecode/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/__pycache__/cli.cpython-314.pyc +0 -0
- package/onecode/__pycache__/commands.cpython-314.pyc +0 -0
- package/onecode/__pycache__/config.cpython-314.pyc +0 -0
- package/onecode/__pycache__/migrate.cpython-314.pyc +0 -0
- package/onecode/agent/__init__.py +0 -0
- package/onecode/agent/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/cdh_loader.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/checkpoint.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/context.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/engine.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/hooks.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/onecode_agent_acp.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/permissions.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/permissions_store.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/project_doc.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/session.cpython-314.pyc +0 -0
- package/onecode/agent/__pycache__/turn_record.cpython-314.pyc +0 -0
- package/onecode/agent/agents/__init__.py +29 -0
- package/onecode/agent/agents/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/agent/agents/__pycache__/types.cpython-314.pyc +0 -0
- package/onecode/agent/agents/prompts/build-agent.md +50 -0
- package/onecode/agent/agents/prompts/compaction-instructions.md +12 -0
- package/onecode/agent/agents/prompts/explore-agent.md +42 -0
- package/onecode/agent/agents/prompts/plan-agent.md +44 -0
- package/onecode/agent/agents/prompts/plan-gate-hard.md +4 -0
- package/onecode/agent/agents/prompts/plan-gate-soft.md +3 -0
- package/onecode/agent/agents/prompts/solo-agent.md +57 -0
- package/onecode/agent/agents/prompts/subagent-constraints.md +10 -0
- package/onecode/agent/agents/prompts/summary-instructions.md +7 -0
- package/onecode/agent/agents/prompts/title-instructions.md +3 -0
- package/onecode/agent/agents/prompts/tool-descriptions.md +129 -0
- package/onecode/agent/agents/types.py +786 -0
- package/onecode/agent/attachments.py +112 -0
- package/onecode/agent/cdh_loader.py +3 -0
- package/onecode/agent/checkpoint.py +285 -0
- package/onecode/agent/context.py +465 -0
- package/onecode/agent/engine.py +3547 -0
- package/onecode/agent/event_bridge.py +75 -0
- package/onecode/agent/hooks.py +86 -0
- package/onecode/agent/onecode_agent_acp.py +2993 -0
- package/onecode/agent/permissions.py +150 -0
- package/onecode/agent/permissions_store.py +73 -0
- package/onecode/agent/project_doc.py +19 -0
- package/onecode/agent/question_detect.py +230 -0
- package/onecode/agent/session.py +3 -0
- package/onecode/agent/snapshot.py +144 -0
- package/onecode/agent/tools/__init__.py +17 -0
- package/onecode/agent/tools/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/agent_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/apply_patch_tool.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/bash_tool.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/communication_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/config_tool.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/cron_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/errors.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/file_ops.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/file_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/git_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/lsp_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/mcp_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/permission_handler.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/permissions.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/protocol.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/registry.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/sandbox.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/schema_validation.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/skill_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/todo_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/__pycache__/web_tools.cpython-314.pyc +0 -0
- package/onecode/agent/tools/agent_tools.py +128 -0
- package/onecode/agent/tools/apply_patch_tool.py +138 -0
- package/onecode/agent/tools/bash_tool.py +121 -0
- package/onecode/agent/tools/communication_tools.py +154 -0
- package/onecode/agent/tools/config_tool.py +130 -0
- package/onecode/agent/tools/cron_tools.py +178 -0
- package/onecode/agent/tools/errors.py +17 -0
- package/onecode/agent/tools/file_ops.py +221 -0
- package/onecode/agent/tools/file_tools.py +225 -0
- package/onecode/agent/tools/git_tools.py +88 -0
- package/onecode/agent/tools/lsp_tools.py +404 -0
- package/onecode/agent/tools/mcp_tools.py +211 -0
- package/onecode/agent/tools/permission_handler.py +46 -0
- package/onecode/agent/tools/permissions.py +77 -0
- package/onecode/agent/tools/protocol.py +20 -0
- package/onecode/agent/tools/registry.py +210 -0
- package/onecode/agent/tools/sandbox.py +460 -0
- package/onecode/agent/tools/schema_validation.py +100 -0
- package/onecode/agent/tools/skill_tools.py +52 -0
- package/onecode/agent/tools/todo_tools.py +208 -0
- package/onecode/agent/tools/web_tools.py +530 -0
- package/onecode/agent/turn_record.py +28 -0
- package/onecode/builtin_skills/agent-browser/SKILL.md +212 -0
- package/onecode/builtin_skills/agent-browser/skill.yaml +8 -0
- package/onecode/builtin_skills/cloudbase/SKILL.md +162 -0
- package/onecode/builtin_skills/cloudbase/skill.yaml +7 -0
- package/onecode/builtin_skills/git/SKILL.md +64 -0
- package/onecode/builtin_skills/git/skill.yaml +7 -0
- package/onecode/builtin_skills/shell/SKILL.md +58 -0
- package/onecode/builtin_skills/shell/skill.yaml +8 -0
- package/onecode/builtin_skills/skill-creator/SKILL.md +106 -0
- package/onecode/builtin_skills/skill-creator/skill.yaml +8 -0
- package/onecode/cli.py +1325 -0
- package/onecode/codebase/__init__.py +69 -0
- package/onecode/codebase/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/chunker.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/indexer.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/retriever.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/storage.cpython-314.pyc +0 -0
- package/onecode/codebase/__pycache__/tools.cpython-314.pyc +0 -0
- package/onecode/codebase/chunker.py +125 -0
- package/onecode/codebase/indexer.py +154 -0
- package/onecode/codebase/retriever.py +240 -0
- package/onecode/codebase/storage.py +153 -0
- package/onecode/codebase/tools.py +59 -0
- package/onecode/commands.py +673 -0
- package/onecode/config.py +539 -0
- package/onecode/config_screen.py +486 -0
- package/onecode/cron/__init__.py +3 -0
- package/onecode/lsp/__init__.py +3 -0
- package/onecode/mcp/__init__.py +11 -0
- package/onecode/mcp/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/client.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/cloudbase.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/config.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/manager.cpython-314.pyc +0 -0
- package/onecode/mcp/__pycache__/oauth.cpython-314.pyc +0 -0
- package/onecode/mcp/client.py +305 -0
- package/onecode/mcp/cloudbase.py +188 -0
- package/onecode/mcp/config.py +363 -0
- package/onecode/mcp/manager.py +603 -0
- package/onecode/mcp/oauth.py +199 -0
- package/onecode/memory/__init__.py +106 -0
- package/onecode/memory/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/memory/__pycache__/backend.cpython-314.pyc +0 -0
- package/onecode/memory/__pycache__/pyramid.cpython-314.pyc +0 -0
- package/onecode/memory/__pycache__/recall.cpython-314.pyc +0 -0
- package/onecode/memory/backend.py +179 -0
- package/onecode/memory/pyramid.py +145 -0
- package/onecode/memory/recall.py +322 -0
- package/onecode/migrate.py +122 -0
- package/onecode/models/__init__.py +4 -0
- package/onecode/models/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/errors.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/messages.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/ollama_manager.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/provider.cpython-314.pyc +0 -0
- package/onecode/models/__pycache__/registry.cpython-314.pyc +0 -0
- package/onecode/models/errors.py +104 -0
- package/onecode/models/messages.py +750 -0
- package/onecode/models/ollama_manager.py +167 -0
- package/onecode/models/provider.py +730 -0
- package/onecode/models/providers/__init__.py +17 -0
- package/onecode/models/providers/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/anthropic_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/deepseek_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/glm_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/minimax_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/minimaxi_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/ollama_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/__pycache__/openai_provider.cpython-314.pyc +0 -0
- package/onecode/models/providers/anthropic_provider.py +286 -0
- package/onecode/models/providers/deepseek_provider.py +221 -0
- package/onecode/models/providers/glm_provider.py +219 -0
- package/onecode/models/providers/minimax_provider.py +182 -0
- package/onecode/models/providers/minimaxi_provider.py +426 -0
- package/onecode/models/providers/ollama_provider.py +183 -0
- package/onecode/models/providers/openai_provider.py +234 -0
- package/onecode/models/registry.py +349 -0
- package/onecode/server/__init__.py +3 -0
- package/onecode/server/app.py +251 -0
- package/onecode/skills/__init__.py +11 -0
- package/onecode/skills/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/argument_substitution.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/bootstrap.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/create.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/frontmatter.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/loader.cpython-314.pyc +0 -0
- package/onecode/skills/__pycache__/model.cpython-314.pyc +0 -0
- package/onecode/skills/argument_substitution.py +38 -0
- package/onecode/skills/bootstrap.py +37 -0
- package/onecode/skills/create.py +56 -0
- package/onecode/skills/frontmatter.py +33 -0
- package/onecode/skills/loader.py +215 -0
- package/onecode/skills/manager.py +75 -0
- package/onecode/skills/model.py +43 -0
- package/onecode/storage/__init__.py +0 -0
- package/onecode/storage/activity.py +63 -0
- package/onecode/storage/project.py +54 -0
- package/onecode/storage/session.py +112 -0
- package/onecode/tasks/__init__.py +26 -0
- package/onecode/tasks/manager.py +232 -0
- package/onecode/tasks/models.py +240 -0
- package/onecode/trace/__init__.py +0 -0
- package/onecode/trace/tracer.py +173 -0
- package/onecode/utils/__init__.py +0 -0
- package/onecode/utils/helpers.py +20 -0
- package/onecode/verification/__init__.py +5 -0
- package/onecode/verification/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/verification/__pycache__/aggregation.cpython-314.pyc +0 -0
- package/onecode/verification/__pycache__/loop.cpython-314.pyc +0 -0
- package/onecode/verification/__pycache__/policy.cpython-314.pyc +0 -0
- package/onecode/verification/aggregation.py +53 -0
- package/onecode/verification/gates/__init__.py +6 -0
- package/onecode/verification/gates/__pycache__/__init__.cpython-314.pyc +0 -0
- package/onecode/verification/gates/__pycache__/base.cpython-314.pyc +0 -0
- package/onecode/verification/gates/__pycache__/lint_gate.cpython-314.pyc +0 -0
- package/onecode/verification/gates/__pycache__/test_gate.cpython-314.pyc +0 -0
- package/onecode/verification/gates/__pycache__/type_gate.cpython-314.pyc +0 -0
- package/onecode/verification/gates/base.py +20 -0
- package/onecode/verification/gates/lint_gate.py +45 -0
- package/onecode/verification/gates/test_gate.py +62 -0
- package/onecode/verification/gates/type_gate.py +46 -0
- package/onecode/verification/loop.py +95 -0
- package/onecode/verification/policy.py +29 -0
- package/package.json +2 -2
- package/pyproject.toml +84 -0
- package/tui/__init__.py +46 -0
- package/tui/__main__.py +4 -0
- package/tui/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/__pycache__/_loop.cpython-314.pyc +0 -0
- package/tui/__pycache__/_path_fuzzy_search.cpython-314.pyc +0 -0
- package/tui/__pycache__/_path_match.cpython-314.pyc +0 -0
- package/tui/__pycache__/agent.cpython-314.pyc +0 -0
- package/tui/__pycache__/agent_schema.cpython-314.pyc +0 -0
- package/tui/__pycache__/agents.cpython-314.pyc +0 -0
- package/tui/__pycache__/answer.cpython-314.pyc +0 -0
- package/tui/__pycache__/app.cpython-314.pyc +0 -0
- package/tui/__pycache__/atomic.cpython-314.pyc +0 -0
- package/tui/__pycache__/complete.cpython-314.pyc +0 -0
- package/tui/__pycache__/constants.cpython-314.pyc +0 -0
- package/tui/__pycache__/conversation_markdown.cpython-314.pyc +0 -0
- package/tui/__pycache__/db.cpython-314.pyc +0 -0
- package/tui/__pycache__/dec.cpython-314.pyc +0 -0
- package/tui/__pycache__/directory.cpython-314.pyc +0 -0
- package/tui/__pycache__/directory_watcher.cpython-314.pyc +0 -0
- package/tui/__pycache__/format_path.cpython-314.pyc +0 -0
- package/tui/__pycache__/fuzzy.cpython-314.pyc +0 -0
- package/tui/__pycache__/fuzzy_index.cpython-314.pyc +0 -0
- package/tui/__pycache__/history.cpython-314.pyc +0 -0
- package/tui/__pycache__/jsonrpc.cpython-314.pyc +0 -0
- package/tui/__pycache__/menus.cpython-314.pyc +0 -0
- package/tui/__pycache__/message_log.cpython-314.pyc +0 -0
- package/tui/__pycache__/messages.cpython-314.pyc +0 -0
- package/tui/__pycache__/path_complete.cpython-314.pyc +0 -0
- package/tui/__pycache__/path_filter.cpython-314.pyc +0 -0
- package/tui/__pycache__/paths.cpython-314.pyc +0 -0
- package/tui/__pycache__/pill.cpython-314.pyc +0 -0
- package/tui/__pycache__/platform_commands.cpython-314.pyc +0 -0
- package/tui/__pycache__/protocol.cpython-314.pyc +0 -0
- package/tui/__pycache__/session_tracker.cpython-314.pyc +0 -0
- package/tui/__pycache__/settings.cpython-314.pyc +0 -0
- package/tui/__pycache__/settings_schema.cpython-314.pyc +0 -0
- package/tui/__pycache__/shell.cpython-314.pyc +0 -0
- package/tui/__pycache__/shell_read.cpython-314.pyc +0 -0
- package/tui/__pycache__/slash_command.cpython-314.pyc +0 -0
- package/tui/__pycache__/version.cpython-314.pyc +0 -0
- package/tui/_loop.py +86 -0
- package/tui/_path_fuzzy_search.py +48 -0
- package/tui/_path_match.py +141 -0
- package/tui/about.py +95 -0
- package/tui/acp/__pycache__/agent.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/api.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/encode_tool_call_id.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/event_tap.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/messages.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/prompt.cpython-314.pyc +0 -0
- package/tui/acp/__pycache__/protocol.cpython-314.pyc +0 -0
- package/tui/acp/agent.py +1212 -0
- package/tui/acp/api.py +79 -0
- package/tui/acp/encode_tool_call_id.py +12 -0
- package/tui/acp/event_tap.py +107 -0
- package/tui/acp/messages.py +222 -0
- package/tui/acp/prompt.py +53 -0
- package/tui/acp/protocol.py +551 -0
- package/tui/agent.py +70 -0
- package/tui/agent_schema.py +76 -0
- package/tui/agents.py +46 -0
- package/tui/ansi/__init__.py +1 -0
- package/tui/ansi/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_ansi.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_ansi_colors.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_control_codes.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_keys.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_sgr_styles.cpython-314.pyc +0 -0
- package/tui/ansi/__pycache__/_stream_parser.cpython-314.pyc +0 -0
- package/tui/ansi/_ansi.py +1689 -0
- package/tui/ansi/_ansi_colors.py +264 -0
- package/tui/ansi/_control_codes.py +37 -0
- package/tui/ansi/_keys.py +251 -0
- package/tui/ansi/_sgr_styles.py +64 -0
- package/tui/ansi/_stream_parser.py +418 -0
- package/tui/answer.py +12 -0
- package/tui/app.py +1195 -0
- package/tui/atomic.py +37 -0
- package/tui/cli.py +208 -0
- package/tui/code_analyze.py +27 -0
- package/tui/complete.py +38 -0
- package/tui/constants.py +61 -0
- package/tui/conversation_markdown.py +30 -0
- package/tui/danger.py +372 -0
- package/tui/data/agents/ampcode.com.toml +52 -0
- package/tui/data/agents/augmentcode.com.toml +41 -0
- package/tui/data/agents/cdh.cloud-dev-harness.toml +23 -0
- package/tui/data/agents/claude.com.toml +41 -0
- package/tui/data/agents/copilot.github.com.toml +29 -0
- package/tui/data/agents/crowai.dev.toml +36 -0
- package/tui/data/agents/cursor.com.toml +38 -0
- package/tui/data/agents/deepagents.langchain.com +34 -0
- package/tui/data/agents/docker.com.toml +60 -0
- package/tui/data/agents/geminicli.com.toml +28 -0
- package/tui/data/agents/goose.ai.toml +52 -0
- package/tui/data/agents/inference.huggingface.co.toml +41 -0
- package/tui/data/agents/kimi.com.toml +35 -0
- package/tui/data/agents/kiro.dev.toml +43 -0
- package/tui/data/agents/onecode.dev.toml +22 -0
- package/tui/data/agents/openai.com.toml +53 -0
- package/tui/data/agents/openclaw.ai.toml +37 -0
- package/tui/data/agents/opencode.ai.toml +39 -0
- package/tui/data/agents/openhands.dev.toml +46 -0
- package/tui/data/agents/stakpak.dev.toml +62 -0
- package/tui/data/agents/vibe.mistral.ai.toml +31 -0
- package/tui/data/agents/vtcode.dev.toml +63 -0
- package/tui/data/images/frog.png +0 -0
- package/tui/data/sounds/question.wav +0 -0
- package/tui/data/sounds/turn-over.wav +0 -0
- package/tui/db.py +213 -0
- package/tui/dec.py +332 -0
- package/tui/diff_utils.py +131 -0
- package/tui/directory.py +234 -0
- package/tui/directory_suggester.py +93 -0
- package/tui/directory_watcher.py +231 -0
- package/tui/format_path.py +25 -0
- package/tui/fuzzy.py +140 -0
- package/tui/fuzzy_index.py +275 -0
- package/tui/gist.py +33 -0
- package/tui/history.py +138 -0
- package/tui/jsonrpc.py +599 -0
- package/tui/menus.py +14 -0
- package/tui/message_log.py +69 -0
- package/tui/messages.py +144 -0
- package/tui/option_content.py +51 -0
- package/tui/os.py +0 -0
- package/tui/path_complete.py +217 -0
- package/tui/path_filter.py +124 -0
- package/tui/paths.py +87 -0
- package/tui/pill.py +23 -0
- package/tui/platform_commands.py +52 -0
- package/tui/prompt/__pycache__/extract.cpython-314.pyc +0 -0
- package/tui/prompt/__pycache__/resource.cpython-314.pyc +0 -0
- package/tui/prompt/extract.py +19 -0
- package/tui/prompt/resource.py +68 -0
- package/tui/protocol.py +28 -0
- package/tui/screens/__init__.py +0 -0
- package/tui/screens/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/screens/__pycache__/diff_screen.cpython-314.pyc +0 -0
- package/tui/screens/__pycache__/main.cpython-314.pyc +0 -0
- package/tui/screens/__pycache__/sessions.cpython-314.pyc +0 -0
- package/tui/screens/action_modal.py +94 -0
- package/tui/screens/agent_modal.py +175 -0
- package/tui/screens/command_edit_modal.py +74 -0
- package/tui/screens/diff_explorer_screen.py +419 -0
- package/tui/screens/diff_screen.py +84 -0
- package/tui/screens/ide_screen.py +461 -0
- package/tui/screens/main.py +397 -0
- package/tui/screens/main.tcss +662 -0
- package/tui/screens/permissions.py +404 -0
- package/tui/screens/permissions.tcss +72 -0
- package/tui/screens/projects.tcss +84 -0
- package/tui/screens/projects_app.py +341 -0
- package/tui/screens/projects_screen.py +277 -0
- package/tui/screens/session_resume_modal.py +172 -0
- package/tui/screens/session_resume_modal.tcss +35 -0
- package/tui/screens/sessions.py +171 -0
- package/tui/screens/sessions.tcss +119 -0
- package/tui/screens/settings.py +293 -0
- package/tui/screens/settings.tcss +113 -0
- package/tui/screens/store.py +502 -0
- package/tui/screens/store.tcss +274 -0
- package/tui/screens/tool_content_screen.py +59 -0
- package/tui/screens/trace.py +317 -0
- package/tui/session_tracker.py +123 -0
- package/tui/settings.py +353 -0
- package/tui/settings_schema.py +467 -0
- package/tui/shell.py +304 -0
- package/tui/shell_read.py +42 -0
- package/tui/slash_command.py +34 -0
- package/tui/tui.tcss +246 -0
- package/tui/twitter.py +38 -0
- package/tui/version.py +80 -0
- package/tui/visuals/__init__.py +0 -0
- package/tui/visuals/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/visuals/__pycache__/columns.cpython-314.pyc +0 -0
- package/tui/visuals/columns.py +272 -0
- package/tui/widgets/__init__.py +0 -0
- package/tui/widgets/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/agent_response.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/agent_thought.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/aidlc.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/ask_user.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/condensed_path.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/context_stats.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/conversation.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/diff_view.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/flash.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/future_text.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/grid_select.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/highlighted_textarea.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/load_more.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/menu.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/modified_files.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/non_selectable_label.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/note.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/path_search.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/pending_prompts.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/plan.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/project_directory_tree.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/prompt.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/question.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/session_grid_select.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/session_summary.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/session_tabs.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/shell_terminal.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/side_bar.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/slash_complete.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/strike_text.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/terminal.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/throbber.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/tool_call.cpython-314.pyc +0 -0
- package/tui/widgets/__pycache__/user_input.cpython-314.pyc +0 -0
- package/tui/widgets/acp_content.py +70 -0
- package/tui/widgets/agent_response.py +76 -0
- package/tui/widgets/agent_thought.py +167 -0
- package/tui/widgets/aidlc.py +334 -0
- package/tui/widgets/ask_user.py +604 -0
- package/tui/widgets/command_pane.py +223 -0
- package/tui/widgets/condensed_path.py +115 -0
- package/tui/widgets/context_stats.py +66 -0
- package/tui/widgets/conversation.py +3235 -0
- package/tui/widgets/danger_warning.py +65 -0
- package/tui/widgets/diff_view.py +69 -0
- package/tui/widgets/directory_input.py +8 -0
- package/tui/widgets/edit_field.py +206 -0
- package/tui/widgets/flash.py +81 -0
- package/tui/widgets/future_text.py +126 -0
- package/tui/widgets/grid_select.py +234 -0
- package/tui/widgets/highlighted_textarea.py +183 -0
- package/tui/widgets/load_more.py +24 -0
- package/tui/widgets/mandelbrot.py +294 -0
- package/tui/widgets/markdown_note.py +13 -0
- package/tui/widgets/menu.py +147 -0
- package/tui/widgets/model_status.py +230 -0
- package/tui/widgets/modified_files.py +315 -0
- package/tui/widgets/non_selectable_label.py +5 -0
- package/tui/widgets/note.py +18 -0
- package/tui/widgets/path_search.py +492 -0
- package/tui/widgets/pending_prompts.py +36 -0
- package/tui/widgets/plan.py +285 -0
- package/tui/widgets/project_directory_tree.py +102 -0
- package/tui/widgets/project_grid_select.py +68 -0
- package/tui/widgets/project_summary.py +33 -0
- package/tui/widgets/prompt.py +935 -0
- package/tui/widgets/question.py +360 -0
- package/tui/widgets/session_grid_select.py +230 -0
- package/tui/widgets/session_summary.py +115 -0
- package/tui/widgets/session_tabs.py +194 -0
- package/tui/widgets/shell_result.py +35 -0
- package/tui/widgets/shell_terminal.py +40 -0
- package/tui/widgets/side_bar.py +124 -0
- package/tui/widgets/slash_complete.py +235 -0
- package/tui/widgets/strike_text.py +70 -0
- package/tui/widgets/subagent.py +287 -0
- package/tui/widgets/subagent_screen.py +715 -0
- package/tui/widgets/terminal.py +576 -0
- package/tui/widgets/terminal_tool.py +360 -0
- package/tui/widgets/throbber.py +100 -0
- package/tui/widgets/tool_call.py +432 -0
- package/tui/widgets/user_input.py +23 -0
- package/tui/widgets/version.py +5 -0
- package/tui/widgets/welcome.py +31 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-browser
|
|
3
|
+
description: Browser automation via Playwright for web interaction and testing
|
|
4
|
+
enabled: true
|
|
5
|
+
triggers:
|
|
6
|
+
- browser
|
|
7
|
+
- playwrith
|
|
8
|
+
- screenshot
|
|
9
|
+
- web page
|
|
10
|
+
- navigate
|
|
11
|
+
- open url
|
|
12
|
+
- click element
|
|
13
|
+
- fill form
|
|
14
|
+
- scrape
|
|
15
|
+
- headless
|
|
16
|
+
allowed_tools:
|
|
17
|
+
- Bash
|
|
18
|
+
- Read
|
|
19
|
+
- Write
|
|
20
|
+
phases:
|
|
21
|
+
- verify
|
|
22
|
+
- deliver
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Agent Browser
|
|
26
|
+
|
|
27
|
+
## When to Use
|
|
28
|
+
|
|
29
|
+
- Navigating to a web page and interacting with it
|
|
30
|
+
- Taking screenshots of pages
|
|
31
|
+
- Filling and submitting forms
|
|
32
|
+
- Clicking buttons, links, and other elements
|
|
33
|
+
- Extracting dynamic content that requires JS execution
|
|
34
|
+
- End-to-end testing of web applications
|
|
35
|
+
- Scraping SPAs (Single Page Applications)
|
|
36
|
+
|
|
37
|
+
Use **WebFetch** instead for simple GET requests that don't need interaction.
|
|
38
|
+
|
|
39
|
+
## Setup
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pip install playwright
|
|
43
|
+
playwright install chromium
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Check if already installed:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
python -c "import playwright; print(playwright.__file__)"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Basic Usage
|
|
53
|
+
|
|
54
|
+
### Navigate and Screenshot
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from playwright.sync_api import sync_playwright
|
|
58
|
+
|
|
59
|
+
with sync_playwright() as p:
|
|
60
|
+
browser = p.chromium.launch(headless=True)
|
|
61
|
+
page = browser.new_page()
|
|
62
|
+
page.goto("https://example.com")
|
|
63
|
+
page.screenshot(path="screenshot.png", full_page=True)
|
|
64
|
+
browser.close()
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Fill Form and Submit
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
page.fill("input[name='username']", "myuser")
|
|
71
|
+
page.fill("input[name='password']", "mypass")
|
|
72
|
+
page.click("button[type='submit']")
|
|
73
|
+
page.wait_for_url("**/dashboard")
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Extract Content
|
|
77
|
+
|
|
78
|
+
```python
|
|
79
|
+
# Get text content
|
|
80
|
+
title = page.text_content("h1")
|
|
81
|
+
items = page.query_selector_all(".item")
|
|
82
|
+
for item in items:
|
|
83
|
+
print(item.inner_text())
|
|
84
|
+
|
|
85
|
+
# Get HTML
|
|
86
|
+
html = page.content()
|
|
87
|
+
|
|
88
|
+
# Evaluate JavaScript
|
|
89
|
+
result = page.evaluate("() => document.title")
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Wait Strategies
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
page.wait_for_selector(".results") # element appears
|
|
96
|
+
page.wait_for_load_state("networkidle") # no network activity
|
|
97
|
+
page.wait_for_timeout(2000) # sleep 2s
|
|
98
|
+
page.wait_for_url("**/success") # URL pattern
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Selectors
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
# CSS
|
|
105
|
+
page.click(".btn-primary")
|
|
106
|
+
page.click("button[data-id='submit']")
|
|
107
|
+
|
|
108
|
+
# Text
|
|
109
|
+
page.click("text=Submit")
|
|
110
|
+
page.click("button:has-text('Continue')")
|
|
111
|
+
|
|
112
|
+
# XPath
|
|
113
|
+
page.click("xpath=//button[@name='login']")
|
|
114
|
+
|
|
115
|
+
# Role (recommended)
|
|
116
|
+
page.get_by_role("button", name="Submit").click()
|
|
117
|
+
page.get_by_label("Email").fill("user@example.com")
|
|
118
|
+
page.get_by_placeholder("Search...").fill("query")
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Common Patterns
|
|
122
|
+
|
|
123
|
+
### Login Flow
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
page.goto("https://example.com/login")
|
|
127
|
+
page.fill("#email", email)
|
|
128
|
+
page.fill("#password", password)
|
|
129
|
+
page.click("button[type='submit']")
|
|
130
|
+
page.wait_for_url("**/dashboard")
|
|
131
|
+
print("Logined:", page.url)
|
|
132
|
+
page.screenshot(path="after_login.png")
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Paginated Scraping
|
|
136
|
+
|
|
137
|
+
```python
|
|
138
|
+
results = []
|
|
139
|
+
while True:
|
|
140
|
+
items = page.query_selector_all(".result-item")
|
|
141
|
+
for item in items:
|
|
142
|
+
results.append(item.inner_text())
|
|
143
|
+
next_btn = page.query_selector(".pagination .next")
|
|
144
|
+
if not next_btn or next_btn.is_disabled():
|
|
145
|
+
break
|
|
146
|
+
next_btn.click()
|
|
147
|
+
page.wait_for_load_state("networkidle")
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Multi-page Navigation
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
pages = ["https://example.com/page1", "https://example.com/page2"]
|
|
154
|
+
for url in pages:
|
|
155
|
+
page.goto(url, wait_until="domcontentloaded")
|
|
156
|
+
page.screenshot(path=f"screenshot-{url.split('/')[-1]}.png")
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Executing via Bash
|
|
160
|
+
|
|
161
|
+
For quick one-off tasks, use `python -c`:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
python -c "
|
|
165
|
+
from playwright.sync_api import sync_playwright
|
|
166
|
+
with sync_playwright() as p:
|
|
167
|
+
browser = p.chromium.launch(headless=True)
|
|
168
|
+
page = browser.new_page()
|
|
169
|
+
page.goto('https://example.com')
|
|
170
|
+
print(page.title())
|
|
171
|
+
browser.close()
|
|
172
|
+
"
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Or save a script and execute:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
cat > /tmp/browser_script.py << 'EOF'
|
|
179
|
+
from playwright.sync_api import sync_playwright
|
|
180
|
+
with sync_playwright() as p:
|
|
181
|
+
browser = p.chromium.launch(headless=True)
|
|
182
|
+
page = browser.new_page()
|
|
183
|
+
...
|
|
184
|
+
browser.close()
|
|
185
|
+
EOF
|
|
186
|
+
python /tmp/browser_script.py
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Error Handling
|
|
190
|
+
|
|
191
|
+
```python
|
|
192
|
+
try:
|
|
193
|
+
page.goto(url, timeout=30000)
|
|
194
|
+
except Exception as e:
|
|
195
|
+
print(f"Navigation failed: {e}")
|
|
196
|
+
page.screenshot(path="error.png")
|
|
197
|
+
|
|
198
|
+
try:
|
|
199
|
+
page.click(".missing-button", timeout=5000)
|
|
200
|
+
except Exception:
|
|
201
|
+
print("Button not found, trying alternative...")
|
|
202
|
+
page.click(".fallback-button")
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Best Practices
|
|
206
|
+
|
|
207
|
+
- Always use `headless=True` unless user asks for visible browser
|
|
208
|
+
- Set reasonable timeouts (10-30s for navigation)
|
|
209
|
+
- Close browser after use to free resources
|
|
210
|
+
- Screenshot on errors for debugging
|
|
211
|
+
- Prefer `get_by_role/get_by_label` over fragile CSS selectors
|
|
212
|
+
- Wait for network idle before extracting content
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
name: agent-browser
|
|
2
|
+
description: >-
|
|
3
|
+
Browser automation skill via Playwright. Enables the agent to navigate pages,
|
|
4
|
+
take screenshots, click elements, fill forms, extract content, and evaluate
|
|
5
|
+
JavaScript in a headless or headed browser.
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
enabled: true
|
|
8
|
+
entry: SKILL.md
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# CloudBase Skill
|
|
2
|
+
|
|
3
|
+
Provides Tencent CloudBase (TCB) management — serverless functions, database, hosting, storage, and environment operations. Supports both `tcb` CLI and `@cloudbase/cloudbase-mcp` MCP server.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install CloudBase CLI
|
|
9
|
+
npm install -g @cloudbase/cli
|
|
10
|
+
|
|
11
|
+
# Login (interactive)
|
|
12
|
+
tcb login
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## MCP Server (Auto-Configured)
|
|
16
|
+
|
|
17
|
+
The `@cloudbase/cloudbase-mcp` package provides structured tool access. When this skill is enabled, onecode automatically registers a CloudBase MCP entry in `~/.onecode/mcp.json` (opencode-style declarative config) and connects it using credentials from environment variables or `~/.cloud-harness-tokens.json`.
|
|
18
|
+
|
|
19
|
+
**Quick setup (recommended):**
|
|
20
|
+
```
|
|
21
|
+
cdh cloudbase init --secret-id xxx --secret-key xxx --env-id xxx
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The opencode-style entry written to `~/.onecode/mcp.json`:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"mcp": {
|
|
29
|
+
"cloudbase": {
|
|
30
|
+
"type": "local",
|
|
31
|
+
"command": ["npx", "-y", "@cloudbase/cloudbase-mcp@latest"],
|
|
32
|
+
"environment": {
|
|
33
|
+
"TENCENTCLOUD_SECRETID": "{env:TENCENTCLOUD_SECRETID}",
|
|
34
|
+
"TENCENTCLOUD_SECRETKEY": "{env:TENCENTCLOUD_SECRETKEY}",
|
|
35
|
+
"CLOUDBASE_ENV_ID": "{env:CLOUDBASE_ENV_ID}"
|
|
36
|
+
},
|
|
37
|
+
"enabled": true
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`{env:VAR}` references are resolved at connect time, so the same config works whether credentials are exported in the environment or stored in the tokens file (which is consulted automatically by `_discover_credentials()`).
|
|
44
|
+
|
|
45
|
+
**Status / diagnostics:**
|
|
46
|
+
```
|
|
47
|
+
cdh cloudbase status # probe + tool count
|
|
48
|
+
cdh mcp debug cloudbase # full config dump + auth state + live probe
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Manual config (alternative to auto-config):**
|
|
52
|
+
|
|
53
|
+
stdio:
|
|
54
|
+
```
|
|
55
|
+
cdh mcp add cloudbase --type stdio \
|
|
56
|
+
--command npx,-y,@cloudbase/cloudbase-mcp@latest \
|
|
57
|
+
--env TENCENTCLOUD_SECRETID={env:TENCENTCLOUD_SECRETID},TENCENTCLOUD_SECRETKEY={env:TENCENTCLOUD_SECRETKEY}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
HTTP (hosted mode):
|
|
61
|
+
```
|
|
62
|
+
cdh mcp add cloudbase --type http \
|
|
63
|
+
--url https://tcb-api.cloud.tencent.com/mcp/v1?env_id=xxx \
|
|
64
|
+
--headers X-TencentCloud-SecretId={env:TENCENTCLOUD_SECRETID}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**OAuth (for future remote servers):** `cdh mcp auth <name>` opens a flow and stores the token in `~/.onecode/mcp-auth.json`; `cdh mcp logout <name>` clears it.
|
|
68
|
+
|
|
69
|
+
### Agent Tools (MCP)
|
|
70
|
+
|
|
71
|
+
Once the MCP server is connected, use `MCPTool`:
|
|
72
|
+
|
|
73
|
+
| Operation | Tool |
|
|
74
|
+
|-----------|------|
|
|
75
|
+
| Deploy function | `MCPTool(server="cloudbase", tool="deploy_function", arguments={...})` |
|
|
76
|
+
| Invoke function | `MCPTool(server="cloudbase", tool="invoke_function", arguments={...})` |
|
|
77
|
+
| Query database | `MCPTool(server="cloudbase", tool="query_database", arguments={...})` |
|
|
78
|
+
| Deploy hosting | `MCPTool(server="cloudbase", tool="deploy_hosting", arguments={...})` |
|
|
79
|
+
| Upload file | `MCPTool(server="cloudbase", tool="upload_file", arguments={...})` |
|
|
80
|
+
| List resources | `MCPResources(server="cloudbase", action="list")` |
|
|
81
|
+
|
|
82
|
+
Refer to the MCP server's tool list at runtime for exact schemas and available tools.
|
|
83
|
+
|
|
84
|
+
## CLI (Alternative)
|
|
85
|
+
|
|
86
|
+
### Agent Tools (CLI)
|
|
87
|
+
|
|
88
|
+
| Operation | Tool |
|
|
89
|
+
|-----------|------|
|
|
90
|
+
| Execute tcb command | `exec_shell("tcb ...")` |
|
|
91
|
+
| Check deployment result | read from command output |
|
|
92
|
+
|
|
93
|
+
### Environment Management
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
tcb env list # List all environments
|
|
97
|
+
tcb env use <env-id> # Switch to target environment
|
|
98
|
+
tcb env create <env-name> # Create new environment
|
|
99
|
+
tcb env info # Show current environment info
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Functions (Serverless)
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
tcb fn list # List all functions
|
|
106
|
+
tcb fn deploy --name hello --dir ./functions # Deploy function
|
|
107
|
+
tcb fn invoke --name hello --params '{}' # Invoke function
|
|
108
|
+
tcb fn logs --name hello # View function logs
|
|
109
|
+
tcb fn detail --name hello # Function details
|
|
110
|
+
tcb fn delete --name hello # Delete function
|
|
111
|
+
tcb fn trigger --name hello --cron "0 0 * * *" --url "/cron" # Set timer trigger
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Database
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
tcb db list # List collections
|
|
118
|
+
tcb db query "SELECT * FROM users" # Query document database
|
|
119
|
+
tcb db migrate # Run database migrations
|
|
120
|
+
tcb db import --collection users --file ./data.json # Import data
|
|
121
|
+
tcb db export --collection users --file ./backup.json # Export data
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Hosting (Static Websites)
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
tcb hosting deploy --env <env-id> # Deploy static hosting
|
|
128
|
+
tcb hosting list # List hosting projects
|
|
129
|
+
tcb hosting detail # Hosting project details
|
|
130
|
+
tcb hosting delete # Delete hosting project
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Storage
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
tcb storage list # List files in storage
|
|
137
|
+
tcb storage upload --local ./file.txt --remote /path # Upload file
|
|
138
|
+
tcb storage download --local ./out.txt --remote /path # Download file
|
|
139
|
+
tcb storage delete --remote /path # Delete file
|
|
140
|
+
tcb storage url --remote /path # Get file URL
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Credential Configuration
|
|
144
|
+
|
|
145
|
+
| Variable | Description | Source |
|
|
146
|
+
|----------|-------------|--------|
|
|
147
|
+
| TENCENTCLOUD_SECRETID | Tencent Cloud secret ID | env / `cdh cloudbase init` / `~/.cloud-harness-tokens.json` |
|
|
148
|
+
| TENCENTCLOUD_SECRETKEY | Tencent Cloud secret key | env / `cdh cloudbase init` / `~/.cloud-harness-tokens.json` |
|
|
149
|
+
| TCB_SECRET_ID | Tencent Cloud secret ID (CLI) | env / tokens file |
|
|
150
|
+
| TCB_SECRET_KEY | Tencent Cloud secret key (CLI) | env / tokens file |
|
|
151
|
+
| TCB_ENV_ID | Default CloudBase environment ID | env |
|
|
152
|
+
|
|
153
|
+
## Agent Integration
|
|
154
|
+
|
|
155
|
+
When this skill is active, the agent can:
|
|
156
|
+
1. Auto-configure CloudBase MCP server on skill load (credentials permitting)
|
|
157
|
+
2. Use MCP server for structured cloud operations (preferred)
|
|
158
|
+
3. Fall back to `tcb` CLI via `exec_shell` when MCP is unavailable
|
|
159
|
+
4. Run `cdh cloudbase init` or `cdh cloudbase status` for setup and diagnostics
|
|
160
|
+
5. Deploy functions, manage databases, host static sites, and manage storage
|
|
161
|
+
6. Chain deployment commands for full-stack delivery
|
|
162
|
+
7. Read MCP server resources for environment status and configuration
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Git Skill
|
|
2
|
+
|
|
3
|
+
Provides Git version control and GitHub integration capabilities.
|
|
4
|
+
|
|
5
|
+
## Agent Tools
|
|
6
|
+
|
|
7
|
+
| Operation | Tool |
|
|
8
|
+
|-----------|------|
|
|
9
|
+
| Clone repo | `exec_shell("git clone ...")` |
|
|
10
|
+
| Commit | `exec_shell("git commit ...")` |
|
|
11
|
+
| Push/Pull | `exec_shell("git push/pull")` |
|
|
12
|
+
| Branch | `exec_shell("git checkout/branch ...")` |
|
|
13
|
+
| GitHub API | via `gh` command |
|
|
14
|
+
|
|
15
|
+
## Common Commands
|
|
16
|
+
|
|
17
|
+
### Basic Workflow
|
|
18
|
+
```bash
|
|
19
|
+
git init # Initialize repo
|
|
20
|
+
git clone <url> # Clone repository
|
|
21
|
+
git add . # Stage all changes
|
|
22
|
+
git commit -m "message" # Commit with message
|
|
23
|
+
git push # Push to remote
|
|
24
|
+
git pull # Pull from remote
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Branching
|
|
28
|
+
```bash
|
|
29
|
+
git branch # List branches
|
|
30
|
+
git branch -b new-branch # Create and switch
|
|
31
|
+
git checkout <branch> # Switch branch
|
|
32
|
+
git merge <branch> # Merge branch
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Inspection
|
|
36
|
+
```bash
|
|
37
|
+
git status # Show working tree status
|
|
38
|
+
git log --oneline -10 # Recent commits
|
|
39
|
+
git diff # Show changes
|
|
40
|
+
git diff --staged # Staged changes
|
|
41
|
+
git show <commit> # Commit details
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### GitHub CLI (`gh`)
|
|
45
|
+
```bash
|
|
46
|
+
gh repo clone owner/repo # Clone via gh
|
|
47
|
+
gh pr create # Create pull request
|
|
48
|
+
gh pr list # List PRs
|
|
49
|
+
gh issue list # List issues
|
|
50
|
+
gh repo view # View repo info
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Agent Integration
|
|
54
|
+
|
|
55
|
+
When this skill is active, the agent can:
|
|
56
|
+
1. Clone repos to local via `git clone`
|
|
57
|
+
2. Commit changes with structured messages
|
|
58
|
+
3. Create and manage branches
|
|
59
|
+
4. Interact with GitHub via `gh` CLI
|
|
60
|
+
5. Pull/push code during development
|
|
61
|
+
|
|
62
|
+
## GitHub Token
|
|
63
|
+
|
|
64
|
+
Store token at `~/.cloud-harness-tokens.json` or set `GITHUB_TOKEN` env var.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Shell Skill
|
|
2
|
+
|
|
3
|
+
Provides shell command execution capabilities and common operations.
|
|
4
|
+
|
|
5
|
+
## Agent Tools
|
|
6
|
+
|
|
7
|
+
| Operation | Command |
|
|
8
|
+
|-----------|---------|
|
|
9
|
+
| Execute command | `exec_shell("command")` |
|
|
10
|
+
| Check output | read from command result |
|
|
11
|
+
| Working directory | defaults to current workspace |
|
|
12
|
+
|
|
13
|
+
## Common Commands
|
|
14
|
+
|
|
15
|
+
### File Operations
|
|
16
|
+
```bash
|
|
17
|
+
ls -la # List files with details
|
|
18
|
+
mkdir -p path # Create directory
|
|
19
|
+
rm -rf path # Remove directory recursively
|
|
20
|
+
cp -r src dst # Copy recursively
|
|
21
|
+
mv src dst # Move/rename
|
|
22
|
+
find . -name "*.py" # Find files
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Git Operations (see git skill)
|
|
26
|
+
```bash
|
|
27
|
+
git status
|
|
28
|
+
git add .
|
|
29
|
+
git commit -m "message"
|
|
30
|
+
git push
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### npm/Node
|
|
34
|
+
```bash
|
|
35
|
+
npm install
|
|
36
|
+
npm run build
|
|
37
|
+
npm test
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Python
|
|
41
|
+
```bash
|
|
42
|
+
python3 -m pip install <package>
|
|
43
|
+
python3 script.py
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Safety
|
|
47
|
+
|
|
48
|
+
- Agent should confirm destructive commands (rm -rf, etc.) with user
|
|
49
|
+
- Shell whitelist configurable in cdh.config.yaml
|
|
50
|
+
- Interactive commands (vim, less, etc.) may not work in agent mode
|
|
51
|
+
|
|
52
|
+
## Agent Integration
|
|
53
|
+
|
|
54
|
+
When this skill is active, the agent can:
|
|
55
|
+
1. Execute commands via `exec_shell` tool
|
|
56
|
+
2. Parse command output for decision making
|
|
57
|
+
3. Chain commands with pipes
|
|
58
|
+
4. Run background tasks with `&`
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-creator
|
|
3
|
+
description: Guide for creating new agent skills with proper conventions
|
|
4
|
+
enabled: true
|
|
5
|
+
triggers:
|
|
6
|
+
- create skill
|
|
7
|
+
- new skill
|
|
8
|
+
- scaffold skill
|
|
9
|
+
- write skill
|
|
10
|
+
- make a skill
|
|
11
|
+
- build a skill
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Skill Creator
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
|
|
18
|
+
When the user asks to create, scaffold, or design a new skill for the agent.
|
|
19
|
+
|
|
20
|
+
## Skill Structure
|
|
21
|
+
|
|
22
|
+
A skill consists of two files in a directory under `~/.onecode/skills/<name>/`:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
skill-name/
|
|
26
|
+
├── SKILL.md # Instructions with YAML frontmatter
|
|
27
|
+
└── skill.yaml # Metadata config
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Naming Rules
|
|
31
|
+
|
|
32
|
+
- Lowercase alphanumeric with single hyphens: `^[a-z0-9]+(-[a-z0-9]+)*$`
|
|
33
|
+
- 1-64 characters
|
|
34
|
+
- Good: `my-skill`, `code-review`, `deploy-aws`
|
|
35
|
+
- Bad: `MySkill`, `my--skill`, `-skill`
|
|
36
|
+
|
|
37
|
+
## SKILL.md Format
|
|
38
|
+
|
|
39
|
+
Start with YAML frontmatter (between `---` markers), then markdown body:
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
---
|
|
43
|
+
name: my-skill
|
|
44
|
+
description: What this skill does
|
|
45
|
+
enabled: true
|
|
46
|
+
triggers:
|
|
47
|
+
- phrase that triggers
|
|
48
|
+
- another trigger
|
|
49
|
+
allowed_tools:
|
|
50
|
+
- Bash
|
|
51
|
+
- Read
|
|
52
|
+
phases:
|
|
53
|
+
- plan
|
|
54
|
+
- verify
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# My Skill
|
|
58
|
+
|
|
59
|
+
## Instructions
|
|
60
|
+
...
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Frontmatter Fields
|
|
64
|
+
|
|
65
|
+
| Field | Required | Description |
|
|
66
|
+
|-------|----------|-------------|
|
|
67
|
+
| name | yes | Skill name (matches dir name) |
|
|
68
|
+
| description | yes | 1-1024 chars |
|
|
69
|
+
| enabled | no | true/false (default true) |
|
|
70
|
+
| triggers | no | Phrases that trigger this skill |
|
|
71
|
+
| allowed_tools | no | Restrict which tools available |
|
|
72
|
+
| arguments | no | Args accepted from user |
|
|
73
|
+
| phases | no | Lifecycle phases this applies to |
|
|
74
|
+
| license | no | License identifier |
|
|
75
|
+
| compatibility | no | Version/engine compatibility |
|
|
76
|
+
|
|
77
|
+
## Creating a Skill
|
|
78
|
+
|
|
79
|
+
### Via CLI
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
cdh skill create my-skill --description "Description here"
|
|
83
|
+
cdh skill create my-skill -d "Short description"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Via API (Python)
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
from onecode.skills import create_skill_scaffold
|
|
90
|
+
create_skill_scaffold(skills_dir, name="my-skill", description="...")
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Manual
|
|
94
|
+
|
|
95
|
+
1. Create `~/.onecode/skills/<name>/` directory
|
|
96
|
+
2. Write `SKILL.md` with frontmatter + instructions
|
|
97
|
+
3. Write `skill.yaml` with metadata
|
|
98
|
+
4. Run `cdh skill list` to verify it shows up
|
|
99
|
+
|
|
100
|
+
## Best Practices
|
|
101
|
+
|
|
102
|
+
- Keep SKILL.md focused and actionable
|
|
103
|
+
- Use clear headings and bullet lists
|
|
104
|
+
- Include concrete examples and code snippets
|
|
105
|
+
- Specify triggers so the agent knows when to activate
|
|
106
|
+
- Test with `cdh skill enable/disable` toggle
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
name: skill-creator
|
|
2
|
+
description: >-
|
|
3
|
+
Meta-skill for creating new agent skills. Teaches the agent how to design,
|
|
4
|
+
scaffold, and write effective SKILL.md files with proper frontmatter,
|
|
5
|
+
conventions, and tool integration.
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
enabled: true
|
|
8
|
+
entry: SKILL.md
|