Skip to content

Update develop - #216

Merged
Minitour merged 6 commits into
developfrom
main
Sep 3, 2026
Merged

Minitour merged 6 commits into
developfrom
main

Conversation

@Minitour

@Minitour Minitour commented Sep 3, 2026

Copy link
Copy Markdown
Member

Updating develop with main

Minitour and others added 6 commits August 26, 2026 10:56
Update dependencies and fix OAuth handling
Fix serialization of Cursor hook matcher to use matcher field
* Point public docs and install URLs at capa.sh

* Point installer scripts and websiteUrl at capa.sh

* Point installer scripts and websiteUrl at capa.sh

* Point installer scripts and websiteUrl at capa.sh

* Point installer scripts and websiteUrl at capa.sh

* Update claude-plugins bundled adapter pin after capa.sh URL change
manager.view() was cloning giuseppe-trisciuoglio/developer-kit via
inspectPlugin, which often exceeded bun's 5s timeout on main CI.

Co-authored-by: Antonio Zaitoun <antonio@zaitoun.dev>
Drop the process-wide getOrCreateSnapshot spy (it can leak into
parallel files on Windows) and view through loadClaudeMarketplaceAdapter
without a db so inspectPlugin is not attached. Retry SQLite temp-dir
cleanup on Windows after close.

Co-authored-by: Antonio Zaitoun <antonio@zaitoun.dev>
…meout-d748

Keep marketplace fixture tests offline so main CI stays green
@Minitour
Minitour merged commit 6aedefe into develop Sep 3, 2026
22 checks passed
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Migrate public links to capa.sh and keep marketplace tests offline

⚙️ Configuration changes 📝 Documentation 🧪 Tests 🕐 20-40 Minutes

Grey Divider

AI Description

• Point public documentation, installers, runtime metadata, and web navigation to capa.sh.
• Refresh the bundled Claude adapter integrity pin after its public URL change.
• Keep marketplace fixtures offline and make Windows SQLite cleanup resilient.
Diagram

graph TD
  D["capa.sh"] --> I["Install Docs"] --> U["Users"]
  D --> M["MCP Metadata"] --> C["MCP Clients"]
  D --> W["Web UI"] --> U
  F["Local Fixture"] --> A["Direct Adapter"]
Loading
High-Level Assessment

Direct replacement is appropriate because these public URLs are intentionally embedded across documentation, cross-platform installer help, runtime metadata, and separate UI code. A shared constant cannot cover all languages and static documentation, while the direct adapter test path cleanly avoids network inspection without a process-wide mock; the OAuth endpoint correctly remains on its existing cloud host.

Files changed (14) +33 / -26

Tests (5) +17 / -10
upgrade-plan.test.tsAlign upgrade tests with capa.sh installer URLs +4/-4

Align upgrade tests with capa.sh installer URLs

• Updates vendor installer constants and assertions while retaining checks that upgrades use pinned GitHub release assets rather than public convenience URLs.

src/cli/commands/tests/upgrade-plan.test.ts

install-one-skill-id.test.tsRetry SQLite fixture cleanup on Windows +2/-1

Retry SQLite fixture cleanup on Windows

• Adds retries and a short delay when removing temporary test directories because Windows may briefly retain SQLite WAL or SHM locks after close.

src/cli/commands/install-tasks/helpers/tests/install-one-skill-id.test.ts

mcp-handler.integration.test.tsExpect capa.sh in MCP server metadata +1/-1

Expect capa.sh in MCP server metadata

• Updates the integration assertion for the server information website URL.

src/server/tests/mcp-handler.integration.test.ts

registries-routes.test.tsKeep marketplace fixture views offline +9/-3

Keep marketplace fixture views offline

• Confirms the fixture registry is loaded through the manager, then views fixture plugins through a database-free Claude marketplace adapter. This avoids attaching plugin inspection that would clone a GitHub repository during the test.

src/server/tests/registries-routes.test.ts

ui-urls.test.tsVerify the new capa.sh documentation URL +1/-1

Verify the new capa.sh documentation URL

• Updates the shared URL test to expect the capa.sh getting-started page.

src/shared/tests/ui-urls.test.ts

Documentation (4) +10 / -10
README.mdPoint installation and documentation links to capa.sh +4/-4

Point installation and documentation links to capa.sh

• Replaces public installer and documentation URLs with capa.sh. Also normalizes spacing in the architecture overview.

