xtrm-tools 2.0.0
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/CHANGELOG.md +496 -0
- package/README.md +762 -0
- package/cli/dist/index.cjs +55245 -0
- package/cli/dist/index.cjs.map +1 -0
- package/cli/dist/index.d.cts +2 -0
- package/cli/package.json +43 -0
- package/config/.env.example +40 -0
- package/config/hooks.json +36 -0
- package/config/mcp_servers.json +46 -0
- package/config/mcp_servers_optional.json +53 -0
- package/config/settings.json +70 -0
- package/hooks/README.md +156 -0
- package/hooks/__pycache__/agent_context.cpython-314.pyc +0 -0
- package/hooks/agent_context.py +105 -0
- package/hooks/gitnexus/gitnexus-hook.cjs +133 -0
- package/hooks/serena-workflow-reminder.py +74 -0
- package/hooks/skill-discovery.py +90 -0
- package/hooks/skill-suggestion.py +112 -0
- package/hooks/test_agent_context.py +112 -0
- package/hooks/type-safety-enforcement.py +107 -0
- package/package.json +48 -0
- package/project-skills/main-guard/.claude/hooks/main-guard.cjs +188 -0
- package/project-skills/main-guard/.claude/settings.json +16 -0
- package/project-skills/main-guard/.claude/skills/using-main-guard/SKILL.md +135 -0
- package/project-skills/main-guard/README.md +163 -0
- package/project-skills/py-quality-gate/.claude/hooks/quality-check.py +311 -0
- package/project-skills/py-quality-gate/.claude/settings.json +16 -0
- package/project-skills/py-quality-gate/.claude/skills/using-py-quality-gate/SKILL.md +112 -0
- package/project-skills/py-quality-gate/README.md +147 -0
- package/project-skills/service-skills-set/.claude/git-hooks/__pycache__/doc_reminder.cpython-314.pyc +0 -0
- package/project-skills/service-skills-set/.claude/git-hooks/__pycache__/skill_staleness.cpython-314.pyc +0 -0
- package/project-skills/service-skills-set/.claude/git-hooks/doc_reminder.py +67 -0
- package/project-skills/service-skills-set/.claude/git-hooks/skill_staleness.py +194 -0
- package/project-skills/service-skills-set/.claude/service-registry.json +4 -0
- package/project-skills/service-skills-set/.claude/settings.json +37 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/SKILL.md +433 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/script_quality_standards.md +412 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/service_skill_system_guide.md +264 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/bootstrap.py +308 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/deep_dive.py +304 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/scaffolder.py +482 -0
- package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/SKILL.md +231 -0
- package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/scripts/scope.py +74 -0
- package/project-skills/service-skills-set/.claude/skills/updating-service-skills/SKILL.md +136 -0
- package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/__pycache__/drift_detector.cpython-314.pyc +0 -0
- package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/drift_detector.py +222 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/SKILL.md +108 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/__pycache__/cataloger.cpython-314.pyc +0 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/__pycache__/skill_activator.cpython-314.pyc +0 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/cataloger.py +74 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/skill_activator.py +152 -0
- package/project-skills/service-skills-set/README.md +93 -0
- package/project-skills/service-skills-set/__pycache__/install-service-skills.cpython-314.pyc +0 -0
- package/project-skills/service-skills-set/install-service-skills.py +163 -0
- package/project-skills/service-skills-set/service-skills-readme.md +236 -0
- package/project-skills/tdd-guard/.claude/settings.json +38 -0
- package/project-skills/tdd-guard/.claude/skills/using-tdd-guard/SKILL.md +74 -0
- package/project-skills/tdd-guard/CLAUDE.md +98 -0
- package/project-skills/tdd-guard/CONTRIBUTING.md +38 -0
- package/project-skills/tdd-guard/DEVELOPMENT.md +127 -0
- package/project-skills/tdd-guard/LICENSE +21 -0
- package/project-skills/tdd-guard/README.md +396 -0
- package/project-skills/tdd-guard/docs/adr/001-claude-session-subdirectory.md +52 -0
- package/project-skills/tdd-guard/docs/adr/002-secure-claude-binary-path.md +56 -0
- package/project-skills/tdd-guard/docs/adr/003-remove-configurable-data-directory.md +56 -0
- package/project-skills/tdd-guard/docs/adr/004-monorepo-architecture.md +64 -0
- package/project-skills/tdd-guard/docs/adr/005-claude-project-dir-support.md +55 -0
- package/project-skills/tdd-guard/docs/adr/006-phpunit-separate-repository.md +93 -0
- package/project-skills/tdd-guard/docs/adr/007-golangci-lint-path-support.md +83 -0
- package/project-skills/tdd-guard/docs/adr/008-storybook-reporter-design.md +182 -0
- package/project-skills/tdd-guard/docs/assets/tdd-guard-demo-screenshot.gif +0 -0
- package/project-skills/tdd-guard/docs/config-migration.md +143 -0
- package/project-skills/tdd-guard/docs/configuration.md +137 -0
- package/project-skills/tdd-guard/docs/custom-instructions.md +43 -0
- package/project-skills/tdd-guard/docs/enforcement.md +46 -0
- package/project-skills/tdd-guard/docs/ignore-patterns.md +81 -0
- package/project-skills/tdd-guard/docs/linting.md +109 -0
- package/project-skills/tdd-guard/docs/quick-commands.md +52 -0
- package/project-skills/tdd-guard/docs/session-management.md +75 -0
- package/project-skills/tdd-guard/docs/storybook-vitest-addon.md +120 -0
- package/project-skills/tdd-guard/docs/validation-model.md +63 -0
- package/project-skills/tdd-guard/eslint.config.mjs +140 -0
- package/project-skills/tdd-guard/package-lock.json +16937 -0
- package/project-skills/tdd-guard/package.json +102 -0
- package/project-skills/tdd-guard/reporters/go/README.md +67 -0
- package/project-skills/tdd-guard/reporters/go/cmd/tdd-guard-go/main.go +127 -0
- package/project-skills/tdd-guard/reporters/go/cmd/tdd-guard-go/main_test.go +280 -0
- package/project-skills/tdd-guard/reporters/go/go.mod +3 -0
- package/project-skills/tdd-guard/reporters/go/go.sum +0 -0
- package/project-skills/tdd-guard/reporters/go/internal/formatter/formatter.go +126 -0
- package/project-skills/tdd-guard/reporters/go/internal/formatter/formatter_test.go +264 -0
- package/project-skills/tdd-guard/reporters/go/internal/io/tee_reader.go +26 -0
- package/project-skills/tdd-guard/reporters/go/internal/io/tee_reader_test.go +37 -0
- package/project-skills/tdd-guard/reporters/go/internal/parser/mixed_reader.go +94 -0
- package/project-skills/tdd-guard/reporters/go/internal/parser/mixed_reader_test.go +198 -0
- package/project-skills/tdd-guard/reporters/go/internal/parser/parser.go +245 -0
- package/project-skills/tdd-guard/reporters/go/internal/parser/parser_test.go +547 -0
- package/project-skills/tdd-guard/reporters/go/internal/storage/storage.go +35 -0
- package/project-skills/tdd-guard/reporters/go/internal/storage/storage_test.go +113 -0
- package/project-skills/tdd-guard/reporters/go/internal/transformer/transformer.go +103 -0
- package/project-skills/tdd-guard/reporters/go/internal/transformer/transformer_test.go +303 -0
- package/project-skills/tdd-guard/reporters/jest/README.md +102 -0
- package/project-skills/tdd-guard/reporters/jest/package.json +38 -0
- package/project-skills/tdd-guard/reporters/phpunit/.php-cs-fixer.php +28 -0
- package/project-skills/tdd-guard/reporters/phpunit/README.md +97 -0
- package/project-skills/tdd-guard/reporters/phpunit/SYNC_README.md +29 -0
- package/project-skills/tdd-guard/reporters/phpunit/composer.json +55 -0
- package/project-skills/tdd-guard/reporters/phpunit/phpunit.xml.dist +19 -0
- package/project-skills/tdd-guard/reporters/phpunit/psalm.xml +44 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/Event/ErroredTestSubscriber.php +28 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/Event/FailedTestSubscriber.php +28 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/Event/IncompleteTestSubscriber.php +28 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/Event/PassedTestSubscriber.php +27 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/Event/SkippedTestSubscriber.php +28 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/Event/TestRunnerFinishedSubscriber.php +24 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/PathValidator.php +88 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/Storage.php +26 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardExtension.php +33 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardListener.php +158 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardSubscriber.php +35 -0
- package/project-skills/tdd-guard/reporters/phpunit/src/TestResultCollector.php +105 -0
- package/project-skills/tdd-guard/reporters/phpunit/tests/PathValidatorTest.php +74 -0
- package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardExtensionFailedTest.php +241 -0
- package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardExtensionTest.php +84 -0
- package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardStorageLocationTest.php +71 -0
- package/project-skills/tdd-guard/reporters/pytest/README.md +77 -0
- package/project-skills/tdd-guard/reporters/pytest/pyproject.toml +43 -0
- package/project-skills/tdd-guard/reporters/pytest/pytest.ini.example +7 -0
- package/project-skills/tdd-guard/reporters/pytest/tdd_guard_pytest/__init__.py +1 -0
- package/project-skills/tdd-guard/reporters/pytest/tdd_guard_pytest/pytest_reporter.py +134 -0
- package/project-skills/tdd-guard/reporters/pytest/tests/__init__.py +1 -0
- package/project-skills/tdd-guard/reporters/pytest/tests/conftest.py +3 -0
- package/project-skills/tdd-guard/reporters/pytest/tests/helpers.py +293 -0
- package/project-skills/tdd-guard/reporters/pytest/tests/test_config_option.py +38 -0
- package/project-skills/tdd-guard/reporters/pytest/tests/test_path_validation.py +59 -0
- package/project-skills/tdd-guard/reporters/pytest/tests/test_plugin_config.py +32 -0
- package/project-skills/tdd-guard/reporters/pytest/tests/test_project_root.py +296 -0
- package/project-skills/tdd-guard/reporters/pytest/tests/test_pytest_reporter.py +137 -0
- package/project-skills/tdd-guard/reporters/rspec/Gemfile +3 -0
- package/project-skills/tdd-guard/reporters/rust/Cargo.lock +458 -0
- package/project-skills/tdd-guard/reporters/rust/Cargo.toml +33 -0
- package/project-skills/tdd-guard/reporters/rust/Makefile.example +95 -0
- package/project-skills/tdd-guard/reporters/rust/README.md +88 -0
- package/project-skills/tdd-guard/reporters/rust/src/error_parser.rs +309 -0
- package/project-skills/tdd-guard/reporters/rust/src/main.rs +464 -0
- package/project-skills/tdd-guard/reporters/rust/src/parser.rs +225 -0
- package/project-skills/tdd-guard/reporters/rust/src/transformer.rs +409 -0
- package/project-skills/tdd-guard/reporters/storybook/README.md +108 -0
- package/project-skills/tdd-guard/reporters/storybook/package-lock.json +9482 -0
- package/project-skills/tdd-guard/reporters/storybook/package.json +43 -0
- package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.test-data.ts +22 -0
- package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.test.ts +190 -0
- package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.ts +88 -0
- package/project-skills/tdd-guard/reporters/storybook/src/index.ts +12 -0
- package/project-skills/tdd-guard/reporters/storybook/src/types.ts +37 -0
- package/project-skills/tdd-guard/reporters/storybook/tsconfig.json +11 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/go/failing/go.mod +3 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/go/failing/single_failing_test.go +13 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/go/import/go.mod +3 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/go/import/single_import_error_test.go +17 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/go/passing/go.mod +3 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/go/passing/single_passing_test.go +13 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-failing.test.js +5 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-import-error.test.js +8 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-passing.test.js +5 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SingleFailingTest.php +11 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SingleImportErrorTest.php +14 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SinglePassingTest.php +11 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_failing.py +3 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_import_error.py +6 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_passing.py +3 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/Cargo.lock +7 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/Cargo.toml +4 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/src/lib.rs +14 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/Cargo.lock +7 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/Cargo.toml +4 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/src/lib.rs +13 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/Cargo.lock +7 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/Cargo.toml +4 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/src/lib.rs +14 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/storybook/Calculator.js +4 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-failing.stories.js +15 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-import-error.stories.js +14 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-passing.stories.js +15 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-failing.test.js +7 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-import-error.test.js +9 -0
- package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-passing.test.js +7 -0
- package/project-skills/tdd-guard/reporters/test/factories/go.ts +59 -0
- package/project-skills/tdd-guard/reporters/test/factories/helpers.ts +48 -0
- package/project-skills/tdd-guard/reporters/test/factories/index.ts +7 -0
- package/project-skills/tdd-guard/reporters/test/factories/jest.ts +51 -0
- package/project-skills/tdd-guard/reporters/test/factories/phpunit.ts +63 -0
- package/project-skills/tdd-guard/reporters/test/factories/pytest.ts +41 -0
- package/project-skills/tdd-guard/reporters/test/factories/rust.ts +158 -0
- package/project-skills/tdd-guard/reporters/test/factories/storybook.ts +198 -0
- package/project-skills/tdd-guard/reporters/test/factories/vitest.ts +51 -0
- package/project-skills/tdd-guard/reporters/test/reporters.integration.test.ts +735 -0
- package/project-skills/tdd-guard/reporters/test/types.ts +28 -0
- package/project-skills/tdd-guard/reporters/vitest/README.md +64 -0
- package/project-skills/tdd-guard/reporters/vitest/package.json +35 -0
- package/project-skills/tdd-guard/src/cli/buildContext.test.ts +200 -0
- package/project-skills/tdd-guard/src/cli/buildContext.ts +48 -0
- package/project-skills/tdd-guard/src/cli/tdd-guard.test.ts +159 -0
- package/project-skills/tdd-guard/src/cli/tdd-guard.ts +48 -0
- package/project-skills/tdd-guard/src/config/Config.test.ts +538 -0
- package/project-skills/tdd-guard/src/config/Config.ts +172 -0
- package/project-skills/tdd-guard/src/contracts/schemas/guardSchemas.test.ts +58 -0
- package/project-skills/tdd-guard/src/contracts/schemas/guardSchemas.ts +8 -0
- package/project-skills/tdd-guard/src/contracts/schemas/lintSchemas.test.ts +347 -0
- package/project-skills/tdd-guard/src/contracts/schemas/lintSchemas.ts +61 -0
- package/project-skills/tdd-guard/src/contracts/schemas/pytestSchemas.test.ts +24 -0
- package/project-skills/tdd-guard/src/contracts/schemas/pytestSchemas.ts +7 -0
- package/project-skills/tdd-guard/src/contracts/schemas/reporterSchemas.test.ts +377 -0
- package/project-skills/tdd-guard/src/contracts/schemas/reporterSchemas.ts +75 -0
- package/project-skills/tdd-guard/src/contracts/schemas/toolSchemas.test.ts +563 -0
- package/project-skills/tdd-guard/src/contracts/schemas/toolSchemas.ts +140 -0
- package/project-skills/tdd-guard/src/contracts/types/ClientType.ts +1 -0
- package/project-skills/tdd-guard/src/contracts/types/ConfigOptions.ts +12 -0
- package/project-skills/tdd-guard/src/contracts/types/Context.ts +16 -0
- package/project-skills/tdd-guard/src/contracts/types/ModelClient.ts +3 -0
- package/project-skills/tdd-guard/src/contracts/types/ValidationResult.ts +6 -0
- package/project-skills/tdd-guard/src/guard/GuardManager.test.ts +336 -0
- package/project-skills/tdd-guard/src/guard/GuardManager.ts +83 -0
- package/project-skills/tdd-guard/src/hooks/HookEvents.test.ts +107 -0
- package/project-skills/tdd-guard/src/hooks/HookEvents.ts +39 -0
- package/project-skills/tdd-guard/src/hooks/fileTypeDetection.ts +16 -0
- package/project-skills/tdd-guard/src/hooks/postToolLint.test.ts +327 -0
- package/project-skills/tdd-guard/src/hooks/postToolLint.ts +165 -0
- package/project-skills/tdd-guard/src/hooks/processHookData.test.ts +465 -0
- package/project-skills/tdd-guard/src/hooks/processHookData.ts +203 -0
- package/project-skills/tdd-guard/src/hooks/sessionHandler.test.ts +136 -0
- package/project-skills/tdd-guard/src/hooks/sessionHandler.ts +31 -0
- package/project-skills/tdd-guard/src/hooks/userPromptHandler.test.ts +131 -0
- package/project-skills/tdd-guard/src/hooks/userPromptHandler.ts +55 -0
- package/project-skills/tdd-guard/src/index.ts +19 -0
- package/project-skills/tdd-guard/src/linters/Linter.ts +5 -0
- package/project-skills/tdd-guard/src/linters/eslint/ESLint.test.ts +183 -0
- package/project-skills/tdd-guard/src/linters/eslint/ESLint.ts +82 -0
- package/project-skills/tdd-guard/src/linters/golangci/GolangciLint.test.ts +170 -0
- package/project-skills/tdd-guard/src/linters/golangci/GolangciLint.ts +148 -0
- package/project-skills/tdd-guard/src/processors/index.ts +1 -0
- package/project-skills/tdd-guard/src/processors/lintProcessor.ts +77 -0
- package/project-skills/tdd-guard/src/processors/testResults/TestResultsProcessor.test.ts +303 -0
- package/project-skills/tdd-guard/src/processors/testResults/TestResultsProcessor.ts +255 -0
- package/project-skills/tdd-guard/src/providers/LinterProvider.test.ts +43 -0
- package/project-skills/tdd-guard/src/providers/LinterProvider.ts +20 -0
- package/project-skills/tdd-guard/src/providers/ModelClientProvider.test.ts +68 -0
- package/project-skills/tdd-guard/src/providers/ModelClientProvider.ts +22 -0
- package/project-skills/tdd-guard/src/storage/FileStorage.test.ts +76 -0
- package/project-skills/tdd-guard/src/storage/FileStorage.ts +108 -0
- package/project-skills/tdd-guard/src/storage/MemoryStorage.ts +57 -0
- package/project-skills/tdd-guard/src/storage/Storage.test.ts +227 -0
- package/project-skills/tdd-guard/src/storage/Storage.ts +17 -0
- package/project-skills/tdd-guard/src/validation/context/context.test.ts +364 -0
- package/project-skills/tdd-guard/src/validation/context/context.ts +155 -0
- package/project-skills/tdd-guard/src/validation/models/AnthropicApi.test.ts +171 -0
- package/project-skills/tdd-guard/src/validation/models/AnthropicApi.ts +49 -0
- package/project-skills/tdd-guard/src/validation/models/ClaudeAgentSdk.test.ts +167 -0
- package/project-skills/tdd-guard/src/validation/models/ClaudeAgentSdk.ts +54 -0
- package/project-skills/tdd-guard/src/validation/models/ClaudeCli.test.ts +239 -0
- package/project-skills/tdd-guard/src/validation/models/ClaudeCli.ts +57 -0
- package/project-skills/tdd-guard/src/validation/prompts/file-types.ts +52 -0
- package/project-skills/tdd-guard/src/validation/prompts/operations/edit.ts +58 -0
- package/project-skills/tdd-guard/src/validation/prompts/operations/multi-edit.ts +54 -0
- package/project-skills/tdd-guard/src/validation/prompts/operations/write.ts +54 -0
- package/project-skills/tdd-guard/src/validation/prompts/response.ts +40 -0
- package/project-skills/tdd-guard/src/validation/prompts/rules.ts +51 -0
- package/project-skills/tdd-guard/src/validation/prompts/system-prompt.ts +10 -0
- package/project-skills/tdd-guard/src/validation/prompts/tools/lint-results.ts +15 -0
- package/project-skills/tdd-guard/src/validation/prompts/tools/test-output.ts +14 -0
- package/project-skills/tdd-guard/src/validation/prompts/tools/todos.ts +9 -0
- package/project-skills/tdd-guard/src/validation/validator.test.ts +268 -0
- package/project-skills/tdd-guard/src/validation/validator.ts +159 -0
- package/project-skills/tdd-guard/test/artifacts/go/.golangci.yml +6 -0
- package/project-skills/tdd-guard/test/artifacts/go/with-issues/file-with-issues.go +12 -0
- package/project-skills/tdd-guard/test/artifacts/go/with-issues/go.mod +3 -0
- package/project-skills/tdd-guard/test/artifacts/go/without-issues/file-without-issues.go +7 -0
- package/project-skills/tdd-guard/test/artifacts/go/without-issues/go.mod +3 -0
- package/project-skills/tdd-guard/test/artifacts/javascript/eslint.config.js +20 -0
- package/project-skills/tdd-guard/test/artifacts/javascript/file-with-issues.js +12 -0
- package/project-skills/tdd-guard/test/artifacts/javascript/file-without-issues.js +10 -0
- package/project-skills/tdd-guard/test/hooks/fileTypeDetection.test.ts +26 -0
- package/project-skills/tdd-guard/test/hooks/processHookData.fileType.test.ts +46 -0
- package/project-skills/tdd-guard/test/hooks/processHookData.python.test.ts +68 -0
- package/project-skills/tdd-guard/test/integration/test-context.test.ts +66 -0
- package/project-skills/tdd-guard/test/integration/validator.core.test.ts +96 -0
- package/project-skills/tdd-guard/test/integration/validator.scenarios.test.ts +497 -0
- package/project-skills/tdd-guard/test/utils/assertions.ts +29 -0
- package/project-skills/tdd-guard/test/utils/factories/contextFactory.ts +30 -0
- package/project-skills/tdd-guard/test/utils/factories/editFactory.ts +82 -0
- package/project-skills/tdd-guard/test/utils/factories/helpers.test.ts +46 -0
- package/project-skills/tdd-guard/test/utils/factories/helpers.ts +46 -0
- package/project-skills/tdd-guard/test/utils/factories/lintFactory.ts +352 -0
- package/project-skills/tdd-guard/test/utils/factories/modelClientProviderFactory.ts +21 -0
- package/project-skills/tdd-guard/test/utils/factories/multiEditFactory.ts +79 -0
- package/project-skills/tdd-guard/test/utils/factories/operations.ts +57 -0
- package/project-skills/tdd-guard/test/utils/factories/reporterFactory.ts +55 -0
- package/project-skills/tdd-guard/test/utils/factories/scenarios/index.ts +22 -0
- package/project-skills/tdd-guard/test/utils/factories/scenarios/languages/python.ts +745 -0
- package/project-skills/tdd-guard/test/utils/factories/scenarios/languages/typescript.ts +767 -0
- package/project-skills/tdd-guard/test/utils/factories/scenarios/types.ts +77 -0
- package/project-skills/tdd-guard/test/utils/factories/scenarios/utils.ts +15 -0
- package/project-skills/tdd-guard/test/utils/factories/sessionStartFactory.ts +36 -0
- package/project-skills/tdd-guard/test/utils/factories/testDefaults.ts +90 -0
- package/project-skills/tdd-guard/test/utils/factories/testResultsFactory.ts +234 -0
- package/project-skills/tdd-guard/test/utils/factories/todoFactory.ts +99 -0
- package/project-skills/tdd-guard/test/utils/factories/userPromptSubmitFactory.ts +39 -0
- package/project-skills/tdd-guard/test/utils/factories/writeFactory.ts +70 -0
- package/project-skills/tdd-guard/test/utils/index.ts +131 -0
- package/project-skills/tdd-guard/tsconfig.build.json +16 -0
- package/project-skills/tdd-guard/tsconfig.eslint.json +17 -0
- package/project-skills/tdd-guard/tsconfig.json +32 -0
- package/project-skills/tdd-guard/tsconfig.node.json +10 -0
- package/project-skills/tdd-guard/vitest.config.ts +85 -0
- package/project-skills/ts-quality-gate/.claude/hooks/hook-config.json +66 -0
- package/project-skills/ts-quality-gate/.claude/hooks/quality-check.cjs +1251 -0
- package/project-skills/ts-quality-gate/.claude/settings.json +16 -0
- package/project-skills/ts-quality-gate/.claude/skills/using-ts-quality-gate/SKILL.md +81 -0
- package/project-skills/ts-quality-gate/README.md +115 -0
- package/skills/README.txt +31 -0
- package/skills/clean-code/SKILL.md +201 -0
- package/skills/delegating/SKILL.md +196 -0
- package/skills/delegating/config.yaml +210 -0
- package/skills/delegating/references/orchestration-protocols.md +41 -0
- package/skills/docker-expert/SKILL.md +409 -0
- package/skills/documenting/CHANGELOG.md +23 -0
- package/skills/documenting/README.md +148 -0
- package/skills/documenting/SKILL.md +113 -0
- package/skills/documenting/examples/example_pattern.md +70 -0
- package/skills/documenting/examples/example_reference.md +70 -0
- package/skills/documenting/examples/example_ssot_analytics.md +64 -0
- package/skills/documenting/examples/example_workflow.md +141 -0
- package/skills/documenting/references/changelog-format.md +97 -0
- package/skills/documenting/references/metadata-schema.md +136 -0
- package/skills/documenting/references/taxonomy.md +81 -0
- package/skills/documenting/references/versioning-rules.md +78 -0
- package/skills/documenting/scripts/__pycache__/drift_detector.cpython-314.pyc +0 -0
- package/skills/documenting/scripts/__pycache__/orchestrator.cpython-314.pyc +0 -0
- package/skills/documenting/scripts/__pycache__/validate_metadata.cpython-314.pyc +0 -0
- package/skills/documenting/scripts/bump_version.sh +60 -0
- package/skills/documenting/scripts/changelog/__init__.py +0 -0
- package/skills/documenting/scripts/changelog/__pycache__/__init__.cpython-314.pyc +0 -0
- package/skills/documenting/scripts/changelog/__pycache__/add_entry.cpython-314.pyc +0 -0
- package/skills/documenting/scripts/changelog/__pycache__/bump_release.cpython-314.pyc +0 -0
- package/skills/documenting/scripts/changelog/__pycache__/validate_changelog.cpython-314.pyc +0 -0
- package/skills/documenting/scripts/changelog/add_entry.py +216 -0
- package/skills/documenting/scripts/changelog/bump_release.py +117 -0
- package/skills/documenting/scripts/changelog/init_changelog.py +54 -0
- package/skills/documenting/scripts/changelog/validate_changelog.py +128 -0
- package/skills/documenting/scripts/drift_detector.py +266 -0
- package/skills/documenting/scripts/generate_template.py +311 -0
- package/skills/documenting/scripts/list_by_category.sh +84 -0
- package/skills/documenting/scripts/orchestrator.py +255 -0
- package/skills/documenting/scripts/validate_metadata.py +242 -0
- package/skills/documenting/templates/CHANGELOG.md.template +13 -0
- package/skills/documenting/tests/__pycache__/test_changelog.cpython-314-pytest-9.0.2.pyc +0 -0
- package/skills/documenting/tests/__pycache__/test_drift_detector.cpython-314-pytest-9.0.2.pyc +0 -0
- package/skills/documenting/tests/__pycache__/test_orchestrator.cpython-314-pytest-9.0.2.pyc +0 -0
- package/skills/documenting/tests/__pycache__/test_validate_metadata.cpython-314-pytest-9.0.2.pyc +0 -0
- package/skills/documenting/tests/integration_test.sh +70 -0
- package/skills/documenting/tests/test_changelog.py +201 -0
- package/skills/documenting/tests/test_drift_detector.py +80 -0
- package/skills/documenting/tests/test_orchestrator.py +52 -0
- package/skills/documenting/tests/test_validate_metadata.py +64 -0
- package/skills/find-skills/SKILL.md +133 -0
- package/skills/gitnexus-debugging/SKILL.md +85 -0
- package/skills/gitnexus-exploring/SKILL.md +75 -0
- package/skills/gitnexus-impact-analysis/SKILL.md +94 -0
- package/skills/gitnexus-refactoring/SKILL.md +113 -0
- package/skills/hook-development/SKILL.md +797 -0
- package/skills/hook-development/examples/load-context.sh +55 -0
- package/skills/hook-development/examples/quality-check.js +1168 -0
- package/skills/hook-development/examples/validate-bash.sh +43 -0
- package/skills/hook-development/examples/validate-write.sh +38 -0
- package/skills/hook-development/references/advanced.md +527 -0
- package/skills/hook-development/references/migration.md +369 -0
- package/skills/hook-development/references/patterns.md +412 -0
- package/skills/hook-development/scripts/README.md +164 -0
- package/skills/hook-development/scripts/hook-linter.sh +153 -0
- package/skills/hook-development/scripts/test-hook.sh +252 -0
- package/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
- package/skills/obsidian-cli/SKILL.md +106 -0
- package/skills/orchestrating-agents/SKILL.md +135 -0
- package/skills/orchestrating-agents/config.yaml +45 -0
- package/skills/orchestrating-agents/references/agent-context-integration.md +37 -0
- package/skills/orchestrating-agents/references/examples.md +45 -0
- package/skills/orchestrating-agents/references/handover-protocol.md +31 -0
- package/skills/orchestrating-agents/references/workflows.md +42 -0
- package/skills/orchestrating-agents/scripts/detect_neighbors.py +23 -0
- package/skills/prompt-improving/README.md +162 -0
- package/skills/prompt-improving/SKILL.md +74 -0
- package/skills/prompt-improving/references/analysis_commands.md +24 -0
- package/skills/prompt-improving/references/chain_of_thought.md +24 -0
- package/skills/prompt-improving/references/mcp_definitions.md +20 -0
- package/skills/prompt-improving/references/multishot.md +23 -0
- package/skills/prompt-improving/references/xml_core.md +60 -0
- package/skills/python-testing/SKILL.md +815 -0
- package/skills/senior-backend/SKILL.md +209 -0
- package/skills/senior-backend/references/api_design_patterns.md +103 -0
- package/skills/senior-backend/references/backend_security_practices.md +103 -0
- package/skills/senior-backend/references/database_optimization_guide.md +103 -0
- package/skills/senior-backend/scripts/api_load_tester.py +114 -0
- package/skills/senior-backend/scripts/api_scaffolder.py +114 -0
- package/skills/senior-backend/scripts/database_migration_tool.py +114 -0
- package/skills/senior-data-scientist/SKILL.md +226 -0
- package/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
- package/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
- package/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
- package/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
- package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
- package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
- package/skills/senior-devops/SKILL.md +209 -0
- package/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
- package/skills/senior-devops/references/deployment_strategies.md +103 -0
- package/skills/senior-devops/references/infrastructure_as_code.md +103 -0
- package/skills/senior-devops/scripts/deployment_manager.py +114 -0
- package/skills/senior-devops/scripts/pipeline_generator.py +114 -0
- package/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
- package/skills/senior-security/SKILL.md +209 -0
- package/skills/senior-security/references/cryptography_implementation.md +103 -0
- package/skills/senior-security/references/penetration_testing_guide.md +103 -0
- package/skills/senior-security/references/security_architecture_patterns.md +103 -0
- package/skills/senior-security/scripts/pentest_automator.py +114 -0
- package/skills/senior-security/scripts/security_auditor.py +114 -0
- package/skills/senior-security/scripts/threat_modeler.py +114 -0
- package/skills/skill-creator/LICENSE.txt +202 -0
- package/skills/skill-creator/SKILL.md +479 -0
- package/skills/skill-creator/agents/analyzer.md +274 -0
- package/skills/skill-creator/agents/comparator.md +202 -0
- package/skills/skill-creator/agents/grader.md +223 -0
- package/skills/skill-creator/assets/eval_review.html +146 -0
- package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/skills/skill-creator/references/schemas.md +430 -0
- package/skills/skill-creator/scripts/__init__.py +0 -0
- package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/skills/skill-creator/scripts/generate_report.py +326 -0
- package/skills/skill-creator/scripts/improve_description.py +248 -0
- package/skills/skill-creator/scripts/package_skill.py +136 -0
- package/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/skills/skill-creator/scripts/run_eval.py +310 -0
- package/skills/skill-creator/scripts/run_loop.py +332 -0
- package/skills/skill-creator/scripts/utils.py +47 -0
- package/skills/using-TDD/SKILL.md +410 -0
- package/skills/using-serena-lsp/README.md +8 -0
- package/skills/using-serena-lsp/REFERENCE.md +194 -0
- package/skills/using-serena-lsp/SKILL.md +82 -0
package/README.md
ADDED
|
@@ -0,0 +1,762 @@
|
|
|
1
|
+
# XTRM-Tools
|
|
2
|
+
|
|
3
|
+
**Claude Code tools installer** — skills, hooks, MCP servers, and project-specific extensions.
|
|
4
|
+
|
|
5
|
+
> **ARCHITECTURAL DECISION (v2.0.0):** xtrm-tools now supports **Claude Code exclusively**. Hook translation for Gemini CLI and Qwen CLI was removed due to fragile, undocumented, and unofficially supported hook ecosystems. For Gemini/Qwen, users must manually configure their environments (see [Manual Setup for Gemini/Qwen](#manual-setup-for-geminiqwen)).
|
|
6
|
+
|
|
7
|
+
This repository contains production-ready extensions to enhance Claude's capabilities with prompt improvement, task delegation, development workflow automation, and quality gates. The `xtrm` CLI provides a robust, modular "Plug & Play" installation engine for project-specific tools.
|
|
8
|
+
|
|
9
|
+
## Quick Start
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Install globally (one-time)
|
|
13
|
+
git clone https://github.com/Jaggerxtrm/xtrm-tools.git
|
|
14
|
+
cd xtrm-tools/cli
|
|
15
|
+
npm install && npm run build
|
|
16
|
+
npm link
|
|
17
|
+
|
|
18
|
+
# Install tools to your Claude Code environment
|
|
19
|
+
xtrm install
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Table of Contents
|
|
23
|
+
|
|
24
|
+
- [Skills](#skills)
|
|
25
|
+
- [Hooks](#hooks)
|
|
26
|
+
- [Installation](#installation)
|
|
27
|
+
- [Project Skills](#project-skills)
|
|
28
|
+
- [Configuration](#configuration)
|
|
29
|
+
- [Documentation](#documentation)
|
|
30
|
+
- [Version History](#version-history)
|
|
31
|
+
- [License](#license)
|
|
32
|
+
|
|
33
|
+
## Skills
|
|
34
|
+
|
|
35
|
+
### prompt-improving
|
|
36
|
+
|
|
37
|
+
Automatically improves user prompts using Claude's XML best practices before execution.
|
|
38
|
+
|
|
39
|
+
- **Invocation**: `/prompt [prompt]` or `/prompt-improving [prompt]`
|
|
40
|
+
- **Purpose**: Applies semantic XML structure, multishot examples, and chain-of-thought patterns
|
|
41
|
+
- **Hook**: `skill-suggestion.py`
|
|
42
|
+
- **Version**: 5.1.0
|
|
43
|
+
|
|
44
|
+
### delegating
|
|
45
|
+
|
|
46
|
+
Unified task delegation system supporting both CCS (cost-optimized) and unitAI (multi-agent workflows).
|
|
47
|
+
|
|
48
|
+
- **Invocation**: `/delegate [task]` or `/delegating [task]`
|
|
49
|
+
- **Purpose**: Auto-selects optimal backend for task execution
|
|
50
|
+
- **CCS**: Simple tasks (tests, typos, docs) → GLM/Gemini/Qwen
|
|
51
|
+
- **unitAI**: Complex tasks (code review, feature dev, debugging) → Multi-agent workflows
|
|
52
|
+
- **Hook**: `skill-suggestion.sh` (triggers on "delegate" keyword)
|
|
53
|
+
- **Config**: `skills/delegation/config.yaml` (user-customizable patterns)
|
|
54
|
+
- **Version**: 6.0.0
|
|
55
|
+
|
|
56
|
+
**Key Features**:
|
|
57
|
+
- Configuration-driven pattern matching
|
|
58
|
+
- Autonomous workflow selection for unitAI
|
|
59
|
+
- Interactive 2-step menu (Delegate? → Backend?)
|
|
60
|
+
- Auto-focus detection (security/performance/quality)
|
|
61
|
+
- Override flags (`--glm`, `--unitai`, etc.)
|
|
62
|
+
|
|
63
|
+
**Deprecates**: `/ccs-delegation` (v5.0.0) - use `/delegation` instead
|
|
64
|
+
|
|
65
|
+
### orchestrating-agents
|
|
66
|
+
|
|
67
|
+
Orchestrates task handoff and deep multi-turn "handshaking" sessions between Gemini and Qwen CLI agents.
|
|
68
|
+
|
|
69
|
+
- **Invocation**: `/orchestrate [workflow-type] [task]` (workflow-type optional)
|
|
70
|
+
- **Purpose**: Facilitates multi-model collaboration, adversarial reviews, and deep troubleshooting.
|
|
71
|
+
- **Workflows**:
|
|
72
|
+
- **Collaborative Design** (`collaborative`): Proposal -> Critique -> Refinement (for features).
|
|
73
|
+
- **Adversarial Review** (`adversarial`): Proposal -> Red Team Attack -> Defense (for security).
|
|
74
|
+
- **Troubleshoot Session** (`troubleshoot`): Multi-agent hypothesis testing (for emergencies).
|
|
75
|
+
- **Single Handshake** (`handshake`): Quick one-turn second opinion.
|
|
76
|
+
- **Examples**:
|
|
77
|
+
- `/orchestrate adversarial "Review payment security"`
|
|
78
|
+
- `/orchestrate "Design auth system"` (interactive workflow selection)
|
|
79
|
+
- **Hook**: None (Direct slash command)
|
|
80
|
+
- **Version**: 1.2.0
|
|
81
|
+
|
|
82
|
+
**Key Features**:
|
|
83
|
+
- Parameter-based workflow selection for direct invocation
|
|
84
|
+
- Interactive fallback when no workflow specified
|
|
85
|
+
- Corrected resume flags for multi-turn sessions (Gemini: `-r latest`, Qwen: `-c`)
|
|
86
|
+
|
|
87
|
+
### using-serena-lsp
|
|
88
|
+
|
|
89
|
+
Master workflow combining Serena MCP semantic tools with LSP plugins for efficient code editing.
|
|
90
|
+
|
|
91
|
+
- **Invocation**: Auto-suggested via hooks
|
|
92
|
+
- **Purpose**: Surgical code editing with 75-80% token savings
|
|
93
|
+
- **Hook**: `serena-workflow-reminder.py`
|
|
94
|
+
- **Origin**: Serena MCP
|
|
95
|
+
|
|
96
|
+
### documenting
|
|
97
|
+
|
|
98
|
+
Maintains Single Source of Truth (SSOT) documentation system for projects.
|
|
99
|
+
|
|
100
|
+
- **Invocation**: `/document [task]` or skill commands
|
|
101
|
+
- **Purpose**: Create, update, validate SSOT documentation
|
|
102
|
+
- **Hook**: None
|
|
103
|
+
- **Origin**: Serena MCP
|
|
104
|
+
- **Version**: 2.0.0 (with drift detection and INDEX blocks)
|
|
105
|
+
|
|
106
|
+
**Key Features**:
|
|
107
|
+
- `tracks:` frontmatter field for automatic drift detection
|
|
108
|
+
- Auto-generated INDEX tables for navigation without full reads
|
|
109
|
+
- Stop hook fires at session end to detect stale memories
|
|
110
|
+
- Decision table for when to update SSOT vs changelog only
|
|
111
|
+
|
|
112
|
+
### obsidian-cli
|
|
113
|
+
|
|
114
|
+
Interact with Obsidian vaults using the Obsidian CLI.
|
|
115
|
+
|
|
116
|
+
- **Invocation**: Auto-loaded when working with Obsidian tasks
|
|
117
|
+
- **Purpose**: Read, create, search, and manage notes, tasks, properties
|
|
118
|
+
- **Hook**: None
|
|
119
|
+
- **Version**: 1.0.0
|
|
120
|
+
|
|
121
|
+
**Key Features**:
|
|
122
|
+
- Full CLI command reference (create, read, search, daily notes, tasks)
|
|
123
|
+
- Plugin development workflow (reload, error capture, screenshots, DOM inspection)
|
|
124
|
+
- Vault targeting with `vault=<name>` parameter
|
|
125
|
+
- File targeting with `file=` (wikilink-style) or `path=` (exact path)
|
|
126
|
+
|
|
127
|
+
### gitnexus (4 skills)
|
|
128
|
+
|
|
129
|
+
Knowledge graph-powered code intelligence skills.
|
|
130
|
+
|
|
131
|
+
- **Invocation**: Auto-suggested via hooks for code operations
|
|
132
|
+
- **Purpose**: Semantic code understanding with 75-80% token savings
|
|
133
|
+
- **Hook**: `gitnexus-hook.cjs` (PreToolUse for Grep|Glob|Bash)
|
|
134
|
+
- **Version**: 1.0.0
|
|
135
|
+
|
|
136
|
+
**Skills**:
|
|
137
|
+
- `gitnexus/exploring` — Architecture understanding ("How does X work?")
|
|
138
|
+
- `gitnexus/debugging` — Bug tracing ("Why is X failing?")
|
|
139
|
+
- `gitnexus/impact-analysis` — Blast radius ("What breaks if I change X?")
|
|
140
|
+
- `gitnexus/refactoring` — Surgical refactors (rename, extract, split)
|
|
141
|
+
|
|
142
|
+
**Tools**:
|
|
143
|
+
- `query` — Process-grouped execution flows
|
|
144
|
+
- `context` — 360-degree symbol view
|
|
145
|
+
- `impact` — Blast radius analysis (depth 1/2/3)
|
|
146
|
+
- `detect_changes` — Git-diff impact analysis
|
|
147
|
+
- `rename` — Multi-file coordinated rename
|
|
148
|
+
- `cypher` — Raw graph queries
|
|
149
|
+
|
|
150
|
+
### scoping-service-skills (Trinity)
|
|
151
|
+
|
|
152
|
+
Task intake and service routing for Docker service projects.
|
|
153
|
+
|
|
154
|
+
- **Invocation**: `/scope "task description"`
|
|
155
|
+
- **Purpose**: Detect intent, map to expert service skills, emit structured scope plan
|
|
156
|
+
- **Hook**: None (invoked before investigation/feature/refactor tasks)
|
|
157
|
+
- **Version**: 1.0.0
|
|
158
|
+
|
|
159
|
+
**Intent Taxonomy**:
|
|
160
|
+
- `investigation` — Errors, failures, issues (default when ambiguous)
|
|
161
|
+
- `feature` — New functionality
|
|
162
|
+
- `refactor` — Restructuring, cleanup
|
|
163
|
+
- `config-change` — Configuration updates
|
|
164
|
+
- `exploration` — Understanding, explanations
|
|
165
|
+
|
|
166
|
+
**Workflow**:
|
|
167
|
+
1. Read service registry
|
|
168
|
+
2. Detect intent from keywords
|
|
169
|
+
3. Map to registered services
|
|
170
|
+
4. Emit XML scope block with diagnosis → fix → regression-test phases
|
|
171
|
+
|
|
172
|
+
## Hooks
|
|
173
|
+
|
|
174
|
+
### Skill-Associated Hooks
|
|
175
|
+
|
|
176
|
+
**skill-suggestion.py**
|
|
177
|
+
- Skills: `prompt-improving`, `delegating`
|
|
178
|
+
- Trigger: UserPromptSubmit
|
|
179
|
+
- Purpose: Proactive skill suggestions based on prompt analysis
|
|
180
|
+
- Config: `settings.json` → `skillSuggestions.enabled: true`
|
|
181
|
+
|
|
182
|
+
**skill-discovery.py**
|
|
183
|
+
- Skills: All `skills/` directory skills
|
|
184
|
+
- Trigger: SessionStart
|
|
185
|
+
- Purpose: Injects summarized skill catalog at session start
|
|
186
|
+
- Config: Auto-wired in `settings.json`
|
|
187
|
+
|
|
188
|
+
**serena-workflow-reminder.py**
|
|
189
|
+
- Skill: `using-serena-lsp`
|
|
190
|
+
- Trigger: SessionStart, PreToolUse (Read|Edit)
|
|
191
|
+
- Purpose: Enforces semantic Serena LSP workflow
|
|
192
|
+
|
|
193
|
+
**gitnexus-hook.cjs**
|
|
194
|
+
- Skills: `gitnexus/*` (4 skills)
|
|
195
|
+
- Trigger: PreToolUse (Grep|Glob|Bash)
|
|
196
|
+
- Purpose: Enriches tool calls with knowledge graph context via `gitnexus augment`
|
|
197
|
+
- Config: Auto-wired in `settings.json`
|
|
198
|
+
|
|
199
|
+
### Standalone Hooks
|
|
200
|
+
|
|
201
|
+
**pip-venv-guard.py**
|
|
202
|
+
- Trigger: PreToolUse (Bash)
|
|
203
|
+
- Purpose: Prevent `pip install` outside virtual environments
|
|
204
|
+
|
|
205
|
+
**type-safety-enforcement.py**
|
|
206
|
+
- Trigger: PreToolUse (Bash|Edit|Write)
|
|
207
|
+
- Purpose: Enforce type safety in Python code
|
|
208
|
+
|
|
209
|
+
**statusline.js**
|
|
210
|
+
- Trigger: StatusLine
|
|
211
|
+
- Purpose: Display custom status line information
|
|
212
|
+
|
|
213
|
+
**NOTE** certain skills are third-party utilities, i believe they can be useful.
|
|
214
|
+
|
|
215
|
+
## Project Skills
|
|
216
|
+
|
|
217
|
+
**Project Skills** are modular, plug-and-play tool packages that extend Claude's capabilities for specific workflows. Each skill includes pre-configured hooks, context skills, and documentation.
|
|
218
|
+
|
|
219
|
+
### Available Project Skills
|
|
220
|
+
|
|
221
|
+
| Skill | Description | Hook Type |
|
|
222
|
+
|-------|-------------|-----------|
|
|
223
|
+
| `service-skills-set` | Docker service expertise — gives Claude persistent knowledge about your services | SessionStart, PreToolUse, PostToolUse |
|
|
224
|
+
| `tdd-guard` | Enforce Test-Driven Development — blocks implementation until failing tests exist | PreToolUse, UserPromptSubmit |
|
|
225
|
+
| `ts-quality-gate` | TypeScript/ESLint/Prettier quality gate — runs on every edit, auto-fixes issues | PostToolUse |
|
|
226
|
+
| `py-quality-gate` | Python ruff/mypy quality gate — linting, formatting, and type checking | PostToolUse |
|
|
227
|
+
| `main-guard` | Git branch protection — blocks direct edits to main/master branches | PreToolUse |
|
|
228
|
+
|
|
229
|
+
### Installing Project Skills
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# List available project skills
|
|
233
|
+
xtrm install project list
|
|
234
|
+
|
|
235
|
+
# Install a specific skill into your current project
|
|
236
|
+
cd my-project
|
|
237
|
+
xtrm install project service-skills-set # Docker service expertise
|
|
238
|
+
xtrm install project tdd-guard # TDD enforcement
|
|
239
|
+
xtrm install project ts-quality-gate # TypeScript quality
|
|
240
|
+
xtrm install project py-quality-gate # Python quality
|
|
241
|
+
xtrm install project main-guard # Git branch protection
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Note:** Project skills install Claude hooks and skills into your project's `.claude/` directory. Some skills require additional manual setup (e.g., installing npm packages or Python dependencies). Always read the documentation at `.claude/docs/<skill>-readme.md` after installation.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Installation
|
|
249
|
+
|
|
250
|
+
### 🚀 Quick One-Time Run
|
|
251
|
+
|
|
252
|
+
Run the latest version directly from GitHub without installing:
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
npx -y github:Jaggerxtrm/xtrm-tools install
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
This temporarily clones, builds, and runs the installation to your Claude Code environment.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
### 🛠️ Global Installation (Recommended for repeated use)
|
|
263
|
+
|
|
264
|
+
Install globally from GitHub:
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
npm install -g github:Jaggerxtrm/xtrm-tools
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Now you can run `xtrm` from anywhere:
|
|
271
|
+
```bash
|
|
272
|
+
xtrm install # Install/update tools
|
|
273
|
+
xtrm status # Check for changes
|
|
274
|
+
xtrm install project tdd-guard # Install project skills
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**To update later:**
|
|
278
|
+
```bash
|
|
279
|
+
npm install -g github:Jaggerxtrm/xtrm-tools@latest
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
### 🔧 Local Installation (for development)
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
git clone https://github.com/Jaggerxtrm/xtrm-tools.git
|
|
288
|
+
cd xtrm-tools/cli
|
|
289
|
+
npm install # installs dependencies
|
|
290
|
+
npm run build # compiles TypeScript to dist/
|
|
291
|
+
npm link # registers `xtrm` globally
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## CLI User Guide
|
|
297
|
+
|
|
298
|
+
### Synopsis
|
|
299
|
+
|
|
300
|
+
```
|
|
301
|
+
xtrm <command> [options]
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
| Command | Description |
|
|
305
|
+
| -------- | --------------------------------- |
|
|
306
|
+
| `sync` | Sync tools to target environments |
|
|
307
|
+
| `status` | Show diff without making changes |
|
|
308
|
+
| `reset` | Clear saved preferences |
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
### `xtrm install`
|
|
313
|
+
|
|
314
|
+
The main command. Detects your agent environments, calculates what's changed, and applies updates.
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
xtrm install # interactive — prompts for targets and confirmation
|
|
318
|
+
xtrm install all # install to all known targets without target prompt
|
|
319
|
+
xtrm install '*' # same as above; quote * to avoid shell expansion
|
|
320
|
+
xtrm install --dry-run # preview what WOULD change, write nothing
|
|
321
|
+
xtrm install all --dry-run -y # non-interactive preview across all targets
|
|
322
|
+
xtrm install -y # skip confirmation prompts (CI-friendly)
|
|
323
|
+
xtrm install --prune # also remove system items no longer in the repo
|
|
324
|
+
xtrm install --backport # reverse direction: copy drifted local edits → repo
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**UX Features (v1.6.0+)**:
|
|
328
|
+
- **Listr2 concurrent diff phase**: Parallel environment checks with per-target change counts
|
|
329
|
+
- **cli-table3 plan table**: Formatted table showing Target / + New / ↑ Update / ! Drift / Total
|
|
330
|
+
- **boxen summary card**: Completion summary with green/yellow border based on drift
|
|
331
|
+
- **Themed output**: Semantic colors (success, error, warning, muted, accent) via `theme.ts`
|
|
332
|
+
- **Interactive consent**: Multiselect for MCP servers (space to toggle, all pre-selected)
|
|
333
|
+
- **Auto-detection**: Scans `~/.claude`, `~/.gemini`, `~/.qwen`, `~/.agents/skills` automatically
|
|
334
|
+
- **Inline sync**: `status` command offers to apply sync immediately after showing changes
|
|
335
|
+
- **Single confirmation**: See full plan across all targets, confirm once
|
|
336
|
+
- **Safety guards**: Prune mode aborts on read failures; clean errors (no stack traces)
|
|
337
|
+
- **Startup banner**: Professional branding on CLI launch (skip with `--help`/`--version`)
|
|
338
|
+
- **`--json` flag**: Machine-readable output for CI/CD pipelines
|
|
339
|
+
|
|
340
|
+
**What it syncs per target environment:**
|
|
341
|
+
|
|
342
|
+
| Item | Claude | Gemini | Qwen | Agents (skills-only) |
|
|
343
|
+
| --------------- | -------------------- | -------------------- | ------------------ | -------------------- |
|
|
344
|
+
| `skills/` | ✅ copy/symlink | ✅ copy/symlink | ✅ copy/symlink | ✅ direct copy |
|
|
345
|
+
| `hooks/` | ✅ copy/symlink | ✅ copy/symlink | ✅ copy/symlink | ❌ skipped |
|
|
346
|
+
| `settings.json` | ✅ safe merge | ✅ safe merge | ✅ safe merge | ❌ skipped |
|
|
347
|
+
| MCP servers | `mcp add` CLI | `mcp add` CLI | `mcp add` CLI | ❌ skipped |
|
|
348
|
+
| Slash commands | auto-generated | `.toml` files | `.toml` files | ❌ skipped |
|
|
349
|
+
|
|
350
|
+
**New in v1.7.0**: `~/.agents/skills` is now a first-class sync target for skills-only sync (no hooks/config/MCP).
|
|
351
|
+
|
|
352
|
+
**Diff categories shown before sync:**
|
|
353
|
+
|
|
354
|
+
- `+ missing` — item exists in repo but not in your system (will be added)
|
|
355
|
+
- `↑ outdated` — repo is newer than your system (will be updated)
|
|
356
|
+
- `✗ drifted` — your local copy is newer than the repo (skipped unless `--backport`)
|
|
357
|
+
|
|
358
|
+
**Safe merge behaviour for `settings.json`:**
|
|
359
|
+
Protected keys (your local MCP servers, permissions, auth tokens, model preferences) are **never overwritten**. New keys from the repo are merged in non-destructively.
|
|
360
|
+
|
|
361
|
+
**Sync modes** (saved between runs, prompted on first sync):
|
|
362
|
+
- `copy` — default; plain file copy
|
|
363
|
+
- `symlink` — live symlinks so edits to `skills/` immediately reflect system-wide *(Linux/macOS only; Windows falls back to copy automatically)*
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
### `xtrm status`
|
|
368
|
+
|
|
369
|
+
Read-only diff view with enhanced feedback — no files written:
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
xtrm status # auto-detects all environments
|
|
373
|
+
xtrm status --json # machine-readable output
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
**Output includes (v1.7.0+)**:
|
|
377
|
+
- Auto-detected environments: `~/.claude`, `~/.gemini`, `~/.qwen`, `~/.agents/skills`
|
|
378
|
+
- cli-table3 formatted table with per-target change breakdown
|
|
379
|
+
- Last synced time (relative: "3 hours ago")
|
|
380
|
+
- Item counts from manifest (skills, hooks, config)
|
|
381
|
+
- Per-target health: ✓ Up-to-date / ⚠ Pending changes
|
|
382
|
+
- **Inline sync prompt**: "Apply sync now?" with multiselect target choice (Esc to skip)
|
|
383
|
+
- No second diff pass needed — executes directly using pre-computed changeSets
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
### `xtrm reset`
|
|
388
|
+
|
|
389
|
+
Clears saved preferences (sync mode, etc.):
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
xtrm reset
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
### Manual Installation (without CLI)
|
|
398
|
+
|
|
399
|
+
1. Clone this repository:
|
|
400
|
+
```bash
|
|
401
|
+
git clone https://github.com/Jaggerxtrm/jaggers-agent-tools.git
|
|
402
|
+
cd jaggers-agent-tools
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
2. Copy skills to Claude Code:
|
|
406
|
+
```bash
|
|
407
|
+
cp -r skills/* ~/.claude/skills/
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
3. Copy hooks:
|
|
411
|
+
```bash
|
|
412
|
+
cp hooks/* ~/.claude/hooks/
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Manual Setup for Gemini/Qwen
|
|
418
|
+
|
|
419
|
+
**ARCHITECTURAL DECISION (v2.0.0):** xtrm-tools no longer provides automated hook translation for Gemini CLI or Qwen CLI. This decision was made because:
|
|
420
|
+
|
|
421
|
+
1. **Fragile ecosystems:** Hook support in Gemini/Qwen is unofficial and undocumented
|
|
422
|
+
2. **Technical debt:** Maintaining translations introduces breaking changes with upstream updates
|
|
423
|
+
3. **Focus:** We prioritize robust, well-tested Claude Code support
|
|
424
|
+
|
|
425
|
+
If you use Gemini CLI or Qwen CLI, you can still use xtrm-tools skills and hooks with manual setup:
|
|
426
|
+
|
|
427
|
+
### For Gemini CLI Users
|
|
428
|
+
|
|
429
|
+
1. **Copy skills:**
|
|
430
|
+
```bash
|
|
431
|
+
cp -r skills/* ~/.gemini/skills/
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
2. **Configure hooks manually:** Gemini uses `BeforeAgent`, `BeforeTool`, `SessionStart` events. Map Claude hooks as follows:
|
|
435
|
+
- `UserPromptSubmit` → `BeforeAgent`
|
|
436
|
+
- `PreToolUse` → `BeforeTool` (translate tool names: `Read`→`read_file`, `Write`→`write_file`, etc.)
|
|
437
|
+
- `SessionStart` → `SessionStart`
|
|
438
|
+
|
|
439
|
+
3. **Reference:** See [Gemini CLI documentation](https://github.com/google-gemini/gemini-cli) for hook format.
|
|
440
|
+
|
|
441
|
+
### For Qwen CLI Users
|
|
442
|
+
|
|
443
|
+
1. **Copy skills:**
|
|
444
|
+
```bash
|
|
445
|
+
cp -r skills/* ~/.qwen/skills/
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
2. **Configure hooks manually:** Qwen uses similar event names to Claude. Copy hook scripts from `hooks/` and wire them in `~/.qwen/settings.json`.
|
|
449
|
+
|
|
450
|
+
3. **Reference:** See [Qwen CLI documentation](https://github.com/QwenLM/qwen-cli) for configuration format.
|
|
451
|
+
|
|
452
|
+
### Limitations
|
|
453
|
+
|
|
454
|
+
- ❌ No automated sync/updates (must manually copy changes)
|
|
455
|
+
- ❌ No MCP server auto-installation
|
|
456
|
+
- ❌ No project skills support (Claude Code only)
|
|
457
|
+
- ❌ No hook translation (must configure manually)
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## Configuration
|
|
462
|
+
|
|
463
|
+
### MCP Servers (v1.7.0 Unified System)
|
|
464
|
+
|
|
465
|
+
MCP servers are configured from canonical sources with automatic format adaptation for each agent.
|
|
466
|
+
|
|
467
|
+
**Core Servers** (installed by default):
|
|
468
|
+
- **serena**: Code analysis (requires `uvx`, auto project detection)
|
|
469
|
+
- **context7**: Documentation lookup (requires API key)
|
|
470
|
+
- **github-grep**: Code search across GitHub
|
|
471
|
+
- **deepwiki**: Technical documentation
|
|
472
|
+
|
|
473
|
+
**Optional Servers** (multiselect during sync):
|
|
474
|
+
- **unitAI**: Multi-agent workflow orchestration (requires `npx`)
|
|
475
|
+
- **omni-search-engine**: Local search engine (requires running service on port 8765)
|
|
476
|
+
- **gitnexus**: Knowledge graph code intelligence (requires `npm install -g gitnexus` + `npx gitnexus analyze` per project)
|
|
477
|
+
|
|
478
|
+
**Configuration Files**:
|
|
479
|
+
- Core: [`config/mcp_servers.json`](config/mcp_servers.json)
|
|
480
|
+
- Optional: [`config/mcp_servers_optional.json`](config/mcp_servers_optional.json)
|
|
481
|
+
- Environment: [`~/.config/xtrm-tools/.env`](~/.config/xtrm-tools/.env) (auto-created)
|
|
482
|
+
|
|
483
|
+
**Environment Variables**:
|
|
484
|
+
- **Location:** `~/.config/xtrm-tools/.env` (created automatically on first sync)
|
|
485
|
+
- **Required:** `CONTEXT7_API_KEY` for context7 server
|
|
486
|
+
- **Validation:** Interactive prompts for missing API keys during sync
|
|
487
|
+
- **Persistence:** Values preserved across syncs; never overwritten
|
|
488
|
+
- Edit `~/.config/xtrm-tools/.env` to add your API keys manually
|
|
489
|
+
|
|
490
|
+
**Unified MCP CLI Sync (v1.7.0)**:
|
|
491
|
+
- Uses official `mcp add`/`mcp remove`/`mcp list` commands for all agents
|
|
492
|
+
- **Idempotent:** Re-running is always safe — skips already-installed servers
|
|
493
|
+
- **Deduplication:** Prevents same server from syncing N times when multiple dirs selected
|
|
494
|
+
- **Interactive consent:** Multiselect prompt (space to toggle, all pre-selected)
|
|
495
|
+
- **Prerequisite auto-install:** Runs `npm install -g gitnexus` automatically when selected
|
|
496
|
+
- **Post-install guidance:** Shows required next steps (e.g., `npx gitnexus analyze`)
|
|
497
|
+
- **Timeout protection:** 10s timeout on CLI calls to prevent hangs
|
|
498
|
+
- **Clean errors:** User-friendly messages (no stack traces)
|
|
499
|
+
|
|
500
|
+
**Supported Agents**:
|
|
501
|
+
- Claude Code (`~/.claude.json` via `mcp add` CLI)
|
|
502
|
+
- Antigravity (`~/.gemini/antigravity/mcp_config.json` via `mcp add` CLI)
|
|
503
|
+
|
|
504
|
+
**Deprecated (v1.7.0)**:
|
|
505
|
+
- JSON file sync for Claude/Gemini/Qwen MCP — superseded by official `mcp` CLI method
|
|
506
|
+
- Repo `.env` files — use centralized `~/.config/xtrm-tools/.env`
|
|
507
|
+
|
|
508
|
+
**Documentation**: See [docs/mcp-servers-config.md](docs/mcp-servers-config.md) for complete setup guide.
|
|
509
|
+
|
|
510
|
+
### Skill Suggestions
|
|
511
|
+
|
|
512
|
+
Enable/disable proactive skill suggestions:
|
|
513
|
+
|
|
514
|
+
```json
|
|
515
|
+
// ~/.claude/settings.json
|
|
516
|
+
{
|
|
517
|
+
"skillSuggestions": {
|
|
518
|
+
"enabled": true // Set to false to disable
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
### Hook Timeouts
|
|
524
|
+
|
|
525
|
+
Adjust hook execution timeouts in `settings.json`:
|
|
526
|
+
|
|
527
|
+
```json
|
|
528
|
+
{
|
|
529
|
+
"hooks": {
|
|
530
|
+
"UserPromptSubmit": [{
|
|
531
|
+
"hooks": [{
|
|
532
|
+
"timeout": 5000 // Timeout in milliseconds (5000ms = 5 seconds) for both Claude and Gemini
|
|
533
|
+
}]
|
|
534
|
+
}]
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
### Service Skills Set (Trinity) — v1.5.0
|
|
540
|
+
|
|
541
|
+
Project-specific operational knowledge system for Docker service projects. Gives Claude persistent, service-specific expertise without re-explaining architecture every session.
|
|
542
|
+
|
|
543
|
+
**Three Workflow Skills (Trinity)**:
|
|
544
|
+
|
|
545
|
+
| Skill | Role | Invocation |
|
|
546
|
+
|---|---|---|
|
|
547
|
+
| `creating-service-skills` | Builds new skill packages via 3-phase workflow | `/creating-service-skills` |
|
|
548
|
+
| `using-service-skills` | Discovers and activates expert personas | Auto (SessionStart hook) |
|
|
549
|
+
| `updating-service-skills` | Detects drift when code changes | Auto (PostToolUse hook) |
|
|
550
|
+
|
|
551
|
+
**Five Hooks**:
|
|
552
|
+
|
|
553
|
+
| Hook | Type | Trigger | Effect |
|
|
554
|
+
|---|---|---|---|
|
|
555
|
+
| `SessionStart` | Claude Code | Session opens | Injects ~150-token service catalog |
|
|
556
|
+
| `PreToolUse` | Claude Code | Read/Write/Edit/Grep/Glob/Bash | Checks territory; injects skill load reminder |
|
|
557
|
+
| `PostToolUse` | Claude Code | Write/Edit | Detects drift; notifies to sync docs |
|
|
558
|
+
| `pre-commit` | Git | `git commit` | Warns if source changed without SSOT update (non-blocking) |
|
|
559
|
+
| `pre-push` | Git | `git push` | Warns if service skills are stale (non-blocking) |
|
|
560
|
+
|
|
561
|
+
**Generated Skill Package Structure**:
|
|
562
|
+
|
|
563
|
+
```
|
|
564
|
+
.claude/skills/<service-name>/
|
|
565
|
+
├── SKILL.md — architecture, failure modes, common operations
|
|
566
|
+
├── scripts/
|
|
567
|
+
│ ├── health_probe.py — container status + table freshness
|
|
568
|
+
│ ├── log_hunter.py — service-specific log analysis
|
|
569
|
+
│ ├── data_explorer.py — read-only DB inspection
|
|
570
|
+
│ └── <specialist>.py — service-type-specific inspector
|
|
571
|
+
└── references/
|
|
572
|
+
├── deep_dive.md — Phase 2 research notes
|
|
573
|
+
└── architecture_ssot.md — link to project SSOT
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
**Installation** (run from inside target project):
|
|
577
|
+
|
|
578
|
+
```bash
|
|
579
|
+
cd ~/projects/my-project
|
|
580
|
+
python3 /path/to/jaggers-agent-tools/project-skills/service-skills-set/install-service-skills.py
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
- Idempotent — safe to re-run after updates
|
|
584
|
+
- Installs Trinity skills into `.claude/skills/`
|
|
585
|
+
- Wires `settings.json` hooks (SessionStart, PreToolUse, PostToolUse)
|
|
586
|
+
- Activates git hooks (`pre-commit`, `pre-push`)
|
|
587
|
+
|
|
588
|
+
**Creating a Service Skill** (`/creating-service-skills`):
|
|
589
|
+
|
|
590
|
+
**Phase 1 — Automated Skeleton**:
|
|
591
|
+
```bash
|
|
592
|
+
python3 scaffolder.py create <service-id> <territory-path> "<description>"
|
|
593
|
+
```
|
|
594
|
+
- Reads `docker-compose*.yml`, `Dockerfile`, dependency files
|
|
595
|
+
- Produces `SKILL.md` with `[PENDING RESEARCH]` markers
|
|
596
|
+
- Generates script stubs in `scripts/`
|
|
597
|
+
- Auto-detects official docs from image tags and package files
|
|
598
|
+
- Creates entry in `.claude/skills/service-registry.json`
|
|
599
|
+
|
|
600
|
+
**Phase 2 — Agentic Deep Dive**:
|
|
601
|
+
- Uses Serena LSP tools (not raw file reads) for 75-80% token savings
|
|
602
|
+
- Fills every `[PENDING RESEARCH]` marker with actual codebase knowledge
|
|
603
|
+
- Sources troubleshooting tables from real failure modes
|
|
604
|
+
- All scripts support `--json` output
|
|
605
|
+
|
|
606
|
+
**Phase 3 — Hook Registration**:
|
|
607
|
+
- Verifies `PreToolUse` hook in `.claude/settings.json`
|
|
608
|
+
- Confirms service territory globs in registry
|
|
609
|
+
- Informs user: skill now auto-activates on territory file access and service-name commands
|
|
610
|
+
|
|
611
|
+
**Auto-activation**:
|
|
612
|
+
Once registered, skills activate automatically when Claude:
|
|
613
|
+
- Operates on files matching territory globs (e.g., `src/auth/**/*.py`)
|
|
614
|
+
- Runs Bash commands mentioning service/container name
|
|
615
|
+
|
|
616
|
+
**Documentation**: See [project-skills/service-skills-set/service-skills-readme.md](project-skills/service-skills-set/service-skills-readme.md) for complete guide.
|
|
617
|
+
|
|
618
|
+
## Documentation
|
|
619
|
+
|
|
620
|
+
### Core Documentation
|
|
621
|
+
- [CHANGELOG.md](CHANGELOG.md) - Version history and breaking changes
|
|
622
|
+
- [ROADMAP.md](ROADMAP.md) - Future enhancements and planned features
|
|
623
|
+
- [AGENTS.md](AGENTS.md) - GitNexus quick reference for this project
|
|
624
|
+
- [CLAUDE.md](CLAUDE.md) - Claude Code development guide
|
|
625
|
+
|
|
626
|
+
### Skill Documentation
|
|
627
|
+
- [skills/prompt-improving/README.md](skills/prompt-improving/README.md) - Prompt improvement skill
|
|
628
|
+
- [skills/delegating/SKILL.md](skills/delegating/SKILL.md) - Delegation workflow guide
|
|
629
|
+
- [skills/obsidian-cli/SKILL.md](skills/obsidian-cli/SKILL.md) - Obsidian CLI reference
|
|
630
|
+
- [hooks/README.md](hooks/README.md) - Complete hooks reference
|
|
631
|
+
- [project-skills/service-skills-set/service-skills-readme.md](project-skills/service-skills-set/service-skills-readme.md) - Service Skills Set (Trinity) guide
|
|
632
|
+
|
|
633
|
+
### MCP Configuration
|
|
634
|
+
- [docs/mcp-servers-config.md](docs/mcp-servers-config.md) - MCP servers setup guide
|
|
635
|
+
- [config/mcp_servers.json](config/mcp_servers.json) - Core MCP servers (canonical source)
|
|
636
|
+
- [config/mcp_servers_optional.json](config/mcp_servers_optional.json) - Optional MCP servers
|
|
637
|
+
|
|
638
|
+
### Implementation Plans
|
|
639
|
+
- [docs/plans/](docs/plans/) - Design documents and implementation plans
|
|
640
|
+
- [docs/plans/complete/](docs/plans/complete/) - Completed implementation plans
|
|
641
|
+
|
|
642
|
+
## Version History
|
|
643
|
+
|
|
644
|
+
| Version | Date | Highlights |
|
|
645
|
+
| ------- | ---------- | -------------------------------------------------- |
|
|
646
|
+
| 1.7.0 | 2026-02-25 | GitNexus integration, unified 3-phase sync, MCP CLI sync, env management |
|
|
647
|
+
| 1.6.0 | 2026-02-24 | Documenting skill hardening (drift detection, INDEX blocks) |
|
|
648
|
+
| 1.5.0 | 2026-02-23 | Service Skills Set (Trinity), git hooks, auto-activation |
|
|
649
|
+
| 1.4.0 | 2026-02-23 | Delegating skill hardening, skill-suggestion hook enhancements |
|
|
650
|
+
| 1.3.0 | 2026-02-22 | CLI UX improvements (spinners, safety, feedback) |
|
|
651
|
+
| 1.2.0 | 2026-02-21 | CLI rewritten in TypeScript, Commander.js sub-cmds |
|
|
652
|
+
| 1.1.1 | 2026-02-03 | Dynamic path resolution in Sync logic |
|
|
653
|
+
| 1.1.0 | 2026-02-03 | Vault Sync, Orchestrating-agents loops |
|
|
654
|
+
| 5.1.0 | 2026-01-30 | Renamed `p` to `prompt-improving` |
|
|
655
|
+
| 5.0.0 | 2026-01-30 | Major refactoring, 90% token reduction |
|
|
656
|
+
| 4.2.0 | Pre-2026 | Feature-rich baseline (155KB) |
|
|
657
|
+
|
|
658
|
+
See [CHANGELOG.md](CHANGELOG.md) for complete version history.
|
|
659
|
+
|
|
660
|
+
## Repository Structure
|
|
661
|
+
|
|
662
|
+
```
|
|
663
|
+
jaggers-agent-tools/
|
|
664
|
+
├── README.md # This file
|
|
665
|
+
├── CHANGELOG.md # Version history
|
|
666
|
+
├── ROADMAP.md # Future plans
|
|
667
|
+
├── AGENTS.md # GitNexus quick reference
|
|
668
|
+
├── CLAUDE.md # Claude Code development guide
|
|
669
|
+
│
|
|
670
|
+
├── cli/ # Config Manager CLI (TypeScript)
|
|
671
|
+
│ ├── src/
|
|
672
|
+
│ │ ├── index.ts # Entry point (Commander program)
|
|
673
|
+
│ │ ├── commands/ # sync.ts, status.ts, reset.ts
|
|
674
|
+
│ │ ├── adapters/ # base, claude, gemini, qwen, registry
|
|
675
|
+
│ │ ├── core/ # context, diff, sync-executor, manifest, rollback
|
|
676
|
+
│ │ ├── utils/ # hash, atomic-config, config-adapter, env-manager, theme…
|
|
677
|
+
│ │ └── types/ # Zod schemas (config.ts) + shared interfaces (models.ts)
|
|
678
|
+
│ ├── dist/ # Compiled output (generated by `npm run build`)
|
|
679
|
+
│ ├── tsconfig.json
|
|
680
|
+
│ ├── tsup.config.ts
|
|
681
|
+
│ └── package.json
|
|
682
|
+
│
|
|
683
|
+
├── skills/ # Core agent skills
|
|
684
|
+
│ ├── prompt-improving/ # Prompt improvement skill
|
|
685
|
+
│ ├── delegating/ # Task delegation skill (CCS + unitAI)
|
|
686
|
+
│ ├── orchestrating-agents/ # Multi-agent collaboration skill
|
|
687
|
+
│ ├── using-serena-lsp/ # Serena LSP workflow
|
|
688
|
+
│ ├── documenting/ # Serena SSOT system (with drift detection)
|
|
689
|
+
│ ├── obsidian-cli/ # Obsidian CLI skill
|
|
690
|
+
│ ├── gitnexus/ # GitNexus knowledge graph skills (4 skills)
|
|
691
|
+
│ │ ├── exploring/ # Architecture understanding
|
|
692
|
+
│ │ ├── debugging/ # Bug tracing
|
|
693
|
+
│ │ ├── impact-analysis/ # Blast radius analysis
|
|
694
|
+
│ │ └── refactoring/ # Surgical refactors
|
|
695
|
+
│ ├── clean-code/ # Clean code principles
|
|
696
|
+
│ ├── docker-expert/ # Docker containerization expert
|
|
697
|
+
│ ├── python-testing/ # Python testing strategies
|
|
698
|
+
│ ├── python-type-safety/ # Python type safety
|
|
699
|
+
│ ├── senior-backend/ # Backend development expert
|
|
700
|
+
│ ├── senior-data-scientist/ # Data science expert
|
|
701
|
+
│ ├── senior-devops/ # DevOps expert
|
|
702
|
+
│ ├── senior-security/ # Security engineering expert
|
|
703
|
+
│ ├── skill-creator/ # Skill creation guide
|
|
704
|
+
│ └── find-skills/ # Skill discovery helper
|
|
705
|
+
│
|
|
706
|
+
├── hooks/ # Claude Code hooks
|
|
707
|
+
│ ├── README.md # Hooks documentation
|
|
708
|
+
│ ├── skill-suggestion.py # Skill auto-suggestion
|
|
709
|
+
│ ├── skill-discovery.py # SessionStart skill catalog injection
|
|
710
|
+
│ ├── serena-workflow-reminder.py # Serena reminder
|
|
711
|
+
│ ├── type-safety-enforcement.py # Type safety
|
|
712
|
+
│ ├── gitnexus/
|
|
713
|
+
│ │ └── gitnexus-hook.cjs # PreToolUse knowledge graph enrichment
|
|
714
|
+
│ └── statusline.js # Status line display
|
|
715
|
+
│
|
|
716
|
+
├── config/ # Canonical configuration
|
|
717
|
+
│ ├── mcp_servers.json # Core MCP servers
|
|
718
|
+
│ ├── mcp_servers_optional.json # Optional MCP servers (gitnexus, unitAI, omni-search)
|
|
719
|
+
│ └── settings.json # Base settings template
|
|
720
|
+
│
|
|
721
|
+
├── project-skills/ # Project-specific service skills
|
|
722
|
+
│ └── service-skills-set/ # Trinity system for Docker service projects
|
|
723
|
+
│ ├── install-service-skills.py # Installer script
|
|
724
|
+
│ ├── service-skills-readme.md # Complete guide
|
|
725
|
+
│ └── .claude/
|
|
726
|
+
│ ├── settings.json # Settings template with hooks
|
|
727
|
+
│ ├── creating-service-skills/
|
|
728
|
+
│ ├── using-service-skills/
|
|
729
|
+
│ ├── updating-service-skills/
|
|
730
|
+
│ ├── scoping-service-skills/
|
|
731
|
+
│ └── git-hooks/
|
|
732
|
+
│
|
|
733
|
+
├── docs/ # Documentation
|
|
734
|
+
│ ├── mcp-servers-config.md # MCP setup guide
|
|
735
|
+
│ ├── todo.md # TODO list
|
|
736
|
+
│ └── plans/ # Implementation plans
|
|
737
|
+
│ ├── complete/ # Completed plans
|
|
738
|
+
│ └── *.md # Active design documents
|
|
739
|
+
│
|
|
740
|
+
└── .github/
|
|
741
|
+
└── workflows/
|
|
742
|
+
└── ci.yml # CI/CD pipeline (lint, test, build)
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
## Contributing
|
|
746
|
+
|
|
747
|
+
Contributions are welcome. Please:
|
|
748
|
+
|
|
749
|
+
1. Follow existing code style
|
|
750
|
+
2. Update documentation for any changes
|
|
751
|
+
3. Test skills and hooks before submitting
|
|
752
|
+
4. Update CHANGELOG.md for all changes
|
|
753
|
+
|
|
754
|
+
## License
|
|
755
|
+
|
|
756
|
+
MIT License - See LICENSE file for details.
|
|
757
|
+
|
|
758
|
+
## Credits
|
|
759
|
+
|
|
760
|
+
- Developed by Dawid Jaggers
|
|
761
|
+
- Serena skills and hooks courtesy of Serena MCP project
|
|
762
|
+
- Built for Claude Code by Anthropic
|