@codemieai/code 0.0.45 → 0.0.47
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/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +20 -3
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/metrics/types.d.ts +0 -6
- package/dist/agents/core/metrics/types.d.ts.map +1 -1
- package/dist/agents/core/session/BaseSessionAdapter.d.ts +0 -6
- package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +0 -11
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.js +0 -32
- package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +1 -1
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.session.js +1 -28
- package/dist/agents/plugins/claude/claude.session.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/README.md +1 -14
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +4 -4
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/SKILL.md +206 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-agent.md +45 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-claude-md-snippet.md +40 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-command.md +30 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-hooks.json +23 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-skill.md +48 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-agent.md +145 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-claude-md-snippet.md +126 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-command.md +170 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-hooks.json +46 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-skill.md +144 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/sample-report.md +223 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/best-practices.md +510 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/component-checklists.md +413 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/scripts/scan-repo.sh +162 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/README.md +183 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +233 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.py +785 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +3 -78
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +7 -16
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/claude/sounds-installer.d.ts +1 -1
- package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/sounds-installer.js +1 -4
- package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts +1 -4
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +26 -81
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +1 -8
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.session-adapter.js +2 -30
- package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +2 -8
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js +0 -7
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/opencode/index.d.ts +1 -1
- package/dist/agents/plugins/opencode/index.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/index.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -22
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.js +5 -30
- package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +0 -2
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +0 -8
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +8 -97
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
- package/dist/cli/commands/analytics/aggregator.d.ts +0 -8
- package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -1
- package/dist/cli/commands/analytics/aggregator.js +5 -100
- package/dist/cli/commands/analytics/aggregator.js.map +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts +0 -7
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/data-loader.js +3 -10
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/analytics/exporter.d.ts.map +1 -1
- package/dist/cli/commands/analytics/exporter.js +0 -12
- package/dist/cli/commands/analytics/exporter.js.map +1 -1
- package/dist/cli/commands/analytics/formatter.d.ts.map +1 -1
- package/dist/cli/commands/analytics/formatter.js +0 -9
- package/dist/cli/commands/analytics/formatter.js.map +1 -1
- package/dist/cli/commands/analytics/types.d.ts +0 -17
- package/dist/cli/commands/analytics/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/chat/historyLoader.d.ts +22 -0
- package/dist/cli/commands/assistants/chat/historyLoader.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/historyLoader.js +80 -0
- package/dist/cli/commands/assistants/chat/historyLoader.js.map +1 -0
- package/dist/cli/commands/assistants/{chat.d.ts → chat/index.d.ts} +1 -1
- package/dist/cli/commands/assistants/chat/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/{chat.js → chat/index.js} +54 -45
- package/dist/cli/commands/assistants/chat/index.js.map +1 -0
- package/dist/cli/commands/assistants/chat/types.d.ts +27 -0
- package/dist/cli/commands/assistants/chat/types.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/types.js +5 -0
- package/dist/cli/commands/assistants/chat/types.js.map +1 -0
- package/dist/cli/commands/assistants/chat/utils.d.ts +12 -0
- package/dist/cli/commands/assistants/chat/utils.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/utils.js +24 -0
- package/dist/cli/commands/assistants/chat/utils.js.map +1 -0
- package/dist/cli/commands/assistants/constants.d.ts +1 -0
- package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/constants.js.map +1 -1
- package/dist/cli/commands/assistants/index.js +2 -2
- package/dist/cli/commands/assistants/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +1 -1
- package/dist/cli/commands/assistants/setup/index.js +4 -4
- package/dist/cli/commands/assistants/setup/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.d.ts +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.js +5 -3
- package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +7 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/types.d.ts +2 -0
- package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.js +15 -4
- package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
- package/dist/cli/commands/hook.js +1 -1
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/plugin.d.ts +16 -0
- package/dist/cli/commands/plugin.d.ts.map +1 -0
- package/dist/cli/commands/plugin.js +210 -0
- package/dist/cli/commands/plugin.js.map +1 -0
- package/dist/cli/commands/setup.js +1 -1
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +3 -1
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/cli/commands/sound.d.ts +3 -0
- package/dist/cli/commands/sound.d.ts.map +1 -0
- package/dist/cli/commands/sound.js +87 -0
- package/dist/cli/commands/sound.js.map +1 -0
- package/dist/cli/commands/test-metrics.js +3 -5
- package/dist/cli/commands/test-metrics.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +8 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/plugins/core/index.d.ts +13 -0
- package/dist/plugins/core/index.d.ts.map +1 -0
- package/dist/plugins/core/index.js +15 -0
- package/dist/plugins/core/index.js.map +1 -0
- package/dist/plugins/core/manifest-parser.d.ts +28 -0
- package/dist/plugins/core/manifest-parser.d.ts.map +1 -0
- package/dist/plugins/core/manifest-parser.js +137 -0
- package/dist/plugins/core/manifest-parser.js.map +1 -0
- package/dist/plugins/core/plugin-cache.d.ts +65 -0
- package/dist/plugins/core/plugin-cache.d.ts.map +1 -0
- package/dist/plugins/core/plugin-cache.js +170 -0
- package/dist/plugins/core/plugin-cache.js.map +1 -0
- package/dist/plugins/core/plugin-loader.d.ts +21 -0
- package/dist/plugins/core/plugin-loader.d.ts.map +1 -0
- package/dist/plugins/core/plugin-loader.js +55 -0
- package/dist/plugins/core/plugin-loader.js.map +1 -0
- package/dist/plugins/core/plugin-resolver.d.ts +33 -0
- package/dist/plugins/core/plugin-resolver.d.ts.map +1 -0
- package/dist/plugins/core/plugin-resolver.js +118 -0
- package/dist/plugins/core/plugin-resolver.js.map +1 -0
- package/dist/plugins/core/types.d.ts +183 -0
- package/dist/plugins/core/types.d.ts.map +1 -0
- package/dist/plugins/core/types.js +22 -0
- package/dist/plugins/core/types.js.map +1 -0
- package/dist/plugins/loaders/agents-loader.d.ts +19 -0
- package/dist/plugins/loaders/agents-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/agents-loader.js +92 -0
- package/dist/plugins/loaders/agents-loader.js.map +1 -0
- package/dist/plugins/loaders/hooks-loader.d.ts +27 -0
- package/dist/plugins/loaders/hooks-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/hooks-loader.js +94 -0
- package/dist/plugins/loaders/hooks-loader.js.map +1 -0
- package/dist/plugins/loaders/mcp-loader.d.ts +24 -0
- package/dist/plugins/loaders/mcp-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/mcp-loader.js +86 -0
- package/dist/plugins/loaders/mcp-loader.js.map +1 -0
- package/dist/plugins/loaders/skills-loader.d.ts +30 -0
- package/dist/plugins/loaders/skills-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/skills-loader.js +167 -0
- package/dist/plugins/loaders/skills-loader.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js +1 -1
- package/dist/providers/plugins/jwt/jwt.setup-steps.js +1 -1
- package/dist/providers/plugins/jwt/jwt.template.js +1 -1
- package/dist/providers/plugins/litellm/litellm.template.js +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +10 -0
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +3 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.js +2 -3
- package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts +21 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js +159 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts +24 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.js +36 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts +19 -0
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/{conversation-sync-processor.js → syncProcessor.js} +48 -33
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/{conversation-types.d.ts → types.d.ts} +14 -2
- package/dist/providers/plugins/sso/session/processors/conversations/types.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/types.js +14 -0
- package/dist/providers/plugins/sso/session/processors/conversations/types.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +16 -17
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +3 -3
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +8 -38
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +2 -6
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +49 -31
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +1 -1
- package/dist/{agents/codemie-code/skills → skills}/core/SkillDiscovery.d.ts +10 -0
- package/dist/skills/core/SkillDiscovery.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/SkillDiscovery.js +64 -7
- package/dist/skills/core/SkillDiscovery.js.map +1 -0
- package/dist/skills/core/SkillManager.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/SkillManager.js +15 -10
- package/dist/skills/core/SkillManager.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/types.d.ts +3 -25
- package/dist/skills/core/types.d.ts.map +1 -0
- package/dist/skills/core/types.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/index.d.ts +3 -3
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/index.js +2 -2
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/sync/SkillSync.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/sync/SkillSync.js +5 -3
- package/dist/skills/sync/SkillSync.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/utils/content-loader.d.ts +2 -12
- package/dist/skills/utils/content-loader.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/utils/content-loader.js +3 -8
- package/dist/skills/utils/content-loader.js.map +1 -0
- package/dist/skills/utils/pattern-matcher.d.ts.map +1 -0
- package/dist/skills/utils/pattern-matcher.js.map +1 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/package.json +1 -1
- package/dist/agents/codemie-code/agent.d.ts +0 -129
- package/dist/agents/codemie-code/agent.d.ts.map +0 -1
- package/dist/agents/codemie-code/agent.js +0 -1106
- package/dist/agents/codemie-code/agent.js.map +0 -1
- package/dist/agents/codemie-code/config.d.ts +0 -40
- package/dist/agents/codemie-code/config.d.ts.map +0 -1
- package/dist/agents/codemie-code/config.js +0 -293
- package/dist/agents/codemie-code/config.js.map +0 -1
- package/dist/agents/codemie-code/filters.d.ts +0 -91
- package/dist/agents/codemie-code/filters.d.ts.map +0 -1
- package/dist/agents/codemie-code/filters.js +0 -328
- package/dist/agents/codemie-code/filters.js.map +0 -1
- package/dist/agents/codemie-code/index.d.ts +0 -93
- package/dist/agents/codemie-code/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/index.js +0 -359
- package/dist/agents/codemie-code/index.js.map +0 -1
- package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +0 -87
- package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +0 -1
- package/dist/agents/codemie-code/modes/contextAwarePlanning.js +0 -957
- package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +0 -1
- package/dist/agents/codemie-code/modes/planMode.d.ts +0 -116
- package/dist/agents/codemie-code/modes/planMode.d.ts.map +0 -1
- package/dist/agents/codemie-code/modes/planMode.js +0 -537
- package/dist/agents/codemie-code/modes/planMode.js.map +0 -1
- package/dist/agents/codemie-code/prompts.d.ts +0 -47
- package/dist/agents/codemie-code/prompts.d.ts.map +0 -1
- package/dist/agents/codemie-code/prompts.js +0 -207
- package/dist/agents/codemie-code/prompts.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillDiscovery.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillDiscovery.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillManager.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillManager.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/types.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/types.js.map +0 -1
- package/dist/agents/codemie-code/skills/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/index.js.map +0 -1
- package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/sync/SkillSync.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/content-loader.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/content-loader.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/frontmatter.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/frontmatter.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/pattern-matcher.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/pattern-matcher.js.map +0 -1
- package/dist/agents/codemie-code/storage/todoStorage.d.ts +0 -78
- package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +0 -1
- package/dist/agents/codemie-code/storage/todoStorage.js +0 -225
- package/dist/agents/codemie-code/storage/todoStorage.js.map +0 -1
- package/dist/agents/codemie-code/tokenUtils.d.ts +0 -108
- package/dist/agents/codemie-code/tokenUtils.d.ts.map +0 -1
- package/dist/agents/codemie-code/tokenUtils.js +0 -220
- package/dist/agents/codemie-code/tokenUtils.js.map +0 -1
- package/dist/agents/codemie-code/toolMetadata.d.ts +0 -15
- package/dist/agents/codemie-code/toolMetadata.d.ts.map +0 -1
- package/dist/agents/codemie-code/toolMetadata.js +0 -316
- package/dist/agents/codemie-code/toolMetadata.js.map +0 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts +0 -47
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.js +0 -129
- package/dist/agents/codemie-code/tools/assistant-invocation.js.map +0 -1
- package/dist/agents/codemie-code/tools/index.d.ts +0 -111
- package/dist/agents/codemie-code/tools/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/index.js +0 -424
- package/dist/agents/codemie-code/tools/index.js.map +0 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +0 -54
- package/dist/agents/codemie-code/tools/planning.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/planning.js +0 -226
- package/dist/agents/codemie-code/tools/planning.js.map +0 -1
- package/dist/agents/codemie-code/types.d.ts +0 -459
- package/dist/agents/codemie-code/types.d.ts.map +0 -1
- package/dist/agents/codemie-code/types.js +0 -59
- package/dist/agents/codemie-code/types.js.map +0 -1
- package/dist/agents/codemie-code/ui/autocomplete.d.ts +0 -98
- package/dist/agents/codemie-code/ui/autocomplete.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/autocomplete.js +0 -145
- package/dist/agents/codemie-code/ui/autocomplete.js.map +0 -1
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts +0 -112
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/keyHandlers.js +0 -415
- package/dist/agents/codemie-code/ui/keyHandlers.js.map +0 -1
- package/dist/agents/codemie-code/ui/mentions.d.ts +0 -86
- package/dist/agents/codemie-code/ui/mentions.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/mentions.js +0 -122
- package/dist/agents/codemie-code/ui/mentions.js.map +0 -1
- package/dist/agents/codemie-code/ui/progressTracker.d.ts +0 -125
- package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/progressTracker.js +0 -343
- package/dist/agents/codemie-code/ui/progressTracker.js.map +0 -1
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts +0 -38
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/terminalCodes.js +0 -42
- package/dist/agents/codemie-code/ui/terminalCodes.js.map +0 -1
- package/dist/agents/codemie-code/ui/todoPanel.d.ts +0 -112
- package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/todoPanel.js +0 -321
- package/dist/agents/codemie-code/ui/todoPanel.js.map +0 -1
- package/dist/agents/codemie-code/ui.d.ts +0 -180
- package/dist/agents/codemie-code/ui.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui.js +0 -1345
- package/dist/agents/codemie-code/ui.js.map +0 -1
- package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +0 -87
- package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/progressionEnforcer.js +0 -293
- package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +0 -1
- package/dist/agents/codemie-code/utils/todoParser.d.ts +0 -41
- package/dist/agents/codemie-code/utils/todoParser.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/todoParser.js +0 -305
- package/dist/agents/codemie-code/utils/todoParser.js.map +0 -1
- package/dist/agents/codemie-code/utils/todoValidator.d.ts +0 -65
- package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/todoValidator.js +0 -249
- package/dist/agents/codemie-code/utils/todoValidator.js.map +0 -1
- package/dist/agents/codemie-code/validators/planValidator.d.ts +0 -94
- package/dist/agents/codemie-code/validators/planValidator.d.ts.map +0 -1
- package/dist/agents/codemie-code/validators/planValidator.js +0 -281
- package/dist/agents/codemie-code/validators/planValidator.js.map +0 -1
- package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +0 -98
- package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.ps1 +0 -112
- package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.sh +0 -58
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts +0 -26
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts.map +0 -1
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.js +0 -38
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.js.map +0 -1
- package/dist/cli/commands/assistants/chat.d.ts.map +0 -1
- package/dist/cli/commands/assistants/chat.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts +0 -26
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js +0 -146
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +0 -22
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js +0 -7
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js.map +0 -1
- /package/dist/{agents/codemie-code/skills → skills}/core/SkillManager.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/core/types.js +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/sync/SkillSync.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/utils/pattern-matcher.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/utils/pattern-matcher.js +0 -0
- /package/dist/{agents/codemie-code/skills/utils → utils}/frontmatter.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills/utils → utils}/frontmatter.js +0 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ✅ GOOD COMMAND EXAMPLE
|
|
3
|
+
# Score: ~19/20 pts (Grade A)
|
|
4
|
+
#
|
|
5
|
+
# ✅ C1.1: Valid frontmatter with name + description
|
|
6
|
+
# ✅ C1.2: argument-hint matches $ARGUMENTS usage
|
|
7
|
+
# ✅ C1.3: Phase-based numbered workflow
|
|
8
|
+
# ✅ C1.4: Usage examples section present
|
|
9
|
+
# ✅ C2.1: Error handling table with failure cases
|
|
10
|
+
# ✅ C2.2: Output format defined
|
|
11
|
+
# ✅ C2.3: Validation gates (confirm before creating)
|
|
12
|
+
# ✅ C2.4: Argument parsing with defaults shown
|
|
13
|
+
#
|
|
14
|
+
# ⚠️ Minor gap: C2.4 — could show more complex argument validation
|
|
15
|
+
name: create-jira-ticket
|
|
16
|
+
description: Create a structured Jira ticket from code context, error analysis, or user description
|
|
17
|
+
argument-hint: "<type> <title> [--priority high|medium|low]"
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Create Jira Ticket
|
|
21
|
+
|
|
22
|
+
Creates a well-structured Jira ticket in the EPM-CDME project based on code
|
|
23
|
+
context, error analysis, or user description. Follows project template with
|
|
24
|
+
acceptance criteria and technical notes.
|
|
25
|
+
|
|
26
|
+
## Arguments
|
|
27
|
+
|
|
28
|
+
| Argument | Values | Default | Description |
|
|
29
|
+
|----------|--------|---------|-------------|
|
|
30
|
+
| `<type>` | `bug`, `story`, `task`, `epic` | required | Ticket type |
|
|
31
|
+
| `<title>` | string | required | Brief ticket title |
|
|
32
|
+
| `--priority` | `high`, `medium`, `low` | `medium` | Priority level |
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
/create-jira-ticket bug "Login fails on mobile Safari"
|
|
38
|
+
/create-jira-ticket story "Add dark mode toggle" --priority high
|
|
39
|
+
/create-jira-ticket task "Update API documentation"
|
|
40
|
+
/create-jira-ticket epic "Authentication system refactor"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Phase 1: Parse and Validate Arguments
|
|
46
|
+
|
|
47
|
+
Parse `$ARGUMENTS`:
|
|
48
|
+
|
|
49
|
+
1. Extract `<type>` — first token. If missing or invalid:
|
|
50
|
+
```
|
|
51
|
+
Valid types: bug, story, task, epic
|
|
52
|
+
What type of ticket? [bug/story/task/epic]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
2. Extract `<title>` — remaining text before flags. If missing:
|
|
56
|
+
```
|
|
57
|
+
What should the ticket title be?
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
3. Extract `--priority` flag. Default: `medium`
|
|
61
|
+
|
|
62
|
+
4. Validate:
|
|
63
|
+
- [ ] Type is one of: bug, story, task, epic
|
|
64
|
+
- [ ] Title is not empty
|
|
65
|
+
- [ ] Title length ≤ 255 characters (Jira limit)
|
|
66
|
+
|
|
67
|
+
**Abort if**: `JIRA_TOKEN` env var is not set — print:
|
|
68
|
+
```
|
|
69
|
+
Error: JIRA_TOKEN environment variable is required.
|
|
70
|
+
Set it with: export JIRA_TOKEN=your-token
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Phase 2: Gather Context
|
|
76
|
+
|
|
77
|
+
Collect relevant context based on type:
|
|
78
|
+
|
|
79
|
+
**For `bug`**:
|
|
80
|
+
- Run `git log --oneline -5` to show recent changes
|
|
81
|
+
- Read any error output or stack traces mentioned by user
|
|
82
|
+
- Identify affected file(s) if mentioned
|
|
83
|
+
|
|
84
|
+
**For `story`**:
|
|
85
|
+
- Read related files to understand current implementation
|
|
86
|
+
- Note what's missing vs what's needed
|
|
87
|
+
|
|
88
|
+
**For `task`** or **`epic`**:
|
|
89
|
+
- Review scope from user description
|
|
90
|
+
- Check for related existing tickets if mentioned
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Phase 3: Generate Ticket Description
|
|
95
|
+
|
|
96
|
+
Use the EPM-CDME template:
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
## Problem Statement
|
|
100
|
+
[Concrete, observable description of the bug or need.
|
|
101
|
+
For bugs: what happens vs what should happen.
|
|
102
|
+
For stories: what capability is missing.]
|
|
103
|
+
|
|
104
|
+
## Acceptance Criteria
|
|
105
|
+
- [ ] Criterion 1 (testable, pass/fail)
|
|
106
|
+
- [ ] Criterion 2
|
|
107
|
+
- [ ] Criterion 3 (minimum 3 criteria)
|
|
108
|
+
|
|
109
|
+
## Technical Notes
|
|
110
|
+
[Implementation hints, related files, potential approach, dependencies]
|
|
111
|
+
|
|
112
|
+
## Priority Justification
|
|
113
|
+
[Why this priority level: high = user-blocking, medium = important, low = nice-to-have]
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Checklist before proceeding:
|
|
117
|
+
- [ ] Problem is concrete and observable (not vague)
|
|
118
|
+
- [ ] Acceptance criteria are testable (binary pass/fail)
|
|
119
|
+
- [ ] Technical notes reference actual files or components
|
|
120
|
+
- [ ] Priority matches user impact
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Phase 4: Confirm Before Creating
|
|
125
|
+
|
|
126
|
+
Show the draft ticket for user approval:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
130
|
+
Creating Jira Ticket:
|
|
131
|
+
Project: EPM-CDME
|
|
132
|
+
Type: [Bug | Story | Task | Epic]
|
|
133
|
+
Title: [title]
|
|
134
|
+
Priority: [High | Medium | Low]
|
|
135
|
+
|
|
136
|
+
Description preview:
|
|
137
|
+
[first 200 chars of description...]
|
|
138
|
+
|
|
139
|
+
Create ticket? [y/n/edit]
|
|
140
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
- If `n`: Print "Cancelled." Exit cleanly.
|
|
144
|
+
- If `edit`: Re-prompt for which field to change.
|
|
145
|
+
- If `y`: Proceed to Phase 5.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Phase 5: Create and Report
|
|
150
|
+
|
|
151
|
+
1. POST to Jira API using `JIRA_TOKEN`
|
|
152
|
+
2. On success:
|
|
153
|
+
```
|
|
154
|
+
✓ Created: EPM-CDME-1234
|
|
155
|
+
https://jira.example.com/browse/EPM-CDME-1234
|
|
156
|
+
```
|
|
157
|
+
3. On failure: see Error Handling
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Error Handling
|
|
162
|
+
|
|
163
|
+
| Error | Action |
|
|
164
|
+
|-------|--------|
|
|
165
|
+
| `JIRA_TOKEN` not set | Print setup instructions. Exit without saving draft. |
|
|
166
|
+
| API 401 Unauthorized | "Invalid token. Check JIRA_TOKEN value." |
|
|
167
|
+
| API 403 Forbidden | "No permission for EPM-CDME project. Contact admin." |
|
|
168
|
+
| API 429 Rate Limited | Wait 30s, retry once. If fails again: save draft. |
|
|
169
|
+
| Network unreachable | Save draft to `./jira-ticket-draft.md`, print path. |
|
|
170
|
+
| Title >255 chars | Truncate to 252 chars, append "...", warn user. |
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "✅ GOOD HOOKS EXAMPLE — Score: ~18/20 pts (Grade A)",
|
|
3
|
+
"_notes": {
|
|
4
|
+
"H1.1": "✅ Valid JSON structure",
|
|
5
|
+
"H1.2": "✅ All event types are recognized (PreToolUse, PostToolUse)",
|
|
6
|
+
"H2.1": "✅ No hardcoded credentials — uses env var $AUDIT_WEBHOOK_URL",
|
|
7
|
+
"H2.2": "✅ Bash scripts use set -e and trap for error handling",
|
|
8
|
+
"H3.1": "✅ Matchers are scoped to specific tools (Write|Edit, Bash) not .*",
|
|
9
|
+
"H3.2": "✅ Each hook has a description field explaining its purpose"
|
|
10
|
+
},
|
|
11
|
+
"hooks": [
|
|
12
|
+
{
|
|
13
|
+
"event": "PreToolUse",
|
|
14
|
+
"description": "Block direct file writes to main branch — prevents accidental commits to protected branch",
|
|
15
|
+
"matcher": "Write|Edit",
|
|
16
|
+
"hooks": [
|
|
17
|
+
{
|
|
18
|
+
"type": "command",
|
|
19
|
+
"command": "bash -c 'set -e; trap \"echo Hook check failed >&2\" ERR; BRANCH=$(git branch --show-current 2>/dev/null || echo \"\"); if [ \"$BRANCH\" = \"main\" ] || [ \"$BRANCH\" = \"master\" ]; then echo \"ERROR: Direct writes to $BRANCH are blocked. Create a feature branch first.\" >&2; exit 1; fi'"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"event": "PostToolUse",
|
|
25
|
+
"description": "Run ESLint after TypeScript file modifications to catch issues immediately",
|
|
26
|
+
"matcher": "Edit|Write",
|
|
27
|
+
"hooks": [
|
|
28
|
+
{
|
|
29
|
+
"type": "command",
|
|
30
|
+
"command": "bash -c 'set -e; trap \"echo Lint hook failed on line $LINENO >&2\" ERR; FILE=$(echo \"$CLAUDE_TOOL_OUTPUT\" | grep -o \"[^ ]*\\.ts\" | head -1 || true); if [ -n \"$FILE\" ] && [ -f \"$FILE\" ]; then npx eslint \"$FILE\" --max-warnings=0 --quiet 2>&1 | tail -10; fi'"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"event": "PostToolUse",
|
|
36
|
+
"description": "Log tool usage for audit trail — posts to team webhook for compliance tracking",
|
|
37
|
+
"matcher": "Bash",
|
|
38
|
+
"hooks": [
|
|
39
|
+
{
|
|
40
|
+
"type": "command",
|
|
41
|
+
"command": "bash -c 'set -e; if [ -n \"$AUDIT_WEBHOOK_URL\" ]; then curl -sf -X POST \"$AUDIT_WEBHOOK_URL\" -H \"Content-Type: application/json\" -d \"{\\\"event\\\": \\\"bash_used\\\", \\\"session\\\": \\\"$CLAUDE_SESSION_ID\\\"}\" > /dev/null 2>&1 || true; fi'"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ✅ GOOD SKILL EXAMPLE
|
|
3
|
+
# Score: ~30/32 pts (Grade A)
|
|
4
|
+
# What makes it good: See inline comments marked ✅
|
|
5
|
+
#
|
|
6
|
+
# ✅ S1.1: Named SKILL.md in skills/ directory
|
|
7
|
+
# ✅ S1.2: name is [a-z0-9-]+ pattern
|
|
8
|
+
# ✅ S1.3: Description >20 chars, third-person, specific triggers
|
|
9
|
+
# ✅ S1.4: allowed-tools explicitly specified
|
|
10
|
+
# ✅ S2.1: Step-by-step methodology
|
|
11
|
+
# ✅ S2.2: Output format section defined
|
|
12
|
+
# ✅ S2.3: Concrete examples provided
|
|
13
|
+
# ✅ S2.4: Actionable checklists present
|
|
14
|
+
# ✅ S3.1: No absolute paths
|
|
15
|
+
# ✅ S3.2: No secrets
|
|
16
|
+
# ✅ S4.1: Single focused purpose
|
|
17
|
+
# ✅ S4.2: "When to use" section present
|
|
18
|
+
#
|
|
19
|
+
# ⚠️ Minor gap: S3.4 — no dependencies section (would add 1 pt)
|
|
20
|
+
---
|
|
21
|
+
name: commit-helper
|
|
22
|
+
description: This skill should be used when the user asks to "commit my changes",
|
|
23
|
+
"create a conventional commit", "write a commit message", "stage and commit files",
|
|
24
|
+
or wants to follow conventional commits format. Guides through staged file review,
|
|
25
|
+
semantic commit message generation, and commit creation with pre-commit validation.
|
|
26
|
+
allowed-tools: [Read, Bash, Glob]
|
|
27
|
+
version: 1.0.0
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Commit Helper
|
|
32
|
+
|
|
33
|
+
Guides staged commit creation following the Conventional Commits specification.
|
|
34
|
+
Generates semantic commit messages based on diff analysis and confirms before committing.
|
|
35
|
+
|
|
36
|
+
## When to Use
|
|
37
|
+
|
|
38
|
+
Use this skill when:
|
|
39
|
+
- User has staged changes and wants a commit message
|
|
40
|
+
- User wants to follow conventional commits format automatically
|
|
41
|
+
- User needs to review staged changes before committing
|
|
42
|
+
- User says "commit", "create a commit", "stage and commit"
|
|
43
|
+
|
|
44
|
+
Do NOT use this skill for:
|
|
45
|
+
- Pushing to remote (that's a separate action requiring user confirmation)
|
|
46
|
+
- Creating pull requests (use `pr-creator` skill)
|
|
47
|
+
- Branch management operations
|
|
48
|
+
|
|
49
|
+
## Methodology
|
|
50
|
+
|
|
51
|
+
### Step 1: Review Staged Changes
|
|
52
|
+
|
|
53
|
+
1. Run `git status` to list staged and unstaged files
|
|
54
|
+
2. Run `git diff --cached` to review the full staged diff
|
|
55
|
+
3. If no files staged: warn user and exit — do not commit unstaged work
|
|
56
|
+
|
|
57
|
+
### Step 2: Determine Commit Type
|
|
58
|
+
|
|
59
|
+
Map changes to conventional commit types:
|
|
60
|
+
|
|
61
|
+
| Type | When to use |
|
|
62
|
+
|------|-------------|
|
|
63
|
+
| `feat` | New feature or behavior added |
|
|
64
|
+
| `fix` | Bug fix |
|
|
65
|
+
| `refactor` | Code change that neither fixes a bug nor adds feature |
|
|
66
|
+
| `docs` | Documentation only |
|
|
67
|
+
| `test` | Adding or updating tests |
|
|
68
|
+
| `chore` | Build process, tooling, dependencies |
|
|
69
|
+
| `ci` | CI/CD pipeline changes |
|
|
70
|
+
| `perf` | Performance improvement |
|
|
71
|
+
|
|
72
|
+
### Step 3: Generate Commit Message
|
|
73
|
+
|
|
74
|
+
Format:
|
|
75
|
+
```
|
|
76
|
+
<type>(<scope>): <description>
|
|
77
|
+
|
|
78
|
+
[optional body]
|
|
79
|
+
|
|
80
|
+
[optional footer]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Checklist:
|
|
84
|
+
- [ ] Type is lowercase and from the table above
|
|
85
|
+
- [ ] Scope is the module, component, or area affected
|
|
86
|
+
- [ ] Description is imperative mood ("add" not "added"), lowercase, <72 chars, no period
|
|
87
|
+
- [ ] Body explains WHY (not WHAT — the diff shows WHAT)
|
|
88
|
+
- [ ] Breaking changes use `feat!:` or `fix!:` and include `BREAKING CHANGE:` footer
|
|
89
|
+
|
|
90
|
+
### Step 4: Confirm and Commit
|
|
91
|
+
|
|
92
|
+
Show the proposed commit for user approval:
|
|
93
|
+
```
|
|
94
|
+
Staged files:
|
|
95
|
+
modified: src/auth/login.ts
|
|
96
|
+
modified: src/auth/token.ts
|
|
97
|
+
|
|
98
|
+
Proposed commit:
|
|
99
|
+
fix(auth): refresh OAuth token before expiry on 401 response
|
|
100
|
+
|
|
101
|
+
Tokens were silently expiring mid-session causing user logout.
|
|
102
|
+
Refresh is now triggered proactively when token age > 80% of TTL.
|
|
103
|
+
|
|
104
|
+
Commit? [y/n/edit]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- [ ] User confirmed `y` before running `git commit`
|
|
108
|
+
- [ ] If user says `edit`: re-prompt for message
|
|
109
|
+
- [ ] Never use `--no-verify` unless user explicitly requests it
|
|
110
|
+
|
|
111
|
+
## Output Format
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Staged: [list of files]
|
|
115
|
+
|
|
116
|
+
Proposed message:
|
|
117
|
+
[type(scope): description]
|
|
118
|
+
|
|
119
|
+
[body if needed]
|
|
120
|
+
|
|
121
|
+
✓ Committed: [hash] [message]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Error Handling
|
|
125
|
+
|
|
126
|
+
| Situation | Action |
|
|
127
|
+
|-----------|--------|
|
|
128
|
+
| No staged files | Print: "No staged files. Use `git add` first." Exit. |
|
|
129
|
+
| User cancels | Print: "Commit cancelled." Exit cleanly. |
|
|
130
|
+
| Pre-commit hook fails | Print hook output, do NOT retry, suggest fixing the issue |
|
|
131
|
+
| `git commit` fails | Show error message, do not suppress it |
|
|
132
|
+
|
|
133
|
+
## Examples
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# User: "commit my changes"
|
|
137
|
+
→ Run git status + diff, generate message, show for confirmation
|
|
138
|
+
|
|
139
|
+
# User: "commit the auth fix as a hotfix"
|
|
140
|
+
→ Use type=fix, analyze staged auth files, generate message
|
|
141
|
+
|
|
142
|
+
# User: "commit with message 'update readme'"
|
|
143
|
+
→ Use user's message, format to conventional commits if needed
|
|
144
|
+
```
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Claude Setup Audit Report
|
|
2
|
+
|
|
3
|
+
**Project**: `/Users/developer/my-app`
|
|
4
|
+
**Date**: 2026-03-02
|
|
5
|
+
**Assessed by**: claude-setup-audit v1.0.0
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overall Score: 71% (Grade C)
|
|
10
|
+
|
|
11
|
+
> ⚠️ **3 of 8 components are below the production threshold (80% / Grade B)**
|
|
12
|
+
|
|
13
|
+
| Component | Files | Avg Score | Grade | Production Ready |
|
|
14
|
+
|-----------|-------|-----------|-------|-----------------|
|
|
15
|
+
| Skills | 3 | 84% | B | 2/3 (67%) ✅ |
|
|
16
|
+
| Agents | 2 | 58% | F | 0/2 (0%) ❌ |
|
|
17
|
+
| CLAUDE.md | 1 | 73% | C | 0/1 ⚠️ |
|
|
18
|
+
| Commands | 2 | 90% | A | 2/2 (100%) ✅ |
|
|
19
|
+
| Hooks | 1 | 65% | D | 0/1 ❌ |
|
|
20
|
+
| MCP Config | 1 | 85% | B | 1/1 (100%) ✅ |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Issues by Priority
|
|
25
|
+
|
|
26
|
+
### 🔴 Critical (Fix Before Production)
|
|
27
|
+
|
|
28
|
+
**1. Hardcoded API key in `.claude/settings.json`** (Hook: `audit-logger`)
|
|
29
|
+
- **Issue**: Literal API key `sk-prod-abc123` found in hook command string
|
|
30
|
+
- **Risk**: Credential exposed in version control if file is committed
|
|
31
|
+
- **Fix**: Replace with env var reference: `$AUDIT_API_KEY`
|
|
32
|
+
- **Reference**: See `examples/bad-hooks.json` line 12 → `examples/good-hooks.json` line 18
|
|
33
|
+
|
|
34
|
+
**2. Agent `analyzer.md` — Grade F (47%)**
|
|
35
|
+
- **Issue**: No model specified, no role statement, no output format, Bash unjustified
|
|
36
|
+
- **Risk**: Unpredictable behavior and cost; Bash access without constraints
|
|
37
|
+
- **Fix**: Add frontmatter `model: claude-sonnet-4-6`; add "You are..." role; justify Bash
|
|
38
|
+
- **Reference**: See `examples/bad-agent.md` → `examples/good-agent.md`
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### 🟡 Important (Fix Soon)
|
|
43
|
+
|
|
44
|
+
**3. Agent `summarizer.md` — Grade D (63%)**
|
|
45
|
+
- Missing: model (−3 pts), anti-hallucination section (−2 pts), 3+ examples (−1 pt)
|
|
46
|
+
- **Quick fix**: Add 3 lines to frontmatter + one "Source Verification" section
|
|
47
|
+
|
|
48
|
+
**4. CLAUDE.md — Grade C (73%)**
|
|
49
|
+
- Missing: quick-reference task classifier table (−2 pts), ✅/❌ pattern examples (−2 pts)
|
|
50
|
+
- Has: coding standards, workflow policies, critical rules ✓
|
|
51
|
+
- **Fix**: Add a "Task Classifier" table and one before/after code example per major rule
|
|
52
|
+
|
|
53
|
+
**5. Hook `audit-logger` — Grade D (65%)** *(aside from the Critical security issue above)*
|
|
54
|
+
- Matcher is `.*` (runs on every tool use) — should target `Bash` only
|
|
55
|
+
- No `description` field on the hook object
|
|
56
|
+
- No error handling in bash script (`set -e` missing)
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### 🔵 Minor (Polish)
|
|
61
|
+
|
|
62
|
+
**6. Skill `data-processor` — Grade B (81%)**
|
|
63
|
+
- Missing: actionable checklists `- [ ]` (−2 pts)
|
|
64
|
+
- Easy win: add 3 checkbox items to the workflow section
|
|
65
|
+
|
|
66
|
+
**7. Naming inconsistency**
|
|
67
|
+
- Agent file `Summarizer.md` uses PascalCase — rename to `summarizer.md`
|
|
68
|
+
- Skill `data_processor/` uses underscore — rename to `data-processor/`
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Per-Component Details
|
|
73
|
+
|
|
74
|
+
<details>
|
|
75
|
+
<summary>Skills — 3 files, avg 84%, Grade B</summary>
|
|
76
|
+
|
|
77
|
+
| File | Score | Grade | Top Issues |
|
|
78
|
+
|------|-------|-------|------------|
|
|
79
|
+
| `.claude/skills/commit-helper/SKILL.md` | 94% | A | None |
|
|
80
|
+
| `.claude/skills/data-processor/SKILL.md` | 81% | B | Missing checklists (-2 pts) |
|
|
81
|
+
| `.claude/skills/deploy-helper/SKILL.md` | 78% | C | No "When to use" triggers (-2), no output format (-2) |
|
|
82
|
+
|
|
83
|
+
**deploy-helper gaps**:
|
|
84
|
+
```
|
|
85
|
+
❌ S4.2: No "When to use" section
|
|
86
|
+
→ Add: "## When to Use / Do NOT use this for..."
|
|
87
|
+
→ See: examples/good-skill.md line 14–22
|
|
88
|
+
|
|
89
|
+
❌ S2.2: Output format not defined
|
|
90
|
+
→ Add: "## Output Format" section
|
|
91
|
+
```
|
|
92
|
+
</details>
|
|
93
|
+
|
|
94
|
+
<details>
|
|
95
|
+
<summary>Agents — 2 files, avg 58%, Grade F</summary>
|
|
96
|
+
|
|
97
|
+
| File | Score | Grade | Top Issues |
|
|
98
|
+
|------|-------|-------|------------|
|
|
99
|
+
| `.claude/agents/analyzer.md` | 47% | F | No model, no role, Bash unjustified, no examples |
|
|
100
|
+
| `.claude/agents/summarizer.md` | 69% | D | No model, no anti-hallucination, weak examples |
|
|
101
|
+
|
|
102
|
+
**analyzer.md failed criteria**:
|
|
103
|
+
```
|
|
104
|
+
❌ A1.3: No model specified (−3 pts)
|
|
105
|
+
→ Add to frontmatter: model: claude-sonnet-4-6
|
|
106
|
+
|
|
107
|
+
❌ A2.1: No role statement (−2 pts)
|
|
108
|
+
→ Add: "You are a data analyst specializing in..."
|
|
109
|
+
|
|
110
|
+
❌ A1.4: Bash in tools without justification (−3 pts)
|
|
111
|
+
→ Add comment: # Bash required for: running analysis scripts
|
|
112
|
+
|
|
113
|
+
❌ A2.4: No anti-hallucination measures (−2 pts)
|
|
114
|
+
→ Add "## Source Verification" section
|
|
115
|
+
→ See: examples/good-agent.md line 47–51
|
|
116
|
+
|
|
117
|
+
❌ A3.1: Only 1 example (needs ≥3) (−1 pt)
|
|
118
|
+
```
|
|
119
|
+
</details>
|
|
120
|
+
|
|
121
|
+
<details>
|
|
122
|
+
<summary>CLAUDE.md — 73%, Grade C</summary>
|
|
123
|
+
|
|
124
|
+
**Passing criteria** (19/30 pts):
|
|
125
|
+
- ✅ R1.1: Coding standards section present
|
|
126
|
+
- ✅ R1.2: Git workflow policy documented
|
|
127
|
+
- ✅ R1.3: MANDATORY/NEVER directives present
|
|
128
|
+
- ✅ R2.1: Instructions are actionable
|
|
129
|
+
- ✅ R2.3: Prohibitions stated
|
|
130
|
+
|
|
131
|
+
**Failing criteria** (−8 pts):
|
|
132
|
+
```
|
|
133
|
+
❌ R2.2: No trigger conditions on rules (−3 pts)
|
|
134
|
+
→ Rules say "NEVER use --no-verify" but don't say when this applies
|
|
135
|
+
→ Add: "When user says 'commit': NEVER use --no-verify"
|
|
136
|
+
→ See: examples/good-claude-md-snippet.md line 18–22
|
|
137
|
+
|
|
138
|
+
❌ R3.2: No quick-reference table (−2 pts)
|
|
139
|
+
→ Add a "Task Classifier" table mapping keywords to policies
|
|
140
|
+
→ See: examples/good-claude-md-snippet.md line 9–15
|
|
141
|
+
|
|
142
|
+
❌ R3.3: No ✅/❌ pattern examples (−2 pts)
|
|
143
|
+
→ Add one before/after code block for TypeScript imports or git commits
|
|
144
|
+
→ See: examples/good-claude-md-snippet.md line 32–40
|
|
145
|
+
|
|
146
|
+
❌ R4.2: Technology versions not mentioned (−1 pt)
|
|
147
|
+
→ Add: "Node.js >=20.0.0 required"
|
|
148
|
+
```
|
|
149
|
+
</details>
|
|
150
|
+
|
|
151
|
+
<details>
|
|
152
|
+
<summary>Commands — 2 files, avg 90%, Grade A</summary>
|
|
153
|
+
|
|
154
|
+
| File | Score | Grade | Notes |
|
|
155
|
+
|------|-------|-------|-------|
|
|
156
|
+
| `.claude/commands/create-ticket.md` | 95% | A | Excellent |
|
|
157
|
+
| `.claude/commands/summarize-pr.md` | 85% | B | Missing validation gates |
|
|
158
|
+
|
|
159
|
+
</details>
|
|
160
|
+
|
|
161
|
+
<details>
|
|
162
|
+
<summary>Hooks — 65%, Grade D (+ Critical security issue)</summary>
|
|
163
|
+
|
|
164
|
+
See Critical issue #1 above. Additional failures:
|
|
165
|
+
- H3.1: `.*` matcher runs on all tools (should be `Bash` only)
|
|
166
|
+
- H3.2: No `description` field on hook
|
|
167
|
+
- H2.2: No `set -e` in bash command
|
|
168
|
+
</details>
|
|
169
|
+
|
|
170
|
+
<details>
|
|
171
|
+
<summary>MCP Config — 85%, Grade B</summary>
|
|
172
|
+
|
|
173
|
+
**Passing**: Valid JSON, `mcpServers` structure, env var references, descriptive names.
|
|
174
|
+
|
|
175
|
+
**Gaps**:
|
|
176
|
+
```
|
|
177
|
+
⚠️ M3.2: Required env vars not documented in README (−3 pts)
|
|
178
|
+
→ Add a ## MCP Configuration section to README.md listing:
|
|
179
|
+
- JIRA_TOKEN: your Jira API token (Settings > Personal Access Tokens)
|
|
180
|
+
- GITHUB_TOKEN: GitHub PAT with repo scope
|
|
181
|
+
```
|
|
182
|
+
</details>
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Cross-Component Analysis
|
|
187
|
+
|
|
188
|
+
### Coverage Gaps
|
|
189
|
+
- ✅ CLAUDE.md present (agents exist)
|
|
190
|
+
- ⚠️ `analyzer.md` references `parse-data` skill — but `.claude/skills/parse-data/` not found
|
|
191
|
+
- ✅ Commands have corresponding agents
|
|
192
|
+
|
|
193
|
+
### Naming Consistency Issues
|
|
194
|
+
- `Summarizer.md` → rename to `summarizer.md`
|
|
195
|
+
- `data_processor/` → rename to `data-processor/`
|
|
196
|
+
|
|
197
|
+
### Duplication Check
|
|
198
|
+
- `analyzer.md` and `summarizer.md` descriptions have 52% Jaccard overlap — consider merging or differentiating scope
|
|
199
|
+
|
|
200
|
+
### Security Sweep
|
|
201
|
+
```
|
|
202
|
+
⚠️ .claude/settings.json: sk-prod-abc123 [line 14]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Recommended Action Plan
|
|
208
|
+
|
|
209
|
+
**Week 1 (Critical)**:
|
|
210
|
+
1. Remove hardcoded key from `settings.json` → use `$AUDIT_API_KEY`
|
|
211
|
+
2. Fix `analyzer.md`: add model, role statement, Bash justification
|
|
212
|
+
|
|
213
|
+
**Week 2 (Important)**:
|
|
214
|
+
3. Fix `summarizer.md`: model + anti-hallucination + examples
|
|
215
|
+
4. Improve CLAUDE.md: add task classifier table + pattern examples
|
|
216
|
+
5. Fix hook matcher from `.*` to `Bash`
|
|
217
|
+
|
|
218
|
+
**Week 3 (Polish)**:
|
|
219
|
+
6. Add checklists to `data-processor` skill
|
|
220
|
+
7. Fix file naming: PascalCase and underscore → kebab-case
|
|
221
|
+
8. Document required MCP env vars in README
|
|
222
|
+
|
|
223
|
+
**Re-run after fixes**: Target overall score ≥85% (Grade B).
|