README.md

README.mdUpdate the end-user documentation location +1/-1

Update the end-user documentation location

• Directs maintainers to the capa.sh getting-started documentation instead of the former public domain.

docs/README.md

install.ps1Update PowerShell installer usage examples +4/-4

Update PowerShell installer usage examples

• Changes the web invocation and example commands in PowerShell help text to download from capa.sh.

install.ps1

install.shUpdate shell installer example URL +1/-1

Update shell installer example URL

• Points the convenience installation example at the capa.sh installer endpoint.

install.sh

Other (5) +6 / -6
adapter.tsIdentify the Claude registry adapter with capa.sh +1/-1

Identify the Claude registry adapter with capa.sh

• Updates the adapter’s HTTP user-agent metadata to reference the new public domain.

registries/claude-plugins/adapter.ts

mcp-handler.tsPublish capa.sh in MCP server information +2/-2

Publish capa.sh in MCP server information

• Changes the website URL returned by both MCP server information response paths to the new public domain.

src/server/mcp-handler.ts

bundled.tsRefresh the Claude adapter integrity pin +1/-1

Refresh the Claude adapter integrity pin

• Updates the bundled Claude plugins adapter SHA-256 pin after changing its embedded public URL.

src/shared/registries/bundled.ts

ui-urls.tsMove the shared documentation URL to capa.sh +1/-1

Move the shared documentation URL to capa.sh

• Changes the central documentation URL while leaving the cloud OAuth endpoint on capa.infragate.ai.

src/shared/ui-urls.ts

NavLinks.tsxLink web navigation to capa.sh documentation +1/-1

Link web navigation to capa.sh documentation

• Updates the external documentation navigation link to the capa.sh getting-started page.

web-ui/src/components/layout/NavLinks.tsx

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Manager view path untested 🐞 Bug ⚙ Maintainability
Description
The marketplace fixture test now calls the adapter directly, so it no longer verifies that the
DB-backed registry can be viewed through RegistryManager.view, including loader resolution and
timeout behavior. Regressions in the actual registry view path can therefore pass while this test
remains green.
Code

src/server/tests/registries-routes.test.ts[R572-573]

+      const adapter = loadClaudeMarketplaceAdapter(slug);
+      const detail = await adapter.view({
Evidence
The changed test loads the DB registry and only checks that it appears in manager.list, then
bypasses it for both detail views. RegistryManager.view performs adapter lookup and timeout
wrapping, and the production registry view handler delegates to that manager method, so neither
behavior is covered by the replacement calls.

src/server/tests/registries-routes.test.ts[562-588]
src/shared/registries/manager.ts[100-112]
src/server/registries-routes.ts[383-405]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The marketplace fixture test bypasses `RegistryManager.view` by constructing and invoking an adapter directly. Keep the fixture offline while exercising the same manager-backed path used by the registry view handler.

## Issue Context
`RegistryManager.view` resolves the DB-loaded adapter and applies timeout handling, while the route handler delegates to that method. The direct adapter call validates marketplace parsing but cannot catch failures in manager loading or route integration.

## Fix Focus Areas
- src/server/__tests__/registries-routes.test.ts[541-592]
- src/shared/registries/manager.ts[100-112]
- src/server/registries-routes.ts[383-405]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can add REVIEW.md to your repo root and Qodo follows it on every PR

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment on lines +572 to +573
const adapter = loadClaudeMarketplaceAdapter(slug);
const detail = await adapter.view({

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

1. Manager view path untested 🐞 Bug ⚙ Maintainability

The marketplace fixture test now calls the adapter directly, so it no longer verifies that the
DB-backed registry can be viewed through RegistryManager.view, including loader resolution and
timeout behavior. Regressions in the actual registry view path can therefore pass while this test
remains green.
Agent Prompt
## Issue description
The marketplace fixture test bypasses `RegistryManager.view` by constructing and invoking an adapter directly. Keep the fixture offline while exercising the same manager-backed path used by the registry view handler.

## Issue Context
`RegistryManager.view` resolves the DB-loaded adapter and applies timeout handling, while the route handler delegates to that method. The direct adapter call validates marketplace parsing but cannot catch failures in manager loading or route integration.

## Fix Focus Areas
- src/server/__tests__/registries-routes.test.ts[541-592]
- src/shared/registries/manager.ts[100-112]
- src/server/registries-routes.ts[383-405]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants