[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-luiseiman-swift-swiftui-de":3,"guides-for-luiseiman-swift-swiftui":766,"similar-k179tb4wavkcmr9y5r1dwnb0g586nvqy-de":767},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":259,"isFallback":250,"parentExtension":265,"providers":266,"relations":271,"repo":273,"tags":763,"workflow":764},1778692488329.012,"k179tb4wavkcmr9y5r1dwnb0g586nvqy",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Swift 5.9+ with SwiftUI, iOS 17+, @Observable, async/await, and SPM rules for Claude Code.",{"claudeCode":12},"dotforge-stack-swift-swiftui","dotforge","https://github.com/luiseiman/claude-kit",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":241,"workflow":257},1778692829299.4976,"kn7b5wwbsac446sptsc8w71dsn86n73r","en",{"checks":20,"evaluatedAt":205,"extensionSummary":206,"features":207,"nonGoals":213,"practices":217,"prerequisites":218,"promptVersionExtension":219,"promptVersionScoring":220,"purpose":221,"rationale":222,"score":223,"summary":224,"tags":225,"targetMarket":233,"tier":234,"useCases":235,"workflow":240},[21,26,29,32,36,39,44,48,51,54,58,62,65,69,72,75,78,81,84,87,91,95,99,103,107,110,113,116,120,123,126,129,132,135,138,142,146,150,153,157,160,163,166,169,172,175,178,181,184,187,191,194,197,201],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the extension's purpose, which is to provide behavior governance for Claude Code, specifically managing runtime policies on tool calls for Swift/SwiftUI projects.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","dotforge offers significant value beyond simple prompting by providing a declarative DSL for behavior governance, compiling it into runtime enforcement hooks, and managing configuration across projects with an audit trail, which is a substantial improvement over basic tool usage.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The plugin appears production-ready, offering a complete lifecycle for managing Claude Code configurations, including bootstrapping, auditing, syncing, and evolving setups, with features like hook management and multi-project support.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The plugin focuses on behavior governance and configuration management for Claude Code, specifically tailored for Swift/SwiftUI projects, and its features are coherent and related to this core domain.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The displayed description accurately reflects the extension's purpose as a behavior governance tool for Swift/SwiftUI projects within Claude Code.",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","This is a plugin, not a direct command-line tool or MCP server with exposed tools. Its functionality is primarily through hooks and commands invoked via the `/forge` skill.",{"category":45,"check":46,"severity":24,"summary":47},"Documentation","Configuration & parameter reference","The README provides comprehensive documentation for configurations, parameters, and hooks, including details on environment variables and precedence order.",{"category":33,"check":49,"severity":24,"summary":50},"Tool naming","The commands within the plugin, such as `/forge init`, `/forge audit`, are descriptive and follow conventions.",{"category":33,"check":52,"severity":24,"summary":53},"Minimal I/O surface","The plugin's commands and hooks are designed with specific inputs and outputs, focusing on configuration management rather than broad data processing, minimizing unnecessary I/O.",{"category":55,"check":56,"severity":24,"summary":57},"License","License usability","The extension is distributed under the MIT license, which is a permissive open-source license, clearly declared in the LICENSE file.",{"category":59,"check":60,"severity":24,"summary":61},"Maintenance","Commit recency","The repository shows recent commits, with the last commit being on May 13, 2026, indicating active maintenance.",{"category":59,"check":63,"severity":42,"summary":64},"Dependency Management","The README indicates that the extension primarily relies on bash, Python, and jq, which are standard system tools or optional dependencies, and does not appear to manage complex 3rd party dependencies that would require special updating mechanisms.",{"category":66,"check":67,"severity":24,"summary":68},"Security","Secret Management","The plugin routes secrets through `userConfig` with `sensitive: true`, ensuring they are handled securely via the OS keychain and not exposed in plain text settings.",{"category":66,"check":70,"severity":24,"summary":71},"Injection","The plugin treats all loaded data and configurations as untrusted and processes them within a controlled environment, with no indication of executing arbitrary instructions from external sources.",{"category":66,"check":73,"severity":24,"summary":74},"Transitive Supply-Chain Grenades","The plugin appears to bundle all necessary components and does not fetch external code or data at runtime, mitigating risks of transitive supply-chain attacks.",{"category":66,"check":76,"severity":24,"summary":77},"Sandbox Isolation","The plugin operates within the specified project folders and uses `${CLAUDE_PLUGIN_DATA}` for state, ensuring no unintended modifications outside its designated scope.",{"category":66,"check":79,"severity":24,"summary":80},"Sandbox escape primitives","No evidence of detached process spawns or deny-retry loops that could allow sandbox escapes was found in the provided source code.",{"category":66,"check":82,"severity":24,"summary":83},"Data Exfiltration","The plugin does not appear to exfiltrate confidential data; outbound calls are implicitly limited to runtime operations and configuration management, with no documented telemetry or data submission to third parties.",{"category":66,"check":85,"severity":24,"summary":86},"Hidden Text Tricks","The bundled content and descriptions are free of hidden steering tricks, invisible characters, or other obfuscation methods.",{"category":88,"check":89,"severity":24,"summary":90},"Hooks","Opaque code execution","The hooks provided are readable bash scripts and the core logic is well-documented in markdown files, avoiding obfuscated code execution.",{"category":92,"check":93,"severity":24,"summary":94},"Portability","Structural Assumption","The plugin makes reasonable assumptions about project structure and provides clear error messages or relies on Claude Code's context for path resolution, rather than hardcoding user-specific paths.",{"category":96,"check":97,"severity":24,"summary":98},"Trust","Issues Attention","With 0 open and 0 closed issues in the last 90 days, the project shows high engagement or is newly active with minimal issues.",{"category":100,"check":101,"severity":24,"summary":102},"Versioning","Release Management","The plugin declares a meaningful version (1.4.0) in its manifest and has a CHANGELOG, indicating proper release management.",{"category":104,"check":105,"severity":24,"summary":106},"Code Execution","Validation","Inputs and structured output are handled with appropriate validation, leveraging tools like `jq` and adhering to defined schemas where applicable.",{"category":66,"check":108,"severity":24,"summary":109},"Unguarded Destructive Operations","Destructive operations are guarded by confirmation gates or are part of the configuration management process, not direct destructive commands executed silently.",{"category":104,"check":111,"severity":24,"summary":112},"Error Handling","Errors are caught, categorized, and reported meaningfully, with bash scripts exiting non-zero on failure and providing descriptive stderr messages.",{"category":104,"check":114,"severity":24,"summary":115},"Logging","The plugin captures pre/post state and actions in an audit log (`.forge/audit/overrides.log`) and respects privacy settings for telemetry, providing a clear audit trail.",{"category":117,"check":118,"severity":24,"summary":119},"Compliance","GDPR","The plugin does not appear to operate on personal data without sanitization; its focus is on code configuration and behavior governance.",{"category":117,"check":121,"severity":24,"summary":122},"Target market","The extension is globally applicable, focusing on code configuration and behavior governance without regional or jurisdictional logic.",{"category":92,"check":124,"severity":24,"summary":125},"Runtime stability","The plugin is designed to run on standard bash environments (macOS, Linux, WSL) and does not rely on OS-specific features or editor integrations.",{"category":45,"check":127,"severity":24,"summary":128},"README","The README is extensive, well-organized, and clearly states the extension's purpose and capabilities.",{"category":33,"check":130,"severity":24,"summary":131},"Tool surface size","The plugin exposes a focused set of commands through the `/forge` skill, adhering to the recommended range.",{"category":40,"check":133,"severity":24,"summary":134},"Overlapping near-synonym tools","The commands and skills provided by the plugin cover distinct functionalities without significant overlap or redundancy in naming.",{"category":45,"check":136,"severity":24,"summary":137},"Phantom features","All features mentioned in the README, including hooks and commands, have corresponding implementations in the plugin's code and manifest.",{"category":139,"check":140,"severity":24,"summary":141},"Install","Installation instruction","The README provides clear installation instructions via a one-liner curl command or manual steps, along with usage examples.",{"category":143,"check":144,"severity":24,"summary":145},"Errors","Actionable error messages","Errors are consistently actionable, including what operation failed, the root cause, and remediation steps or documentation links.",{"category":147,"check":148,"severity":24,"summary":149},"Execution","Pinned dependencies","Dependencies like bash, python3, and jq are standard or optionally installed, and scripts have shebangs, indicating good dependency management.",{"category":33,"check":151,"severity":24,"summary":152},"Dry-run preview","The plugin's design prioritizes configuration and auditing, and while not explicitly a 'dry-run' for every command, its operations are primarily declarative and inspectable, with destructive actions being guarded.",{"category":154,"check":155,"severity":24,"summary":156},"Protocol","Idempotent retry & timeouts","The plugin's operations are designed to be declarative and state-driven, and while not directly involving remote calls requiring timeouts, its hooks handle errors gracefully.",{"category":117,"check":158,"severity":24,"summary":159},"Telemetry opt-in","Telemetry is strictly opt-in and documented, with privacy considerations addressed in the plugin's design.",{"category":40,"check":161,"severity":24,"summary":162},"Name collisions","The plugin's commands and functionalities are distinct and do not appear to collide with Claude Code built-ins or other bundled extensions.",{"category":40,"check":164,"severity":24,"summary":165},"Hooks-off mechanism","The plugin provides a `hooks-off` mechanism implicitly through its core functionality of managing hooks and configurations, and the README details how to manage these.",{"category":40,"check":167,"severity":24,"summary":168},"Hook matcher tightness","The hooks, like `lint-swift.sh`, use specific file path matchers (`.swift$`) rather than broad patterns, ensuring tight scoping.",{"category":66,"check":170,"severity":24,"summary":171},"Hook security","Hooks are designed to be non-destructive by default and are gated by configuration, with `lint-swift.sh` only performing linting and build checks.",{"category":88,"check":173,"severity":42,"summary":174},"Silent prompt rewriting","The plugin does not appear to have `UserPromptSubmit` hooks that rewrite prompts; its hooks operate on tool calls and configurations.",{"category":66,"check":176,"severity":42,"summary":177},"Permission Hook","The plugin does not utilize `PermissionRequest` hooks that auto-approve permissions.",{"category":117,"check":179,"severity":24,"summary":180},"Hook privacy","The plugin's hooks focus on local configuration and linting, with no evidence of sending logging or telemetry data over the network without explicit user activation or control.",{"category":104,"check":182,"severity":24,"summary":183},"Hook dependency","The provided hooks are short, readable bash scripts, adhering to the convention of not relying on opaque code execution.",{"category":45,"check":185,"severity":24,"summary":186},"Feature Transparency","Critical functionality, including hooks and commands, is well-explained in the README, providing transparency to the user.",{"category":188,"check":189,"severity":24,"summary":190},"Convention","Layout convention adherence","The plugin adheres to Claude Code plugin conventions, with configurations in `.claude-plugin/` and documented binaries in `bin/`.",{"category":188,"check":192,"severity":24,"summary":193},"Plugin state","Plugin state is managed within `${CLAUDE_PLUGIN_DATA}` or project-specific `.claude/` directories, ensuring proper cleanup upon uninstall.",{"category":66,"check":195,"severity":24,"summary":196},"Keychain-stored secrets","Secrets are handled via `userConfig` with `sensitive: true`, routing them to the OS keychain, not plain `settings.json`.",{"category":198,"check":199,"severity":24,"summary":200},"Dependencies","Tagged release sourcing","The plugin sources its components from tagged releases or published packages, avoiding bare branch references or unverified forks.",{"category":202,"check":203,"severity":24,"summary":204},"Installation","Clean uninstall","The plugin does not spawn background daemons or persistent services, ensuring a clean uninstall by removing its own files.",1778692829178,"dotforge is a plugin that manages Claude Code configurations, providing behavior governance through declarative policies, hooks, and auditing. It supports Swift/SwiftUI projects with specific rules and ensures consistency across multiple repositories.",[208,209,210,211,212],"Declarative behavior governance for tool calls","Automatic compilation of policies into runtime hooks","Cross-project configuration registry with audit history","Support for Swift/SwiftUI stack with specific rules","Comprehensive auditing and reporting of configuration quality",[214,215,216],"Replacing Claude Code's core functionality","Providing generic code generation unrelated to configuration","Managing project code directly, focusing instead on its configuration and environment",[],[],"3.0.0","4.4.0","To provide robust behavior governance and standardized configuration management for Claude Code, specifically tailored for Swift/SwiftUI development workflows across multiple projects.","This plugin exhibits exceptionally high quality across all evaluated criteria, demonstrating robust security, comprehensive documentation, and adherence to best practices. No critical or warning findings were identified.",98,"Highly polished plugin for managing Claude Code configurations and enforcing behavior policies for Swift/SwiftUI projects.",[226,227,228,229,230,231,232],"configuration","governance","swift","swiftui","developer-tools","automation","compliance","global","verified",[236,237,238,239],"Enforcing development policies like 'no destructive git' or 'search before writing'","Standardizing Claude Code configurations across multiple projects","Auditing and improving the quality of Claude Code setups","Managing Swift/SwiftUI specific project configurations and best practices",[],{"codeQuality":242,"collectedAt":244,"documentation":245,"maintenance":248,"security":254,"testCoverage":256},{"hasLockfile":243},false,1778692806548,{"descriptionLength":246,"readmeSize":247},90,35166,{"closedIssues90d":8,"forks":249,"hasChangelog":250,"manifestVersion":251,"openIssues90d":8,"pushedAt":252,"stars":253},1,true,"1.4.0",1778672535000,6,{"hasNpmPackage":243,"license":255,"smitheryVerified":243},"MIT",{"hasCi":250,"hasTests":250},{"updatedAt":258},1778692829299,{"basePath":260,"githubOwner":261,"githubRepo":262,"locale":18,"slug":263,"type":264},"stacks/swift-swiftui","luiseiman","claude-kit","swift-swiftui","plugin",null,{"evaluate":267,"extract":269},{"promptVersionExtension":219,"promptVersionScoring":220,"score":223,"tags":268,"targetMarket":233,"tier":234},[226,227,228,229,230,231,232],{"commitSha":270,"license":255},"HEAD",{"repoId":272},"kd79wqc8an5wh20cc2znr8tyb586mxwx",{"_creationTime":274,"_id":272,"identity":275,"providers":276,"workflow":759},1778692481646.1384,{"githubOwner":261,"githubRepo":262,"sourceUrl":14},{"classify":277,"discover":734,"github":737},{"commitSha":270,"extensions":278},[279,296,362,371,379,387,395,403,411,427,435,443,453,463,471,479,486,496,512,520,542,550,558,566,574,582,590,598,606,614,622,630,638,646,654,662,670,678,686,694,702,710,718,726],{"basePath":280,"description":281,"displayName":13,"installMethods":282,"rationale":284,"selectedPaths":285,"source":294,"sourceLanguage":18,"type":295},"","Configuration governance for Claude Code — bootstrap, audit, sync, and evolve .claude/ across projects",{"claudeCode":283},"luiseiman/claude-kit","marketplace.json at .claude-plugin/marketplace.json",[286,289,291],{"path":287,"priority":288},".claude-plugin/marketplace.json","mandatory",{"path":290,"priority":288},"README.md",{"path":292,"priority":293},"LICENSE","high","rule","marketplace",{"basePath":280,"description":297,"displayName":13,"installMethods":298,"license":255,"rationale":299,"selectedPaths":300,"source":294,"sourceLanguage":18,"type":264},"Behavior governance for Claude Code — declarative runtime policies on tool calls (search-first, no-destructive-git, verify-before-done, …) compiled to PreToolUse hooks, plus configuration governance: 18 skills, 7 agents, 16 stacks, audit scoring, practices pipeline.",{"claudeCode":13},"plugin manifest at .claude-plugin/plugin.json",[301,303,304,305,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360],{"path":302,"priority":288},".claude-plugin/plugin.json",{"path":290,"priority":288},{"path":292,"priority":293},{"path":306,"priority":307},"skills/audit-project/SKILL.md","medium",{"path":309,"priority":307},"skills/benchmark/SKILL.md",{"path":311,"priority":307},"skills/bootstrap-project/SKILL.md",{"path":313,"priority":307},"skills/capture-practice/SKILL.md",{"path":315,"priority":307},"skills/diff-project/SKILL.md",{"path":317,"priority":307},"skills/domain-extract/SKILL.md",{"path":319,"priority":307},"skills/export-config/SKILL.md",{"path":321,"priority":307},"skills/forge-behavior/SKILL.md",{"path":323,"priority":307},"skills/init-project/SKILL.md",{"path":325,"priority":307},"skills/learn-project/SKILL.md",{"path":327,"priority":307},"skills/mcp-add/SKILL.md",{"path":329,"priority":307},"skills/plugin-generator/SKILL.md",{"path":331,"priority":307},"skills/reset-project/SKILL.md",{"path":333,"priority":307},"skills/rule-effectiveness/SKILL.md",{"path":335,"priority":307},"skills/scout-repos/SKILL.md",{"path":337,"priority":307},"skills/session-insights/SKILL.md",{"path":339,"priority":307},"skills/sync-template/SKILL.md",{"path":341,"priority":307},"skills/update-practices/SKILL.md",{"path":343,"priority":307},"skills/watch-upstream/SKILL.md",{"path":345,"priority":293},"agents/architect.md",{"path":347,"priority":293},"agents/code-reviewer.md",{"path":349,"priority":293},"agents/implementer.md",{"path":351,"priority":293},"agents/researcher.md",{"path":353,"priority":293},"agents/security-auditor.md",{"path":355,"priority":293},"agents/session-reviewer.md",{"path":357,"priority":293},"agents/test-runner.md",{"path":359,"priority":293},"hooks/detect-claude-changes.sh",{"path":361,"priority":293},"hooks/hooks.json",{"basePath":363,"description":364,"displayName":365,"installMethods":366,"rationale":367,"selectedPaths":368,"source":294,"sourceLanguage":18,"type":264},"stacks/aws-deploy","AWS CDK/SAM/CloudFormation infrastructure-as-code rules for Claude Code.","dotforge-stack-aws-deploy",{"claudeCode":365},"plugin manifest at stacks/aws-deploy/plugin.json",[369],{"path":370,"priority":288},"plugin.json",{"basePath":372,"description":373,"displayName":374,"installMethods":375,"rationale":376,"selectedPaths":377,"source":294,"sourceLanguage":18,"type":264},"stacks/data-analysis","SQLite/PostgreSQL, pandas/polars, and Jupyter notebook rules for data analysis with Claude Code.","dotforge-stack-data-analysis",{"claudeCode":374},"plugin manifest at stacks/data-analysis/plugin.json",[378],{"path":370,"priority":288},{"basePath":380,"description":381,"displayName":382,"installMethods":383,"rationale":384,"selectedPaths":385,"source":294,"sourceLanguage":18,"type":264},"stacks/devcontainer","Dev Container configuration, image pinning, and features rules for Claude Code.","dotforge-stack-devcontainer",{"claudeCode":382},"plugin manifest at stacks/devcontainer/plugin.json",[386],{"path":370,"priority":288},{"basePath":388,"description":389,"displayName":390,"installMethods":391,"rationale":392,"selectedPaths":393,"source":294,"sourceLanguage":18,"type":264},"stacks/docker-deploy","Docker Compose and Dockerfile best practices, health checks, and deployment rules for Claude Code.","dotforge-stack-docker-deploy",{"claudeCode":390},"plugin manifest at stacks/docker-deploy/plugin.json",[394],{"path":370,"priority":288},{"basePath":396,"description":397,"displayName":398,"installMethods":399,"rationale":400,"selectedPaths":401,"source":294,"sourceLanguage":18,"type":264},"stacks/gcp-cloud-run","GCP Cloud Run container deployment, Cloud Build, and health check rules for Claude Code.","dotforge-stack-gcp-cloud-run",{"claudeCode":398},"plugin manifest at stacks/gcp-cloud-run/plugin.json",[402],{"path":370,"priority":288},{"basePath":404,"description":405,"displayName":406,"installMethods":407,"rationale":408,"selectedPaths":409,"source":294,"sourceLanguage":18,"type":264},"stacks/go-api","Go 1.22+ with standard library net/http, Go modules, and API patterns rules for Claude Code.","dotforge-stack-go-api",{"claudeCode":406},"plugin manifest at stacks/go-api/plugin.json",[410],{"path":370,"priority":288},{"basePath":412,"description":413,"displayName":414,"installMethods":415,"rationale":416,"selectedPaths":417,"source":294,"sourceLanguage":18,"type":264},"stacks/hookify","Dynamic hook rules from natural language. Create .claude/hookify.*.local.md files that act as warn/block rules without editing hooks.json.","dotforge-stack-hookify",{"claudeCode":414},"plugin manifest at stacks/hookify/plugin.json",[418,419,421,423,425],{"path":370,"priority":288},{"path":420,"priority":307},"skills/hookify/SKILL.md",{"path":422,"priority":293},"hooks/hookify-pretooluse.py",{"path":424,"priority":293},"hooks/hookify-stop.py",{"path":426,"priority":293},"hooks/hookify-userpromptsubmit.py",{"basePath":428,"description":429,"displayName":430,"installMethods":431,"rationale":432,"selectedPaths":433,"source":294,"sourceLanguage":18,"type":264},"stacks/java-spring","Java 21+ with Spring Boot 3.x, Maven/Gradle, records, and virtual threads rules for Claude Code.","dotforge-stack-java-spring",{"claudeCode":430},"plugin manifest at stacks/java-spring/plugin.json",[434],{"path":370,"priority":288},{"basePath":436,"description":437,"displayName":438,"installMethods":439,"rationale":440,"selectedPaths":441,"source":294,"sourceLanguage":18,"type":264},"stacks/node-express","Node.js 20+ with Express/Fastify, TypeScript, and ESM module rules for Claude Code.","dotforge-stack-node-express",{"claudeCode":438},"plugin manifest at stacks/node-express/plugin.json",[442],{"path":370,"priority":288},{"basePath":444,"description":445,"displayName":446,"installMethods":447,"rationale":448,"selectedPaths":449,"source":294,"sourceLanguage":18,"type":264},"stacks/python-fastapi","Python 3.12+ with FastAPI, async/await, type hints, and Ruff linting rules for Claude Code.","dotforge-stack-python-fastapi",{"claudeCode":446},"plugin manifest at stacks/python-fastapi/plugin.json",[450,451],{"path":370,"priority":288},{"path":452,"priority":293},"hooks/lint-python.sh",{"basePath":454,"description":455,"displayName":456,"installMethods":457,"rationale":458,"selectedPaths":459,"source":294,"sourceLanguage":18,"type":264},"stacks/react-vite-ts","React 18+ with Vite, TypeScript strict mode, Tailwind CSS, and Zustand rules for Claude Code.","dotforge-stack-react-vite-ts",{"claudeCode":456},"plugin manifest at stacks/react-vite-ts/plugin.json",[460,461],{"path":370,"priority":288},{"path":462,"priority":293},"hooks/lint-ts.sh",{"basePath":464,"description":465,"displayName":466,"installMethods":467,"rationale":468,"selectedPaths":469,"source":294,"sourceLanguage":18,"type":264},"stacks/redis","Redis Streams, caching patterns, and pub/sub rules for Claude Code.","dotforge-stack-redis",{"claudeCode":466},"plugin manifest at stacks/redis/plugin.json",[470],{"path":370,"priority":288},{"basePath":472,"description":473,"displayName":474,"installMethods":475,"rationale":476,"selectedPaths":477,"source":294,"sourceLanguage":18,"type":264},"stacks/supabase","Supabase migrations, RLS policies, Edge Functions, and database rules for Claude Code.","dotforge-stack-supabase",{"claudeCode":474},"plugin manifest at stacks/supabase/plugin.json",[478],{"path":370,"priority":288},{"basePath":260,"description":10,"displayName":12,"installMethods":480,"rationale":481,"selectedPaths":482,"source":294,"sourceLanguage":18,"type":264},{"claudeCode":12},"plugin manifest at stacks/swift-swiftui/plugin.json",[483,484],{"path":370,"priority":288},{"path":485,"priority":293},"hooks/lint-swift.sh",{"basePath":487,"description":488,"displayName":489,"installMethods":490,"rationale":491,"selectedPaths":492,"source":294,"sourceLanguage":18,"type":264},"stacks/tdd","TDD workflow enforcement with auto-test hook","tdd",{"claudeCode":489},"plugin manifest at stacks/tdd/plugin.json",[493,494],{"path":370,"priority":288},{"path":495,"priority":293},"hooks/test-on-edit.sh",{"basePath":497,"description":498,"displayName":499,"installMethods":500,"rationale":501,"selectedPaths":502,"source":294,"sourceLanguage":18,"type":264},"stacks/trading","Trading & investment analysis — thesis tracking, earnings watch, screening, catalyst calendar, backtesting ADR gate. AR + US markets.","dotforge-stack-trading",{"claudeCode":499},"plugin manifest at stacks/trading/plugin.json",[503,504,506,508,510],{"path":370,"priority":288},{"path":505,"priority":307},"skills/catalyst-calendar/SKILL.md",{"path":507,"priority":307},"skills/earnings-watch/SKILL.md",{"path":509,"priority":307},"skills/screen/SKILL.md",{"path":511,"priority":307},"skills/thesis-tracker/SKILL.md",{"basePath":513,"description":514,"displayName":515,"installMethods":516,"rationale":517,"selectedPaths":518,"source":294,"sourceLanguage":18,"type":264},"stacks/vps-ssh","SSH/VPS deployment — remote host conventions, key management, and rsync/scp patterns for bare-metal or self-hosted deploys (Oracle Free Tier, Hetzner, DigitalOcean).","dotforge-stack-vps-ssh",{"claudeCode":515},"plugin manifest at stacks/vps-ssh/plugin.json",[519],{"path":370,"priority":288},{"basePath":521,"description":522,"displayName":523,"installMethods":524,"rationale":525,"selectedPaths":526,"source":294,"sourceLanguage":18,"type":541},"integrations/openclaw","dotforge configuration factory — audit, sync, status, insights across projects from any channel","forge",{"claudeCode":283},"SKILL.md frontmatter at integrations/openclaw/SKILL.md",[527,529,531,533,535,537,539],{"path":528,"priority":288},"SKILL.md",{"path":530,"priority":307},"AGENTS.md",{"path":532,"priority":307},"HEARTBEAT.md",{"path":534,"priority":307},"IDENTITY.md",{"path":536,"priority":307},"SOUL.md",{"path":538,"priority":307},"TOOLS.md",{"path":540,"priority":307},"USER.md","skill",{"basePath":543,"description":544,"displayName":545,"installMethods":546,"rationale":547,"selectedPaths":548,"source":294,"sourceLanguage":18,"type":541},"skills/audit-project","Audits the Claude Code configuration of a project against the dotforge template. Generates a report with score and gaps.","audit-project",{"claudeCode":283},"SKILL.md frontmatter at skills/audit-project/SKILL.md",[549],{"path":528,"priority":288},{"basePath":551,"description":552,"displayName":553,"installMethods":554,"rationale":555,"selectedPaths":556,"source":294,"sourceLanguage":18,"type":541},"skills/benchmark","Compare Claude Code output with full config vs minimal config using standardized tasks per stack.","benchmark",{"claudeCode":283},"SKILL.md frontmatter at skills/benchmark/SKILL.md",[557],{"path":528,"priority":288},{"basePath":559,"description":560,"displayName":561,"installMethods":562,"rationale":563,"selectedPaths":564,"source":294,"sourceLanguage":18,"type":541},"skills/bootstrap-project","Initializes the Claude Code configuration in a new or existing project using the dotforge template.","bootstrap-project",{"claudeCode":283},"SKILL.md frontmatter at skills/bootstrap-project/SKILL.md",[565],{"path":528,"priority":288},{"basePath":567,"description":568,"displayName":569,"installMethods":570,"rationale":571,"selectedPaths":572,"source":294,"sourceLanguage":18,"type":541},"skills/capture-practice","Captures an insight or practice discovered during work and registers it in the dotforge practices/inbox.","capture-practice",{"claudeCode":283},"SKILL.md frontmatter at skills/capture-practice/SKILL.md",[573],{"path":528,"priority":288},{"basePath":575,"description":576,"displayName":577,"installMethods":578,"rationale":579,"selectedPaths":580,"source":294,"sourceLanguage":18,"type":541},"skills/diff-project","Shows what changed in dotforge since the project's last sync, to decide whether running /forge sync is worthwhile.","diff-project",{"claudeCode":283},"SKILL.md frontmatter at skills/diff-project/SKILL.md",[581],{"path":528,"priority":288},{"basePath":583,"description":584,"displayName":585,"installMethods":586,"rationale":587,"selectedPaths":588,"source":294,"sourceLanguage":18,"type":541},"skills/domain-extract","Extract domain knowledge from existing project sources and generate domain rules. Also handles vault sync and domain listing.","domain-extract",{"claudeCode":283},"SKILL.md frontmatter at skills/domain-extract/SKILL.md",[589],{"path":528,"priority":288},{"basePath":591,"description":592,"displayName":593,"installMethods":594,"rationale":595,"selectedPaths":596,"source":294,"sourceLanguage":18,"type":541},"skills/export-config","Export dotforge configuration to other AI code editors (Cursor, Codex, Windsurf, OpenClaw).","export-config",{"claudeCode":283},"SKILL.md frontmatter at skills/export-config/SKILL.md",[597],{"path":528,"priority":288},{"basePath":599,"description":600,"displayName":601,"installMethods":602,"rationale":603,"selectedPaths":604,"source":294,"sourceLanguage":18,"type":541},"skills/forge-behavior","Manage dotforge v3 behavior governance — view status, toggle behaviors, adjust strictness. Use when the user asks about active behaviors, wants to disable one for the current session, or adjust escalation thresholds.","forge-behavior",{"claudeCode":283},"SKILL.md frontmatter at skills/forge-behavior/SKILL.md",[605],{"path":528,"priority":288},{"basePath":607,"description":608,"displayName":609,"installMethods":610,"rationale":611,"selectedPaths":612,"source":294,"sourceLanguage":18,"type":541},"skills/init-project","Quick-start Claude Code configuration. Auto-detects stack, asks 4 questions to understand the project, generates complete config.","init-project",{"claudeCode":283},"SKILL.md frontmatter at skills/init-project/SKILL.md",[613],{"path":528,"priority":288},{"basePath":615,"description":616,"displayName":617,"installMethods":618,"rationale":619,"selectedPaths":620,"source":294,"sourceLanguage":18,"type":541},"skills/learn-project","Scan project code to detect patterns, dependencies, and conventions. Propose domain rules based on what the code actually does.","learn-project",{"claudeCode":283},"SKILL.md frontmatter at skills/learn-project/SKILL.md",[621],{"path":528,"priority":288},{"basePath":623,"description":624,"displayName":625,"installMethods":626,"rationale":627,"selectedPaths":628,"source":294,"sourceLanguage":18,"type":541},"skills/mcp-add","Install an MCP server template from dotforge into a project or global Claude Code config with a single command.","mcp-add",{"claudeCode":283},"SKILL.md frontmatter at skills/mcp-add/SKILL.md",[629],{"path":528,"priority":288},{"basePath":631,"description":632,"displayName":633,"installMethods":634,"rationale":635,"selectedPaths":636,"source":294,"sourceLanguage":18,"type":541},"skills/plugin-generator","Generate a Claude Code plugin package from the current project's dotforge configuration, ready for marketplace submission.","plugin-generator",{"claudeCode":283},"SKILL.md frontmatter at skills/plugin-generator/SKILL.md",[637],{"path":528,"priority":288},{"basePath":639,"description":640,"displayName":641,"installMethods":642,"rationale":643,"selectedPaths":644,"source":294,"sourceLanguage":18,"type":541},"skills/reset-project","Restore a project's .claude/ directory to the dotforge template from scratch, with backup and rollback option.","reset-project",{"claudeCode":283},"SKILL.md frontmatter at skills/reset-project/SKILL.md",[645],{"path":528,"priority":288},{"basePath":647,"description":648,"displayName":649,"installMethods":650,"rationale":651,"selectedPaths":652,"source":294,"sourceLanguage":18,"type":541},"skills/rule-effectiveness","Analyze which rules are actively used vs inert. Detect coverage gaps. Recommend pruning to reduce token consumption.","rule-effectiveness",{"claudeCode":283},"SKILL.md frontmatter at skills/rule-effectiveness/SKILL.md",[653],{"path":528,"priority":288},{"basePath":655,"description":656,"displayName":657,"installMethods":658,"rationale":659,"selectedPaths":660,"source":294,"sourceLanguage":18,"type":541},"skills/scout-repos","Fetch .claude/ configs from curated repos in sources.yml, compare against dotforge template, report novel patterns.","scout-repos",{"claudeCode":283},"SKILL.md frontmatter at skills/scout-repos/SKILL.md",[661],{"path":528,"priority":288},{"basePath":663,"description":664,"displayName":665,"installMethods":666,"rationale":667,"selectedPaths":668,"source":294,"sourceLanguage":18,"type":541},"skills/session-insights","Analyze past Claude Code sessions to extract patterns, metrics, and recommendations.","session-insights",{"claudeCode":283},"SKILL.md frontmatter at skills/session-insights/SKILL.md",[669],{"path":528,"priority":288},{"basePath":671,"description":672,"displayName":673,"installMethods":674,"rationale":675,"selectedPaths":676,"source":294,"sourceLanguage":18,"type":541},"skills/sync-template","Update an existing project's Claude Code configuration against the current dotforge template, without losing local customizations.","sync-template",{"claudeCode":283},"SKILL.md frontmatter at skills/sync-template/SKILL.md",[677],{"path":528,"priority":288},{"basePath":679,"description":680,"displayName":681,"installMethods":682,"rationale":683,"selectedPaths":684,"source":294,"sourceLanguage":18,"type":541},"skills/update-practices","Process the practices inbox, evaluate, incorporate into dotforge, and suggest propagation to projects.","update-practices",{"claudeCode":283},"SKILL.md frontmatter at skills/update-practices/SKILL.md",[685],{"path":528,"priority":288},{"basePath":687,"description":688,"displayName":689,"installMethods":690,"rationale":691,"selectedPaths":692,"source":294,"sourceLanguage":18,"type":541},"skills/watch-upstream","Fetch official Anthropic/Claude Code docs, detect changes relevant to dotforge, report deltas.","watch-upstream",{"claudeCode":283},"SKILL.md frontmatter at skills/watch-upstream/SKILL.md",[693],{"path":528,"priority":288},{"basePath":695,"description":696,"displayName":697,"installMethods":698,"rationale":699,"selectedPaths":700,"source":294,"sourceLanguage":18,"type":541},"stacks/hookify/skills/hookify","Create dynamic hook rules from natural language descriptions. Generates .claude/hookify.*.local.md files that warn or block operations matching patterns. Triggers on \"hookify\", \"create hook rule\", \"warn me when\", \"block when\", \"don't let me\".","hookify",{"claudeCode":283},"SKILL.md frontmatter at stacks/hookify/skills/hookify/SKILL.md",[701],{"path":528,"priority":288},{"basePath":703,"description":704,"displayName":705,"installMethods":706,"rationale":707,"selectedPaths":708,"source":294,"sourceLanguage":18,"type":541},"stacks/trading/skills/catalyst-calendar","Maintain calendar of upcoming catalysts for portfolio positions and watchlist. Earnings dates, ex-div dates, regulatory events, macro releases. Triggers on \"catalysts\", \"upcoming events\", \"earnings calendar\", \"what's coming up\", \"catalyst calendar\".","catalyst-calendar",{"claudeCode":283},"SKILL.md frontmatter at stacks/trading/skills/catalyst-calendar/SKILL.md",[709],{"path":528,"priority":288},{"basePath":711,"description":712,"displayName":713,"installMethods":714,"rationale":715,"selectedPaths":716,"source":294,"sourceLanguage":18,"type":541},"stacks/trading/skills/earnings-watch","Quick post-earnings analysis for portfolio holdings. Beat/miss, key metrics, thesis impact, estimate revision. Triggers on \"earnings update\", \"quarterly results\", \"Q1/Q2/Q3/Q4 results\", \"post-earnings\".","earnings-watch",{"claudeCode":283},"SKILL.md frontmatter at stacks/trading/skills/earnings-watch/SKILL.md",[717],{"path":528,"priority":288},{"basePath":719,"description":720,"displayName":721,"installMethods":722,"rationale":723,"selectedPaths":724,"source":294,"sourceLanguage":18,"type":541},"stacks/trading/skills/screen","Run quantitative or thematic stock screens to surface investment ideas. Supports AR (BYMA, CEDEARs) and US markets. Triggers on \"screen\", \"stock screen\", \"find stocks\", \"investment ideas\", \"what looks interesting\".","screen",{"claudeCode":283},"SKILL.md frontmatter at stacks/trading/skills/screen/SKILL.md",[725],{"path":528,"priority":288},{"basePath":727,"description":728,"displayName":729,"installMethods":730,"rationale":731,"selectedPaths":732,"source":294,"sourceLanguage":18,"type":541},"stacks/trading/skills/thesis-tracker","Track and update investment theses for portfolio positions and watchlist. Maintains scorecard of pillars, catalysts, and conviction level. Triggers on \"update thesis\", \"thesis check\", \"is my thesis intact\", \"add data point\", \"review positions\".","thesis-tracker",{"claudeCode":283},"SKILL.md frontmatter at stacks/trading/skills/thesis-tracker/SKILL.md",[733],{"path":528,"priority":288},{"sources":735},[736],"manual",{"closedIssues90d":8,"description":738,"forks":249,"homepage":739,"license":255,"openIssues90d":8,"pushedAt":252,"readmeSize":247,"stars":253,"topics":740},"Configuration governance for Claude Code. Bootstrap, audit, sync, and evolve .claude/ across projects.","https://github.com/luiseiman/dotforge",[741,742,743,744,745,746,747,748,749,750,751,752,230,753,754,755,756,757,758],"ai-coding","anthropic","claude-code","claude-code-agents","claude-code-config","claude-code-hooks","claude-code-plugins","claude-code-skills","claude-code-template","claude-md","cli-tools","configuration-management","claude-code-audit","claude-code-rules","claude-code-plugin","claude-plugin","mcp-servers","prompt-engineering",{"classifiedAt":760,"discoverAt":761,"extractAt":762,"githubAt":762,"updatedAt":760},1778692487649,1778692481646,1778692485708,[231,232,226,230,227,228,229],{"evaluatedAt":258,"extractAt":765,"updatedAt":258},1778692488329,[],[768,799,821,840,870,897],{"_creationTime":769,"_id":770,"community":771,"display":772,"identity":777,"providers":781,"relations":792,"tags":795,"workflow":796},1778699018122.7852,"k17ctxt5vn6b49n72hqfjs9tes86mrfw",{"reviewCount":8},{"description":773,"installMethods":774,"name":775,"sourceUrl":776},"Require a human approval signal before an AI agent can post PR reviews, comments, merges, or writes to CI config. Cedar-gated, receipt-signed, designed for the Hermes-style failure mode where a review bot posts without oversight.",{"claudeCode":775},"review-agent-governance","https://github.com/wshobson/agents",{"basePath":778,"githubOwner":779,"githubRepo":780,"locale":18,"slug":775,"type":264},"plugins/review-agent-governance","wshobson","agents",{"evaluate":782,"extract":789},{"promptVersionExtension":219,"promptVersionScoring":220,"score":783,"tags":784,"targetMarket":233,"tier":234},99,[227,785,786,787,232,788],"security","policy","code-review","auditing",{"commitSha":270,"license":255,"plugin":790},{"mcpCount":8,"provider":791,"skillCount":249},"classify",{"parentExtensionId":793,"repoId":794},"k17cywe30jfsfw3cdpncjfn8y186nvyw","kd74de64zj0axtg5b8t7eqqe2x86nske",[788,787,232,227,786,785],{"evaluatedAt":797,"extractAt":798,"updatedAt":797},1778700330078,1778699018122,{"_creationTime":800,"_id":801,"community":802,"display":803,"identity":805,"providers":807,"relations":817,"tags":818,"workflow":819},1778692488329.011,"k17b0q52q1b77nvq2sacqreth586n5hm",{"reviewCount":8},{"description":445,"installMethods":804,"name":446,"sourceUrl":14},{"claudeCode":446},{"basePath":444,"githubOwner":261,"githubRepo":262,"locale":18,"slug":806,"type":264},"python-fastapi",{"evaluate":808,"extract":816},{"promptVersionExtension":219,"promptVersionScoring":220,"score":809,"tags":810,"targetMarket":233,"tier":234},100,[811,812,813,814,226,815],"python","fastapi","linting","ruff","devops",{"commitSha":270},{"repoId":272},[226,815,812,813,811,814],{"evaluatedAt":820,"extractAt":765,"updatedAt":820},1778692747510,{"_creationTime":822,"_id":823,"community":824,"display":825,"identity":827,"providers":829,"relations":836,"tags":837,"workflow":838},1778692488329.0107,"k179bvp22xcxq4xg9bkgpkhw5s86mstq",{"reviewCount":8},{"description":437,"installMethods":826,"name":13,"sourceUrl":14},{"claudeCode":438},{"basePath":436,"githubOwner":261,"githubRepo":262,"locale":18,"slug":828,"type":264},"node-express",{"evaluate":830,"extract":835},{"promptVersionExtension":219,"promptVersionScoring":220,"score":809,"tags":831,"targetMarket":233,"tier":234},[226,832,786,788,833,834],"management","bash","claudecode",{"commitSha":270,"license":255},{"repoId":272},[788,833,834,226,832,786],{"evaluatedAt":839,"extractAt":765,"updatedAt":839},1778692726682,{"_creationTime":841,"_id":842,"community":843,"display":844,"identity":849,"providers":854,"relations":861,"tags":865,"workflow":866},1778698425464.3115,"k17a9y822as9hqmk8ts9d8ck8d86m4a8",{"reviewCount":8},{"description":845,"installMethods":846,"name":847,"sourceUrl":848},"Upstash Context7 MCP-Server für die Abfrage aktueller Dokumentationen. Ruft versionsspezifische Dokumentationen und Codebeispiele direkt aus Quell-Repositories in den LLM-Kontext.",{"claudeCode":847},"context7-plugin","https://github.com/upstash/context7",{"basePath":850,"githubOwner":851,"githubRepo":852,"locale":853,"slug":852,"type":264},"plugins/claude/context7","upstash","context7","de",{"evaluate":855,"extract":860},{"promptVersionExtension":219,"promptVersionScoring":220,"score":809,"tags":856,"targetMarket":233,"tier":234},[857,230,858,859],"documentation","code-examples","mcp-server",{"commitSha":270},{"parentExtensionId":862,"repoId":863,"translatedFrom":864},"k17c6qmv4dnjycsp8aa4wyfbgh86n3jd","kd7955sg5wbf89gw527wdep66n86na9w","k17f8b1e3611rh6d9e6peh43b186m55k",[858,230,857,859],{"evaluatedAt":867,"extractAt":868,"updatedAt":869},1778698268645,1778698235845,1778698425464,{"_creationTime":871,"_id":872,"community":873,"display":874,"identity":879,"providers":883,"relations":891,"tags":893,"workflow":894},1778685949178.7966,"k170zfbwrtmhfrvx2zez1tjeph86n7hp",{"reviewCount":8},{"description":875,"installMethods":876,"name":877,"sourceUrl":878},"Swift Language Server Protocol integration — code intelligence, completions, diagnostics, and refactoring for iOS and macOS projects",{"claudeCode":877},"msapps-swift-lsp","https://github.com/davepoon/buildwithclaude",{"basePath":880,"githubOwner":881,"githubRepo":882,"locale":18,"slug":877,"type":264},"plugins/msapps-swift-lsp","davepoon","buildwithclaude",{"evaluate":884,"extract":890},{"promptVersionExtension":219,"promptVersionScoring":220,"score":809,"tags":885,"targetMarket":233,"tier":234},[228,886,887,888,889],"lsp","ios","macos","code-intelligence",{"commitSha":270,"license":255},{"repoId":892},"kd719kw54vhmcscq7ckdp59fg586mnt6",[889,887,886,888,228],{"evaluatedAt":895,"extractAt":896,"updatedAt":895},1778688249548,1778685949178,{"_creationTime":898,"_id":899,"community":900,"display":901,"identity":905,"providers":907,"relations":918,"tags":919,"workflow":920},1778699018122.7798,"k172w4j8rxzh1f0hc5qhwye5xx86msks",{"reviewCount":8},{"description":902,"installMethods":903,"name":904,"sourceUrl":776},"WCAG accessibility auditing, compliance validation, UI testing for screen readers, keyboard navigation, and inclusive design",{"claudeCode":904},"accessibility-compliance",{"basePath":906,"githubOwner":779,"githubRepo":780,"locale":18,"slug":904,"type":264},"plugins/accessibility-compliance",{"evaluate":908,"extract":915},{"promptVersionExtension":219,"promptVersionScoring":220,"score":783,"tags":909,"targetMarket":233,"tier":234},[910,911,912,232,913,914],"accessibility","wcag","testing","inclusive-design","ui",{"commitSha":270,"license":255,"plugin":916},{"mcpCount":8,"provider":791,"skillCount":917},2,{"parentExtensionId":793,"repoId":794},[910,232,913,912,914,911],{"evaluatedAt":921,"extractAt":798,"updatedAt":921},1778699966767]