vibesop 4.2.0__tar.gz
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.
- vibesop-4.2.0/.claude/settings.local.json +15 -0
- vibesop-4.2.0/.github/CODEOWNERS +19 -0
- vibesop-4.2.0/.github/ISSUE_TEMPLATE/bug_report.md +58 -0
- vibesop-4.2.0/.github/ISSUE_TEMPLATE/feature_request.md +51 -0
- vibesop-4.2.0/.github/dependabot.yml +20 -0
- vibesop-4.2.0/.github/pull_request_template.md +78 -0
- vibesop-4.2.0/.github/workflows/ci.yml +125 -0
- vibesop-4.2.0/.github/workflows/release.yml +53 -0
- vibesop-4.2.0/.gitignore +84 -0
- vibesop-4.2.0/.pre-commit-config.yaml +30 -0
- vibesop-4.2.0/.python-version +1 -0
- vibesop-4.2.0/.vibe/experiment.yaml +27 -0
- vibesop-4.2.0/.vibe/skill-routing.yaml +59 -0
- vibesop-4.2.0/CHANGELOG.md +882 -0
- vibesop-4.2.0/CONTRIBUTING.md +42 -0
- vibesop-4.2.0/DELIVERY_SUMMARY.md +360 -0
- vibesop-4.2.0/LICENSE +21 -0
- vibesop-4.2.0/MANIFEST.in +26 -0
- vibesop-4.2.0/Makefile +46 -0
- vibesop-4.2.0/PKG-INFO +907 -0
- vibesop-4.2.0/PROJECT_CONTEXT.md +83 -0
- vibesop-4.2.0/README.md +845 -0
- vibesop-4.2.0/README.zh-CN.md +602 -0
- vibesop-4.2.0/README_UPDATE_SUMMARY.md +171 -0
- vibesop-4.2.0/core/policies/skill-selection.yaml +151 -0
- vibesop-4.2.0/core/policies/task-routing.yaml +456 -0
- vibesop-4.2.0/core/registry.yaml +699 -0
- vibesop-4.2.0/core/skills/autonomous-experiment/SKILL.md +121 -0
- vibesop-4.2.0/core/skills/experience-evolution/SKILL.md +97 -0
- vibesop-4.2.0/core/skills/instinct-learning/SKILL.md +318 -0
- vibesop-4.2.0/core/skills/omx/autopilot/SKILL.md +52 -0
- vibesop-4.2.0/core/skills/omx/deep-interview/SKILL.md +55 -0
- vibesop-4.2.0/core/skills/omx/ralph/SKILL.md +63 -0
- vibesop-4.2.0/core/skills/omx/ralplan/SKILL.md +57 -0
- vibesop-4.2.0/core/skills/omx/team/SKILL.md +64 -0
- vibesop-4.2.0/core/skills/omx/ultraqa/SKILL.md +52 -0
- vibesop-4.2.0/core/skills/omx/ultrawork/SKILL.md +55 -0
- vibesop-4.2.0/core/skills/planning-with-files/SKILL.md +116 -0
- vibesop-4.2.0/core/skills/riper-workflow/SKILL.md +129 -0
- vibesop-4.2.0/core/skills/session-end/SKILL.md +202 -0
- vibesop-4.2.0/core/skills/skill-craft/SKILL.md +455 -0
- vibesop-4.2.0/core/skills/systematic-debugging/SKILL.md +120 -0
- vibesop-4.2.0/core/skills/using-git-worktrees/SKILL.md +76 -0
- vibesop-4.2.0/core/skills/verification-before-completion/SKILL.md +79 -0
- vibesop-4.2.0/docs/CODE_OF_CONDUCT.md +41 -0
- vibesop-4.2.0/docs/EXTERNAL_SKILLS_EXAMPLES.md +457 -0
- vibesop-4.2.0/docs/EXTERNAL_SKILLS_GUIDE.md +557 -0
- vibesop-4.2.0/docs/INDEX.md +196 -0
- vibesop-4.2.0/docs/KIMI_CLI_SETUP.md +268 -0
- vibesop-4.2.0/docs/LLM_CONFIG_IMPLEMENTATION_SUMMARY.md +356 -0
- vibesop-4.2.0/docs/OMX_GUIDE.md +960 -0
- vibesop-4.2.0/docs/PHILOSOPHY.md +413 -0
- vibesop-4.2.0/docs/PROJECT_CONTEXT.md +50 -0
- vibesop-4.2.0/docs/PROJECT_STATUS.md +248 -0
- vibesop-4.2.0/docs/QUICKSTART_DEVELOPERS.md +306 -0
- vibesop-4.2.0/docs/QUICKSTART_SKILL_INSTALLATION.md +492 -0
- vibesop-4.2.0/docs/QUICKSTART_USERS.md +368 -0
- vibesop-4.2.0/docs/README.md +56 -0
- vibesop-4.2.0/docs/ROADMAP.md +231 -0
- vibesop-4.2.0/docs/SECURITY.md +33 -0
- vibesop-4.2.0/docs/SKILLS_GUIDE.md +1102 -0
- vibesop-4.2.0/docs/SKILL_ADD_INTEGRATION_COMPLETE.md +448 -0
- vibesop-4.2.0/docs/SKILL_LLM_CONFIG_GUIDE.md +448 -0
- vibesop-4.2.0/docs/SKILL_UNDERSTANDING_SUMMARY.md +474 -0
- vibesop-4.2.0/docs/architecture/ARCHITECTURE.md +418 -0
- vibesop-4.2.0/docs/architecture/README.md +110 -0
- vibesop-4.2.0/docs/architecture/cross-platform-support.md +394 -0
- vibesop-4.2.0/docs/architecture/external-integrations.md +240 -0
- vibesop-4.2.0/docs/architecture/overview.md +158 -0
- vibesop-4.2.0/docs/architecture/routing-system.md +281 -0
- vibesop-4.2.0/docs/architecture/three-layers.md +536 -0
- vibesop-4.2.0/docs/cold-start-guide.md +195 -0
- vibesop-4.2.0/docs/dev/CLI_OPTIMIZATION_PLAN.md +386 -0
- vibesop-4.2.0/docs/dev/CONTRIBUTING.md +171 -0
- vibesop-4.2.0/docs/dev/PRODUCTION_READINESS_REVIEW.md +384 -0
- vibesop-4.2.0/docs/dev/api-reference.md +328 -0
- vibesop-4.2.0/docs/dev/architecture-overview.md +67 -0
- vibesop-4.2.0/docs/dev/architecture.md +59 -0
- vibesop-4.2.0/docs/dev/hooks-guide.md +209 -0
- vibesop-4.2.0/docs/dev/releasing.md +42 -0
- vibesop-4.2.0/docs/dev/roadmap-index.md +11 -0
- vibesop-4.2.0/docs/dev/testing.md +74 -0
- vibesop-4.2.0/docs/proposals/skill-source-and-llm-config.md +683 -0
- vibesop-4.2.0/docs/proposals/skill-understanding-and-auto-config.md +988 -0
- vibesop-4.2.0/docs/proposals/smart-skill-installation.md +501 -0
- vibesop-4.2.0/docs/semantic/api.md +792 -0
- vibesop-4.2.0/docs/semantic/guide.md +579 -0
- vibesop-4.2.0/docs/skill-format-spec-v2.md +392 -0
- vibesop-4.2.0/docs/skill-format-spec.md +331 -0
- vibesop-4.2.0/docs/triggers/api.md +803 -0
- vibesop-4.2.0/docs/triggers/guide.md +753 -0
- vibesop-4.2.0/docs/triggers/patterns.md +1036 -0
- vibesop-4.2.0/docs/user/CLI_REFERENCE.md +799 -0
- vibesop-4.2.0/docs/user/getting-started.md +54 -0
- vibesop-4.2.0/docs/user/session-intelligent-routing.md +525 -0
- vibesop-4.2.0/docs/user/troubleshooting.md +247 -0
- vibesop-4.2.0/docs/user/workflows.md +54 -0
- vibesop-4.2.0/examples/USER_EXPERIENCE_COMPARISON.md +344 -0
- vibesop-4.2.0/examples/skill_llm_config_demo.py +332 -0
- vibesop-4.2.0/examples/skill_understanding_demo.py +232 -0
- vibesop-4.2.0/examples/smart-install-demo.sh +179 -0
- vibesop-4.2.0/memory/instincts.yaml +94 -0
- vibesop-4.2.0/memory/overview.md +123 -0
- vibesop-4.2.0/memory/project-knowledge.md +406 -0
- vibesop-4.2.0/memory/session.md +181 -0
- vibesop-4.2.0/pyproject.toml +236 -0
- vibesop-4.2.0/scripts/check_docs.py +85 -0
- vibesop-4.2.0/scripts/sync-core.sh +25 -0
- vibesop-4.2.0/scripts/sync-registry.py +44 -0
- vibesop-4.2.0/scripts/verify-release.sh +142 -0
- vibesop-4.2.0/scripts/verify-type-checking.md +197 -0
- vibesop-4.2.0/scripts/verify-type-checking.sh +54 -0
- vibesop-4.2.0/scripts/vibe-install +192 -0
- vibesop-4.2.0/setup.py +11 -0
- vibesop-4.2.0/src/vibesop/__init__.py +33 -0
- vibesop-4.2.0/src/vibesop/_version.py +29 -0
- vibesop-4.2.0/src/vibesop/adapters/__init__.py +51 -0
- vibesop-4.2.0/src/vibesop/adapters/base.py +327 -0
- vibesop-4.2.0/src/vibesop/adapters/claude_code.py +526 -0
- vibesop-4.2.0/src/vibesop/adapters/kimi_cli.py +588 -0
- vibesop-4.2.0/src/vibesop/adapters/models.py +354 -0
- vibesop-4.2.0/src/vibesop/adapters/opencode.py +569 -0
- vibesop-4.2.0/src/vibesop/adapters/protocol.py +158 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/CLAUDE.md.j2 +164 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/docs/safety.md.j2 +177 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/docs/skills.md.j2 +151 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/docs/task-routing.md.j2 +247 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/rules/behaviors.md.j2 +112 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/rules/memory-flush.md.j2 +55 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/rules/routing.md.j2 +136 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/rules/skill-triggers.md.j2 +133 -0
- vibesop-4.2.0/src/vibesop/adapters/templates/claude-code/skills/SKILL.md.j2 +76 -0
- vibesop-4.2.0/src/vibesop/builder/__init__.py +51 -0
- vibesop-4.2.0/src/vibesop/builder/doc_generators.py +194 -0
- vibesop-4.2.0/src/vibesop/builder/doc_models.py +53 -0
- vibesop-4.2.0/src/vibesop/builder/doc_renderer.py +349 -0
- vibesop-4.2.0/src/vibesop/builder/doc_templates.py +250 -0
- vibesop-4.2.0/src/vibesop/builder/dynamic_renderer.py +366 -0
- vibesop-4.2.0/src/vibesop/builder/manifest.py +493 -0
- vibesop-4.2.0/src/vibesop/builder/overlay.py +285 -0
- vibesop-4.2.0/src/vibesop/builder/renderer.py +354 -0
- vibesop-4.2.0/src/vibesop/cli/__init__.py +19 -0
- vibesop-4.2.0/src/vibesop/cli/commands/__init__.py +100 -0
- vibesop-4.2.0/src/vibesop/cli/commands/algorithms.py +33 -0
- vibesop-4.2.0/src/vibesop/cli/commands/analyze.py +432 -0
- vibesop-4.2.0/src/vibesop/cli/commands/build.py +250 -0
- vibesop-4.2.0/src/vibesop/cli/commands/config.py +57 -0
- vibesop-4.2.0/src/vibesop/cli/commands/execute_cmd.py +195 -0
- vibesop-4.2.0/src/vibesop/cli/commands/feedback_cmd.py +187 -0
- vibesop-4.2.0/src/vibesop/cli/commands/import_rules.py +162 -0
- vibesop-4.2.0/src/vibesop/cli/commands/init.py +330 -0
- vibesop-4.2.0/src/vibesop/cli/commands/inspect.py +173 -0
- vibesop-4.2.0/src/vibesop/cli/commands/install.py +245 -0
- vibesop-4.2.0/src/vibesop/cli/commands/onboard.py +125 -0
- vibesop-4.2.0/src/vibesop/cli/commands/quickstart.py +109 -0
- vibesop-4.2.0/src/vibesop/cli/commands/session_cmd.py +247 -0
- vibesop-4.2.0/src/vibesop/cli/commands/skill_add.py +670 -0
- vibesop-4.2.0/src/vibesop/cli/commands/skill_config.py +414 -0
- vibesop-4.2.0/src/vibesop/cli/commands/skill_craft.py +325 -0
- vibesop-4.2.0/src/vibesop/cli/commands/skills.py +64 -0
- vibesop-4.2.0/src/vibesop/cli/commands/skills_cmd.py +590 -0
- vibesop-4.2.0/src/vibesop/cli/commands/switch.py +185 -0
- vibesop-4.2.0/src/vibesop/cli/commands/targets.py +212 -0
- vibesop-4.2.0/src/vibesop/cli/commands/tools_cmd.py +222 -0
- vibesop-4.2.0/src/vibesop/cli/interactive.py +330 -0
- vibesop-4.2.0/src/vibesop/cli/main.py +375 -0
- vibesop-4.2.0/src/vibesop/cli/subcommands/__init__.py +133 -0
- vibesop-4.2.0/src/vibesop/constants.py +165 -0
- vibesop-4.2.0/src/vibesop/core/ai_enhancer.py +327 -0
- vibesop-4.2.0/src/vibesop/core/algorithms/__init__.py +26 -0
- vibesop-4.2.0/src/vibesop/core/algorithms/interview/__init__.py +15 -0
- vibesop-4.2.0/src/vibesop/core/algorithms/interview/ambiguity.py +103 -0
- vibesop-4.2.0/src/vibesop/core/algorithms/ralph/__init__.py +17 -0
- vibesop-4.2.0/src/vibesop/core/algorithms/ralph/deslop.py +96 -0
- vibesop-4.2.0/src/vibesop/core/algorithms/registry.py +63 -0
- vibesop-4.2.0/src/vibesop/core/checkpoint/__init__.py +26 -0
- vibesop-4.2.0/src/vibesop/core/checkpoint/base.py +137 -0
- vibesop-4.2.0/src/vibesop/core/checkpoint/manager.py +346 -0
- vibesop-4.2.0/src/vibesop/core/checkpoint/storage.py +280 -0
- vibesop-4.2.0/src/vibesop/core/config/__init__.py +47 -0
- vibesop-4.2.0/src/vibesop/core/config/manager.py +714 -0
- vibesop-4.2.0/src/vibesop/core/config/optimization_config.py +92 -0
- vibesop-4.2.0/src/vibesop/core/exceptions.py +190 -0
- vibesop-4.2.0/src/vibesop/core/feedback.py +369 -0
- vibesop-4.2.0/src/vibesop/core/instinct/__init__.py +15 -0
- vibesop-4.2.0/src/vibesop/core/instinct/learner.py +488 -0
- vibesop-4.2.0/src/vibesop/core/llm_config.py +435 -0
- vibesop-4.2.0/src/vibesop/core/matching/__init__.py +64 -0
- vibesop-4.2.0/src/vibesop/core/matching/base.py +226 -0
- vibesop-4.2.0/src/vibesop/core/matching/similarity.py +342 -0
- vibesop-4.2.0/src/vibesop/core/matching/strategies.py +700 -0
- vibesop-4.2.0/src/vibesop/core/matching/tfidf.py +351 -0
- vibesop-4.2.0/src/vibesop/core/matching/tokenizers.py +236 -0
- vibesop-4.2.0/src/vibesop/core/memory/__init__.py +28 -0
- vibesop-4.2.0/src/vibesop/core/memory/base.py +184 -0
- vibesop-4.2.0/src/vibesop/core/memory/manager.py +425 -0
- vibesop-4.2.0/src/vibesop/core/memory/storage.py +126 -0
- vibesop-4.2.0/src/vibesop/core/models.py +221 -0
- vibesop-4.2.0/src/vibesop/core/optimization/__init__.py +19 -0
- vibesop-4.2.0/src/vibesop/core/optimization/clustering.py +206 -0
- vibesop-4.2.0/src/vibesop/core/optimization/cold_start.py +259 -0
- vibesop-4.2.0/src/vibesop/core/optimization/preference_boost.py +118 -0
- vibesop-4.2.0/src/vibesop/core/optimization/prefilter.py +312 -0
- vibesop-4.2.0/src/vibesop/core/preference.py +354 -0
- vibesop-4.2.0/src/vibesop/core/routing/__init__.py +50 -0
- vibesop-4.2.0/src/vibesop/core/routing/cache.py +205 -0
- vibesop-4.2.0/src/vibesop/core/routing/circuit_breaker.py +149 -0
- vibesop-4.2.0/src/vibesop/core/routing/conflict.py +447 -0
- vibesop-4.2.0/src/vibesop/core/routing/explicit_layer.py +60 -0
- vibesop-4.2.0/src/vibesop/core/routing/layers.py +63 -0
- vibesop-4.2.0/src/vibesop/core/routing/matcher_pipeline.py +132 -0
- vibesop-4.2.0/src/vibesop/core/routing/optimization_service.py +156 -0
- vibesop-4.2.0/src/vibesop/core/routing/project_config.py +270 -0
- vibesop-4.2.0/src/vibesop/core/routing/scenario_layer.py +109 -0
- vibesop-4.2.0/src/vibesop/core/routing/stats_mixin.py +64 -0
- vibesop-4.2.0/src/vibesop/core/routing/triage_service.py +302 -0
- vibesop-4.2.0/src/vibesop/core/routing/unified.py +694 -0
- vibesop-4.2.0/src/vibesop/core/session_analyzer.py +525 -0
- vibesop-4.2.0/src/vibesop/core/sessions/__init__.py +55 -0
- vibesop-4.2.0/src/vibesop/core/sessions/context.py +426 -0
- vibesop-4.2.0/src/vibesop/core/sessions/tracker.py +390 -0
- vibesop-4.2.0/src/vibesop/core/skills/__init__.py +92 -0
- vibesop-4.2.0/src/vibesop/core/skills/base.py +299 -0
- vibesop-4.2.0/src/vibesop/core/skills/config_manager.py +360 -0
- vibesop-4.2.0/src/vibesop/core/skills/executor.py +439 -0
- vibesop-4.2.0/src/vibesop/core/skills/external_loader.py +427 -0
- vibesop-4.2.0/src/vibesop/core/skills/format_converter.py +300 -0
- vibesop-4.2.0/src/vibesop/core/skills/loader.py +477 -0
- vibesop-4.2.0/src/vibesop/core/skills/manager.py +390 -0
- vibesop-4.2.0/src/vibesop/core/skills/parser.py +270 -0
- vibesop-4.2.0/src/vibesop/core/skills/registry_sync.py +127 -0
- vibesop-4.2.0/src/vibesop/core/skills/storage.py +594 -0
- vibesop-4.2.0/src/vibesop/core/skills/understander.py +732 -0
- vibesop-4.2.0/src/vibesop/core/skills/workflow.py +1141 -0
- vibesop-4.2.0/src/vibesop/core/state/__init__.py +23 -0
- vibesop-4.2.0/src/vibesop/core/state/manager.py +99 -0
- vibesop-4.2.0/src/vibesop/core/state/migration.py +85 -0
- vibesop-4.2.0/src/vibesop/core/state/schema.py +69 -0
- vibesop-4.2.0/src/vibesop/core/types.py +74 -0
- vibesop-4.2.0/src/vibesop/hooks/__init__.py +46 -0
- vibesop-4.2.0/src/vibesop/hooks/base.py +265 -0
- vibesop-4.2.0/src/vibesop/hooks/installer.py +395 -0
- vibesop-4.2.0/src/vibesop/hooks/points.py +122 -0
- vibesop-4.2.0/src/vibesop/hooks/templates/post-session-start.sh.j2 +30 -0
- vibesop-4.2.0/src/vibesop/hooks/templates/pre-session-end.sh.j2 +49 -0
- vibesop-4.2.0/src/vibesop/hooks/templates/pre-tool-use.sh.j2 +75 -0
- vibesop-4.2.0/src/vibesop/installer/__init__.py +22 -0
- vibesop-4.2.0/src/vibesop/installer/analyzer.py +164 -0
- vibesop-4.2.0/src/vibesop/installer/init_support.py +252 -0
- vibesop-4.2.0/src/vibesop/installer/installer.py +368 -0
- vibesop-4.2.0/src/vibesop/installer/pack_installer.py +138 -0
- vibesop-4.2.0/src/vibesop/installer/planner.py +95 -0
- vibesop-4.2.0/src/vibesop/installer/quickstart_runner.py +408 -0
- vibesop-4.2.0/src/vibesop/installer/skill_installer.py +407 -0
- vibesop-4.2.0/src/vibesop/installer/transactional.py +411 -0
- vibesop-4.2.0/src/vibesop/integrations/__init__.py +43 -0
- vibesop-4.2.0/src/vibesop/integrations/detector.py +287 -0
- vibesop-4.2.0/src/vibesop/integrations/health_monitor.py +274 -0
- vibesop-4.2.0/src/vibesop/integrations/manager.py +257 -0
- vibesop-4.2.0/src/vibesop/integrations/recommender.py +421 -0
- vibesop-4.2.0/src/vibesop/integrations/verifier.py +468 -0
- vibesop-4.2.0/src/vibesop/llm/__init__.py +26 -0
- vibesop-4.2.0/src/vibesop/llm/anthropic.py +183 -0
- vibesop-4.2.0/src/vibesop/llm/base.py +186 -0
- vibesop-4.2.0/src/vibesop/llm/cost_tracker.py +201 -0
- vibesop-4.2.0/src/vibesop/llm/factory.py +113 -0
- vibesop-4.2.0/src/vibesop/llm/openai.py +195 -0
- vibesop-4.2.0/src/vibesop/llm/triage_prompts.py +104 -0
- vibesop-4.2.0/src/vibesop/security/__init__.py +72 -0
- vibesop-4.2.0/src/vibesop/security/exceptions.py +104 -0
- vibesop-4.2.0/src/vibesop/security/path_safety.py +278 -0
- vibesop-4.2.0/src/vibesop/security/rules.py +273 -0
- vibesop-4.2.0/src/vibesop/security/scanner.py +369 -0
- vibesop-4.2.0/src/vibesop/security/skill_auditor.py +517 -0
- vibesop-4.2.0/src/vibesop/utils/__init__.py +70 -0
- vibesop-4.2.0/src/vibesop/utils/atomic_writer.py +236 -0
- vibesop-4.2.0/src/vibesop/utils/external_tools.py +422 -0
- vibesop-4.2.0/src/vibesop/utils/helpers.py +224 -0
- vibesop-4.2.0/src/vibesop/utils/marker_files.py +512 -0
- vibesop-4.2.0/tests/adapters/__init__.py +1 -0
- vibesop-4.2.0/tests/adapters/test_base.py +306 -0
- vibesop-4.2.0/tests/adapters/test_claude_code.py +51 -0
- vibesop-4.2.0/tests/adapters/test_kimi_cli.py +357 -0
- vibesop-4.2.0/tests/adapters/test_models.py +375 -0
- vibesop-4.2.0/tests/adapters/test_opencode.py +340 -0
- vibesop-4.2.0/tests/benchmark/test_routing_performance.py +56 -0
- vibesop-4.2.0/tests/benchmarks/test_routing_layers.py +209 -0
- vibesop-4.2.0/tests/builder/__init__.py +1 -0
- vibesop-4.2.0/tests/builder/test_doc_models.py +81 -0
- vibesop-4.2.0/tests/builder/test_doc_renderer.py +119 -0
- vibesop-4.2.0/tests/builder/test_doc_templates.py +131 -0
- vibesop-4.2.0/tests/builder/test_dynamic_renderer.py +45 -0
- vibesop-4.2.0/tests/builder/test_manifest.py +309 -0
- vibesop-4.2.0/tests/builder/test_renderer.py +247 -0
- vibesop-4.2.0/tests/cli/conftest.py +15 -0
- vibesop-4.2.0/tests/cli/test_algorithms_command.py +43 -0
- vibesop-4.2.0/tests/cli/test_analyze_command.py +172 -0
- vibesop-4.2.0/tests/cli/test_analyze_commands.py +233 -0
- vibesop-4.2.0/tests/cli/test_build_command.py +238 -0
- vibesop-4.2.0/tests/cli/test_config_command.py +26 -0
- vibesop-4.2.0/tests/cli/test_doctor.py +27 -0
- vibesop-4.2.0/tests/cli/test_import_rules_command.py +70 -0
- vibesop-4.2.0/tests/cli/test_init_command.py +181 -0
- vibesop-4.2.0/tests/cli/test_inspect_command.py +146 -0
- vibesop-4.2.0/tests/cli/test_install_command.py +190 -0
- vibesop-4.2.0/tests/cli/test_onboard_command.py +57 -0
- vibesop-4.2.0/tests/cli/test_phase3_commands.py +88 -0
- vibesop-4.2.0/tests/cli/test_phase4_commands.py +70 -0
- vibesop-4.2.0/tests/cli/test_quickstart_command.py +80 -0
- vibesop-4.2.0/tests/cli/test_skill_add_cmd.py +474 -0
- vibesop-4.2.0/tests/cli/test_skill_craft.py +85 -0
- vibesop-4.2.0/tests/cli/test_skills.py +99 -0
- vibesop-4.2.0/tests/cli/test_skills_cmd.py +283 -0
- vibesop-4.2.0/tests/cli/test_switch_command.py +131 -0
- vibesop-4.2.0/tests/cli/test_targets_command.py +40 -0
- vibesop-4.2.0/tests/cli/test_tools_command.py +154 -0
- vibesop-4.2.0/tests/conftest.py +86 -0
- vibesop-4.2.0/tests/core/algorithms/test_registry.py +34 -0
- vibesop-4.2.0/tests/core/routing/test_ai_triage_production.py +186 -0
- vibesop-4.2.0/tests/core/routing/test_circuit_breaker.py +110 -0
- vibesop-4.2.0/tests/core/routing/test_conflict_resolution.py +80 -0
- vibesop-4.2.0/tests/core/routing/test_matcher_pipeline.py +233 -0
- vibesop-4.2.0/tests/core/sessions/test_context.py +262 -0
- vibesop-4.2.0/tests/core/sessions/test_tracker.py +210 -0
- vibesop-4.2.0/tests/core/skills/test_executor.py +340 -0
- vibesop-4.2.0/tests/core/skills/test_format_converter.py +185 -0
- vibesop-4.2.0/tests/core/skills/test_getattr_security.py +71 -0
- vibesop-4.2.0/tests/core/skills/test_manager_integration.py +184 -0
- vibesop-4.2.0/tests/core/skills/test_manager_simple.py +121 -0
- vibesop-4.2.0/tests/core/skills/test_parser_enhanced.py +355 -0
- vibesop-4.2.0/tests/core/skills/test_understander.py +211 -0
- vibesop-4.2.0/tests/core/skills/test_workflow.py +497 -0
- vibesop-4.2.0/tests/core/skills/test_workflow_engine_enhanced.py +500 -0
- vibesop-4.2.0/tests/core/skills/test_workflow_safe_eval.py +235 -0
- vibesop-4.2.0/tests/core/test_ai_enhancer.py +419 -0
- vibesop-4.2.0/tests/core/test_ai_triage_prefilter.py +32 -0
- vibesop-4.2.0/tests/core/test_cold_start.py +103 -0
- vibesop-4.2.0/tests/core/test_conflict_resolver.py +138 -0
- vibesop-4.2.0/tests/core/test_exceptions.py +123 -0
- vibesop-4.2.0/tests/core/test_instinct_learner.py +189 -0
- vibesop-4.2.0/tests/core/test_session_analyzer.py +440 -0
- vibesop-4.2.0/tests/e2e/__init__.py +5 -0
- vibesop-4.2.0/tests/e2e/conftest.py +53 -0
- vibesop-4.2.0/tests/e2e/test_full_workflow.py +279 -0
- vibesop-4.2.0/tests/hooks/__init__.py +1 -0
- vibesop-4.2.0/tests/hooks/test_base.py +49 -0
- vibesop-4.2.0/tests/hooks/test_hook_installer.py +260 -0
- vibesop-4.2.0/tests/hooks/test_hooks.py +222 -0
- vibesop-4.2.0/tests/installer/test_all_installers.py +125 -0
- vibesop-4.2.0/tests/installer/test_analyzer.py +109 -0
- vibesop-4.2.0/tests/installer/test_init_support.py +30 -0
- vibesop-4.2.0/tests/installer/test_installer.py +267 -0
- vibesop-4.2.0/tests/installer/test_pack_installer.py +155 -0
- vibesop-4.2.0/tests/installer/test_planner.py +95 -0
- vibesop-4.2.0/tests/installer/test_quickstart.py +171 -0
- vibesop-4.2.0/tests/installer/test_skill_installer.py +255 -0
- vibesop-4.2.0/tests/installer/test_transactional.py +445 -0
- vibesop-4.2.0/tests/integration/test_auto_learning_workflow.py +467 -0
- vibesop-4.2.0/tests/integration/test_complete_skill_add_flow.py +306 -0
- vibesop-4.2.0/tests/integration/test_external_skill_execution.py +177 -0
- vibesop-4.2.0/tests/integration/test_external_skills_real.py +217 -0
- vibesop-4.2.0/tests/integration/test_health_monitor.py +63 -0
- vibesop-4.2.0/tests/integration/test_skill_add_flow.py +204 -0
- vibesop-4.2.0/tests/integration/test_third_party_skill_pack.py +121 -0
- vibesop-4.2.0/tests/integration/test_unified_system.py +296 -0
- vibesop-4.2.0/tests/integrations/test_detector.py +21 -0
- vibesop-4.2.0/tests/integrations/test_integrations.py +337 -0
- vibesop-4.2.0/tests/llm/__init__.py +1 -0
- vibesop-4.2.0/tests/llm/test_anthropic_provider.py +85 -0
- vibesop-4.2.0/tests/llm/test_llm_factory.py +91 -0
- vibesop-4.2.0/tests/llm/test_openai_provider.py +91 -0
- vibesop-4.2.0/tests/performance/__init__.py +7 -0
- vibesop-4.2.0/tests/performance/benchmarks/baseline.json +29 -0
- vibesop-4.2.0/tests/performance/test_benchmarks.py +136 -0
- vibesop-4.2.0/tests/performance/test_performance.py +280 -0
- vibesop-4.2.0/tests/security/__init__.py +1 -0
- vibesop-4.2.0/tests/security/test_path_safety.py +401 -0
- vibesop-4.2.0/tests/security/test_scanner.py +426 -0
- vibesop-4.2.0/tests/test_ai_triage.py +196 -0
- vibesop-4.2.0/tests/test_atomic_writer.py +189 -0
- vibesop-4.2.0/tests/test_cache.py +410 -0
- vibesop-4.2.0/tests/test_cli.py +214 -0
- vibesop-4.2.0/tests/test_config.py +81 -0
- vibesop-4.2.0/tests/test_config_optimization.py +169 -0
- vibesop-4.2.0/tests/test_doc_renderer.py +377 -0
- vibesop-4.2.0/tests/test_dynamic_renderer.py +304 -0
- vibesop-4.2.0/tests/test_explicit_layer.py +67 -0
- vibesop-4.2.0/tests/test_external_tools.py +205 -0
- vibesop-4.2.0/tests/test_interactive.py +188 -0
- vibesop-4.2.0/tests/test_interview_ambiguity.py +63 -0
- vibesop-4.2.0/tests/test_llm.py +377 -0
- vibesop-4.2.0/tests/test_marker_files.py +388 -0
- vibesop-4.2.0/tests/test_memory.py +585 -0
- vibesop-4.2.0/tests/test_models.py +205 -0
- vibesop-4.2.0/tests/test_optimization_clustering.py +114 -0
- vibesop-4.2.0/tests/test_optimization_effectiveness.py +366 -0
- vibesop-4.2.0/tests/test_optimization_performance.py +89 -0
- vibesop-4.2.0/tests/test_optimization_preference_boost.py +79 -0
- vibesop-4.2.0/tests/test_optimization_prefilter.py +156 -0
- vibesop-4.2.0/tests/test_preference.py +231 -0
- vibesop-4.2.0/tests/test_ralph_deslop.py +58 -0
- vibesop-4.2.0/tests/test_recommender.py +329 -0
- vibesop-4.2.0/tests/test_router_layers.py +93 -0
- vibesop-4.2.0/tests/test_routing_e2e.py +429 -0
- vibesop-4.2.0/tests/test_routing_integration.py +61 -0
- vibesop-4.2.0/tests/test_routing_optimization_integration.py +43 -0
- vibesop-4.2.0/tests/test_scenario_layer.py +123 -0
- vibesop-4.2.0/tests/test_skill_manager.py +428 -0
- vibesop-4.2.0/tests/test_state_manager.py +102 -0
- vibesop-4.2.0/tests/test_state_migration.py +93 -0
- vibesop-4.2.0/tests/test_transactional_installer.py +356 -0
- vibesop-4.2.0/tests/test_utils_helpers.py +233 -0
- vibesop-4.2.0/tests/test_verifier.py +353 -0
- vibesop-4.2.0/tests/unit/core/routing/test_project_config.py +183 -0
- vibesop-4.2.0/tests/unit/matching/test_matchers.py +252 -0
- vibesop-4.2.0/tests/unit/test_skill_config_manager.py +311 -0
- vibesop-4.2.0/tests/unit/test_understander_integration.py +144 -0
- vibesop-4.2.0/tests/utils/test_helpers.py +162 -0
- vibesop-4.2.0/uv.lock +2050 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(find .:*)",
|
|
5
|
+
"Bash(cat .vibe/skills/*/SKILL.md)",
|
|
6
|
+
"Bash(uv run:*)",
|
|
7
|
+
"Bash(vibe route:*)",
|
|
8
|
+
"Bash(vibe --help)",
|
|
9
|
+
"Bash(vibe install:*)",
|
|
10
|
+
"Bash(python:*)",
|
|
11
|
+
"Bash(ls -lh src/vibesop/cli/commands/skill*.py)",
|
|
12
|
+
"Bash(grep -r \"vibe skill add\" docs/*.md examples/*.md)"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# CODEOWNERS for VibeSOP
|
|
2
|
+
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
|
|
3
|
+
|
|
4
|
+
* @nehcuh
|
|
5
|
+
|
|
6
|
+
# Core modules
|
|
7
|
+
/src/vibesop/routing/ @nehcuh
|
|
8
|
+
/src/vibesop/workflow/ @nehcuh
|
|
9
|
+
/src/vibesop/skills/ @nehcuh
|
|
10
|
+
/src/vibesop/core/ @nehcuh
|
|
11
|
+
|
|
12
|
+
# CLI
|
|
13
|
+
/src/vibesop/cli/ @nehcuh
|
|
14
|
+
|
|
15
|
+
# Tests
|
|
16
|
+
/tests/ @nehcuh
|
|
17
|
+
|
|
18
|
+
# Documentation
|
|
19
|
+
/docs/ @nehcuh
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Report a problem with VibeSOP
|
|
4
|
+
title: '[BUG] '
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Bug Description
|
|
10
|
+
|
|
11
|
+
A clear and concise description of what the bug is.
|
|
12
|
+
|
|
13
|
+
## Steps to Reproduce
|
|
14
|
+
|
|
15
|
+
Steps to reproduce the behavior:
|
|
16
|
+
|
|
17
|
+
1. Run command: `vibe ...`
|
|
18
|
+
2. Input: `...`
|
|
19
|
+
3. Observe: `...`
|
|
20
|
+
|
|
21
|
+
## Expected Behavior
|
|
22
|
+
|
|
23
|
+
What you expected to happen.
|
|
24
|
+
|
|
25
|
+
## Actual Behavior
|
|
26
|
+
|
|
27
|
+
What actually happened. Include error messages, stack traces, etc.
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
# Paste code or error messages here
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Environment
|
|
34
|
+
|
|
35
|
+
- **OS**: [e.g. Ubuntu 22.04, macOS 14, Windows 11]
|
|
36
|
+
- **Python Version**: [e.g. 3.12.0]
|
|
37
|
+
- **VibeSOP Version**: [e.g. 1.0.0]
|
|
38
|
+
- **Installation Method**: [e.g. pip install, from source]
|
|
39
|
+
|
|
40
|
+
## Logs
|
|
41
|
+
|
|
42
|
+
Please paste relevant logs here:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
# Paste logs here
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Output/Logs
|
|
49
|
+
|
|
50
|
+
If applicable, add CLI output or logs to help explain your problem.
|
|
51
|
+
|
|
52
|
+
## Additional Context
|
|
53
|
+
|
|
54
|
+
Add any other context about the problem here.
|
|
55
|
+
|
|
56
|
+
## Possible Solution
|
|
57
|
+
|
|
58
|
+
If you have ideas on how to fix this, please describe them here.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an idea for VibeSOP
|
|
4
|
+
title: '[FEATURE] '
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Feature Description
|
|
10
|
+
|
|
11
|
+
A clear and concise description of the feature you'd like to see added to VibeSOP.
|
|
12
|
+
|
|
13
|
+
## Problem Statement
|
|
14
|
+
|
|
15
|
+
What problem does this feature solve? Why is it needed?
|
|
16
|
+
|
|
17
|
+
## Proposed Solution
|
|
18
|
+
|
|
19
|
+
Describe the solution you'd like to see implemented.
|
|
20
|
+
|
|
21
|
+
## Alternatives Considered
|
|
22
|
+
|
|
23
|
+
Describe any alternative solutions or features you've considered.
|
|
24
|
+
|
|
25
|
+
## Additional Context
|
|
26
|
+
|
|
27
|
+
Add any other context, mockups, or examples about the feature request here.
|
|
28
|
+
|
|
29
|
+
## Priority
|
|
30
|
+
|
|
31
|
+
How important is this feature to you?
|
|
32
|
+
|
|
33
|
+
- [ ] Critical
|
|
34
|
+
- [ ] High
|
|
35
|
+
- [ ] Medium
|
|
36
|
+
- [ ] Low
|
|
37
|
+
- [ ] Nice to have
|
|
38
|
+
|
|
39
|
+
## Implementation Ideas
|
|
40
|
+
|
|
41
|
+
If you have ideas on how this could be implemented, please describe them here.
|
|
42
|
+
|
|
43
|
+
## Willing to Contribute
|
|
44
|
+
|
|
45
|
+
- [ ] Yes, I'd like to implement this feature
|
|
46
|
+
- [ ] No, I don't have time to implement it
|
|
47
|
+
- [ ] Maybe, I'd need guidance
|
|
48
|
+
|
|
49
|
+
## Additional Notes
|
|
50
|
+
|
|
51
|
+
Any other information you'd like to share.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: "pip"
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: "weekly"
|
|
7
|
+
open-pull-requests-limit: 10
|
|
8
|
+
commit-message:
|
|
9
|
+
prefix: "deps"
|
|
10
|
+
labels:
|
|
11
|
+
- "dependencies"
|
|
12
|
+
|
|
13
|
+
- package-ecosystem: "github-actions"
|
|
14
|
+
directory: "/"
|
|
15
|
+
schedule:
|
|
16
|
+
interval: "weekly"
|
|
17
|
+
commit-message:
|
|
18
|
+
prefix: "ci"
|
|
19
|
+
labels:
|
|
20
|
+
- "ci"
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
Briefly describe the changes made in this pull request.
|
|
4
|
+
|
|
5
|
+
## Type of Change
|
|
6
|
+
|
|
7
|
+
- [ ] Bug fix (non-breaking change which fixes an issue)
|
|
8
|
+
- [ ] New feature (non-breaking change which adds functionality)
|
|
9
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
10
|
+
- [ ] Documentation update (changes to documentation only)
|
|
11
|
+
- [ ] Refactoring (code improvement without changing functionality)
|
|
12
|
+
- [ ] Performance improvement (code optimization)
|
|
13
|
+
- [ ] Tests (adding or updating tests)
|
|
14
|
+
|
|
15
|
+
## Related Issues
|
|
16
|
+
|
|
17
|
+
Fixes #(issue number)
|
|
18
|
+
Related to #(issue number)
|
|
19
|
+
Closes #(issue number)
|
|
20
|
+
|
|
21
|
+
## Changes Made
|
|
22
|
+
|
|
23
|
+
List the main changes made in this PR:
|
|
24
|
+
|
|
25
|
+
- Change 1
|
|
26
|
+
- Change 2
|
|
27
|
+
- Change 3
|
|
28
|
+
|
|
29
|
+
## Testing
|
|
30
|
+
|
|
31
|
+
Describe the tests you ran and how you verified your changes:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Commands run to test
|
|
35
|
+
pytest tests/ -v
|
|
36
|
+
ruff check src/
|
|
37
|
+
pyright src/
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
- [ ] Tests added/updated
|
|
41
|
+
- [ ] All tests pass
|
|
42
|
+
- [ ] Manual testing completed
|
|
43
|
+
|
|
44
|
+
## Checklist
|
|
45
|
+
|
|
46
|
+
- [ ] My code follows the style guidelines of this project
|
|
47
|
+
- [ ] I have performed a self-review of my code
|
|
48
|
+
- [ ] I have commented my code, particularly in hard-to-understand areas
|
|
49
|
+
- [ ] I have made corresponding changes to the documentation
|
|
50
|
+
- [ ] My changes generate no new warnings
|
|
51
|
+
- [ ] I have added tests that prove my fix is effective or that my feature works
|
|
52
|
+
- [ ] New and existing tests pass locally with my changes
|
|
53
|
+
- [ ] I have updated the CHANGELOG.md if applicable
|
|
54
|
+
- [ ] I have updated type hints for all modified functions
|
|
55
|
+
|
|
56
|
+
## Breaking Changes
|
|
57
|
+
|
|
58
|
+
If this PR introduces breaking changes, please describe them here:
|
|
59
|
+
|
|
60
|
+
1. Breaking change 1
|
|
61
|
+
2. Breaking change 2
|
|
62
|
+
|
|
63
|
+
Include migration instructions if applicable.
|
|
64
|
+
|
|
65
|
+
## Screenshots (if applicable)
|
|
66
|
+
|
|
67
|
+
If your changes affect the UI or configuration, add screenshots to help verify your changes.
|
|
68
|
+
|
|
69
|
+
## Additional Notes
|
|
70
|
+
|
|
71
|
+
Any additional information or context about this PR.
|
|
72
|
+
|
|
73
|
+
## Reviewer Notes
|
|
74
|
+
|
|
75
|
+
Any specific areas you'd like reviewers to focus on:
|
|
76
|
+
|
|
77
|
+
- Area 1
|
|
78
|
+
- Area 2
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
UV_VERSION: "0.5.0"
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
lint:
|
|
14
|
+
name: Lint
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Install uv
|
|
20
|
+
uses: astral-sh/setup-uv@v4
|
|
21
|
+
with:
|
|
22
|
+
version: ${{ env.UV_VERSION }}
|
|
23
|
+
|
|
24
|
+
- name: Set up Python
|
|
25
|
+
run: uv python install 3.12
|
|
26
|
+
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: uv sync --extra dev
|
|
29
|
+
|
|
30
|
+
- name: Run ruff lint
|
|
31
|
+
run: uv run ruff check .
|
|
32
|
+
|
|
33
|
+
- name: Run ruff format check
|
|
34
|
+
run: uv run ruff format --check .
|
|
35
|
+
|
|
36
|
+
type-check:
|
|
37
|
+
name: Type Check
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
steps:
|
|
40
|
+
- uses: actions/checkout@v4
|
|
41
|
+
|
|
42
|
+
- name: Install uv
|
|
43
|
+
uses: astral-sh/setup-uv@v4
|
|
44
|
+
with:
|
|
45
|
+
version: ${{ env.UV_VERSION }}
|
|
46
|
+
|
|
47
|
+
- name: Set up Python
|
|
48
|
+
run: uv python install 3.12
|
|
49
|
+
|
|
50
|
+
- name: Install dependencies
|
|
51
|
+
run: uv sync --extra dev
|
|
52
|
+
|
|
53
|
+
- name: Run basedpyright
|
|
54
|
+
run: uv run basedpyright
|
|
55
|
+
|
|
56
|
+
test:
|
|
57
|
+
name: Test (Python ${{ matrix.python-version }})
|
|
58
|
+
runs-on: ubuntu-latest
|
|
59
|
+
strategy:
|
|
60
|
+
fail-fast: false
|
|
61
|
+
matrix:
|
|
62
|
+
python-version: ["3.12", "3.13"]
|
|
63
|
+
steps:
|
|
64
|
+
- uses: actions/checkout@v4
|
|
65
|
+
|
|
66
|
+
- name: Install uv
|
|
67
|
+
uses: astral-sh/setup-uv@v4
|
|
68
|
+
with:
|
|
69
|
+
version: ${{ env.UV_VERSION }}
|
|
70
|
+
|
|
71
|
+
- name: Set up Python
|
|
72
|
+
run: uv python install ${{ matrix.python-version }}
|
|
73
|
+
|
|
74
|
+
- name: Install dependencies
|
|
75
|
+
run: uv sync --extra dev
|
|
76
|
+
|
|
77
|
+
- name: Run tests with coverage
|
|
78
|
+
run: uv run pytest --cov=src/vibesop --cov-report=xml --cov-report=term-missing --cov-fail-under=80
|
|
79
|
+
|
|
80
|
+
- name: Upload coverage to Codecov
|
|
81
|
+
uses: codecov/codecov-action@v4
|
|
82
|
+
with:
|
|
83
|
+
file: ./coverage.xml
|
|
84
|
+
fail_ci_if_error: false
|
|
85
|
+
|
|
86
|
+
security:
|
|
87
|
+
name: Security Scan
|
|
88
|
+
runs-on: ubuntu-latest
|
|
89
|
+
steps:
|
|
90
|
+
- uses: actions/checkout@v4
|
|
91
|
+
|
|
92
|
+
- name: Install uv
|
|
93
|
+
uses: astral-sh/setup-uv@v4
|
|
94
|
+
|
|
95
|
+
- name: Set up Python
|
|
96
|
+
run: uv python install 3.12
|
|
97
|
+
|
|
98
|
+
- name: Install dependencies
|
|
99
|
+
run: uv sync --extra dev
|
|
100
|
+
|
|
101
|
+
- name: Install pip-audit
|
|
102
|
+
run: uv pip install pip-audit
|
|
103
|
+
|
|
104
|
+
- name: Run pip-audit
|
|
105
|
+
run: uv run pip-audit
|
|
106
|
+
|
|
107
|
+
benchmark:
|
|
108
|
+
name: Performance Benchmark
|
|
109
|
+
runs-on: ubuntu-latest
|
|
110
|
+
steps:
|
|
111
|
+
- uses: actions/checkout@v4
|
|
112
|
+
|
|
113
|
+
- name: Install uv
|
|
114
|
+
uses: astral-sh/setup-uv@v4
|
|
115
|
+
with:
|
|
116
|
+
version: ${{ env.UV_VERSION }}
|
|
117
|
+
|
|
118
|
+
- name: Set up Python
|
|
119
|
+
run: uv python install 3.12
|
|
120
|
+
|
|
121
|
+
- name: Install dependencies
|
|
122
|
+
run: uv sync --extra dev
|
|
123
|
+
|
|
124
|
+
- name: Run routing benchmarks
|
|
125
|
+
run: uv run pytest -m benchmark -v
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
id-token: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
# Gate: Run CI checks before release
|
|
14
|
+
ci-gate:
|
|
15
|
+
name: CI Gate
|
|
16
|
+
uses: ./.github/workflows/ci.yml
|
|
17
|
+
|
|
18
|
+
release:
|
|
19
|
+
name: Publish to PyPI
|
|
20
|
+
needs: ci-gate
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
with:
|
|
25
|
+
fetch-depth: 0
|
|
26
|
+
|
|
27
|
+
- name: Install uv
|
|
28
|
+
uses: astral-sh/setup-uv@v4
|
|
29
|
+
|
|
30
|
+
- name: Set up Python
|
|
31
|
+
run: uv python install 3.12
|
|
32
|
+
|
|
33
|
+
- name: Verify version matches tag
|
|
34
|
+
run: |
|
|
35
|
+
TAG_VERSION=${GITHUB_REF#refs/tags/v}
|
|
36
|
+
PYPROJECT_VERSION=$(uv run python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")
|
|
37
|
+
if [ "$TAG_VERSION" != "$PYPROJECT_VERSION" ]; then
|
|
38
|
+
echo "Version mismatch: tag=$TAG_VERSION pyproject=$PYPROJECT_VERSION"
|
|
39
|
+
exit 1
|
|
40
|
+
fi
|
|
41
|
+
echo "Version verified: $TAG_VERSION"
|
|
42
|
+
|
|
43
|
+
- name: Build package
|
|
44
|
+
run: uv build
|
|
45
|
+
|
|
46
|
+
- name: Publish to PyPI
|
|
47
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
48
|
+
|
|
49
|
+
- name: Create GitHub Release
|
|
50
|
+
uses: softprops/action-gh-release@v2
|
|
51
|
+
with:
|
|
52
|
+
generate_release_notes: true
|
|
53
|
+
files: dist/*
|
vibesop-4.2.0/.gitignore
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
build/
|
|
8
|
+
develop-eggs/
|
|
9
|
+
dist/
|
|
10
|
+
downloads/
|
|
11
|
+
eggs/
|
|
12
|
+
.eggs/
|
|
13
|
+
lib/
|
|
14
|
+
lib64/
|
|
15
|
+
parts/
|
|
16
|
+
sdist/
|
|
17
|
+
var/
|
|
18
|
+
wheels/
|
|
19
|
+
*.egg-info/
|
|
20
|
+
.installed.cfg
|
|
21
|
+
*.egg
|
|
22
|
+
|
|
23
|
+
# Virtual environments
|
|
24
|
+
.env
|
|
25
|
+
.venv
|
|
26
|
+
env/
|
|
27
|
+
venv/
|
|
28
|
+
ENV/
|
|
29
|
+
env.bak/
|
|
30
|
+
venv.bak/
|
|
31
|
+
|
|
32
|
+
# uv
|
|
33
|
+
.uv/
|
|
34
|
+
|
|
35
|
+
# IDE
|
|
36
|
+
.vscode/
|
|
37
|
+
.idea/
|
|
38
|
+
*.swp
|
|
39
|
+
*.swo
|
|
40
|
+
*~
|
|
41
|
+
.DS_Store
|
|
42
|
+
|
|
43
|
+
# Testing
|
|
44
|
+
.pytest_cache/
|
|
45
|
+
.coverage
|
|
46
|
+
.coverage.*
|
|
47
|
+
coverage.xml
|
|
48
|
+
htmlcov/
|
|
49
|
+
*.cover
|
|
50
|
+
.hypothesis/
|
|
51
|
+
|
|
52
|
+
# VibeSOP state
|
|
53
|
+
.vibe/state/
|
|
54
|
+
.vibe/sessions/
|
|
55
|
+
.vibe/preferences.json
|
|
56
|
+
.vibe/skills/
|
|
57
|
+
.vibe/instincts/
|
|
58
|
+
.vibe/instincts.jsonl
|
|
59
|
+
.vibe/snapshots/
|
|
60
|
+
.vibe/cache/
|
|
61
|
+
.vibe/dist/
|
|
62
|
+
.vibe/experiments/
|
|
63
|
+
.vibe/memory/
|
|
64
|
+
.vibe/checkpoints/
|
|
65
|
+
.vibe/workflows/
|
|
66
|
+
|
|
67
|
+
# Type checking
|
|
68
|
+
.mypy_cache/
|
|
69
|
+
.pyright_cache/
|
|
70
|
+
ruff.toml
|
|
71
|
+
.pytype/
|
|
72
|
+
|
|
73
|
+
# Logs
|
|
74
|
+
*.log
|
|
75
|
+
|
|
76
|
+
# Distribution
|
|
77
|
+
*.whl
|
|
78
|
+
*.tar.gz
|
|
79
|
+
.alma-snapshots
|
|
80
|
+
.vibe/.vibe/
|
|
81
|
+
|
|
82
|
+
# Runtime generated directories
|
|
83
|
+
.vibe/core/
|
|
84
|
+
.vibe/rules/
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Pre-commit hooks for Python development
|
|
2
|
+
|
|
3
|
+
repos:
|
|
4
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
5
|
+
rev: v0.9.0
|
|
6
|
+
hooks:
|
|
7
|
+
- id: ruff
|
|
8
|
+
args: [--fix, --exit-non-zero-on-fix]
|
|
9
|
+
- id: ruff-format
|
|
10
|
+
|
|
11
|
+
- repo: https://github.com/gitleaks/gitleaks
|
|
12
|
+
rev: v8.18.0
|
|
13
|
+
hooks:
|
|
14
|
+
- id: gitleaks
|
|
15
|
+
|
|
16
|
+
- repo: local
|
|
17
|
+
hooks:
|
|
18
|
+
- id: basedpyright
|
|
19
|
+
name: basedpyright
|
|
20
|
+
entry: uv run basedpyright
|
|
21
|
+
language: system
|
|
22
|
+
types: [python]
|
|
23
|
+
pass_filenames: false
|
|
24
|
+
- id: pytest
|
|
25
|
+
name: Run tests
|
|
26
|
+
entry: uv run pytest tests/ -x -q --ignore=tests/benchmark
|
|
27
|
+
language: system
|
|
28
|
+
types: [python]
|
|
29
|
+
pass_filenames: false
|
|
30
|
+
always_run: true
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
domain: routing-optimization
|
|
2
|
+
objective:
|
|
3
|
+
description: "Improve routing accuracy"
|
|
4
|
+
evaluator:
|
|
5
|
+
type: agent_judge
|
|
6
|
+
rubric:
|
|
7
|
+
- id: effectiveness
|
|
8
|
+
weight: 0.4
|
|
9
|
+
description: "How well it solves the problem"
|
|
10
|
+
- id: clarity
|
|
11
|
+
weight: 0.3
|
|
12
|
+
description: "Clarity of instructions/steps"
|
|
13
|
+
- id: efficiency
|
|
14
|
+
weight: 0.3
|
|
15
|
+
description: "Resource usage and speed"
|
|
16
|
+
scope:
|
|
17
|
+
modifiable:
|
|
18
|
+
- core/skills/routing-optimization/SKILL.md
|
|
19
|
+
readonly:
|
|
20
|
+
- core/policies/**
|
|
21
|
+
- src/**
|
|
22
|
+
test_command: null
|
|
23
|
+
constraints:
|
|
24
|
+
max_iterations: 15
|
|
25
|
+
time_budget_per_iteration: 180
|
|
26
|
+
must_pass_tests: false
|
|
27
|
+
stale_threshold: 5
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Project-Level Skill Routing Configuration
|
|
2
|
+
# This file allows you to customize routing behavior for this specific project.
|
|
3
|
+
# Changes here override the global core/policies/task-routing.yaml settings.
|
|
4
|
+
|
|
5
|
+
schema_version: 1
|
|
6
|
+
|
|
7
|
+
# Add project-specific scenario patterns
|
|
8
|
+
scenario_patterns:
|
|
9
|
+
- id: vibesop_dev
|
|
10
|
+
name: "VibeSOP Development"
|
|
11
|
+
trigger_mode: suggest
|
|
12
|
+
description: "Working on VibeSOP itself"
|
|
13
|
+
keywords:
|
|
14
|
+
- "refactor vibesop"
|
|
15
|
+
- "优化 vibesop"
|
|
16
|
+
- "vibesop 架构"
|
|
17
|
+
- "改进路由"
|
|
18
|
+
skill_id: "riper-workflow"
|
|
19
|
+
priority: P1
|
|
20
|
+
message: "VibeSOP 开发建议使用 RIPER 工作流进行系统性改进"
|
|
21
|
+
|
|
22
|
+
- id: gstack_browser
|
|
23
|
+
name: "GStack Browser QA"
|
|
24
|
+
trigger_mode: suggest
|
|
25
|
+
description: "Browser testing and screenshot via GStack"
|
|
26
|
+
keywords:
|
|
27
|
+
- "take a screenshot"
|
|
28
|
+
- "screenshot"
|
|
29
|
+
- "browser test"
|
|
30
|
+
- "headless browser"
|
|
31
|
+
- "chromium"
|
|
32
|
+
- "测试网站"
|
|
33
|
+
- "截图"
|
|
34
|
+
skill_id: "gstack"
|
|
35
|
+
priority: P1
|
|
36
|
+
message: "建议使用 GStack 进行浏览器测试和截图"
|
|
37
|
+
|
|
38
|
+
- id: gstack_qa
|
|
39
|
+
name: "GStack QA"
|
|
40
|
+
trigger_mode: suggest
|
|
41
|
+
description: "QA testing with GStack"
|
|
42
|
+
keywords:
|
|
43
|
+
- "qa test"
|
|
44
|
+
- "browser qa"
|
|
45
|
+
- "网站测试"
|
|
46
|
+
skill_id: "gstack/qa"
|
|
47
|
+
priority: P1
|
|
48
|
+
message: "建议使用 GStack QA 进行浏览器测试"
|
|
49
|
+
|
|
50
|
+
# Project-specific routing hints
|
|
51
|
+
routing_hints:
|
|
52
|
+
- keywords: ["模板", "template", "CLAUDE.md", "配置生成"]
|
|
53
|
+
suggest: "riper-workflow"
|
|
54
|
+
message: "模板修改建议使用 RIPER 流程:Research → Innovate → Plan → Execute → Review"
|
|
55
|
+
|
|
56
|
+
# Override keywords
|
|
57
|
+
override_keywords:
|
|
58
|
+
"用项目路由": project
|
|
59
|
+
"use project routing": project
|