Commit Graph
265 Commits
Author SHA1 Message Date
fraujulian d808026eec feat(credentials): add scoped credential helpers 2026-09-18 17:25:17 +02:00
fraujulian 027eaa158a fix(extensions): update managed mcporter 2026-09-18 16:56:39 +02:00
fraujulian e2c38093e9 fix(mcp): allow direct fallback without mcporter 2026-09-18 16:56:20 +02:00
Julian lechner 13eefe3309 fix(hooks): ignore optional hook failures
CI / Capabilities and shell quality (push) Successful in 11s
CI / Python tests and compilation (push) Successful in 11s
CI / PowerShell tests on Ubuntu (push) Successful in 27s
CI / CI configuration security checks (push) Successful in 4s
CI / Build and inspect generated packages (push) Successful in 6s
CI / Qwen retrieval integration (push) Successful in 14m17s
CI / Bash integration and installation guards (push) Successful in 16s
CI / Installed client configuration smoke tests (push) Successful in 13s
2026-09-18 16:17:21 +02:00
Julian lechner cacb41fe28 fix(claude): disable unavailable Windows sandbox 2026-09-18 16:10:17 +02:00
fraujulian 49be8edbec feat(retrieval): preload Qwen models during setup
CI / Capabilities and shell quality (push) Successful in 11s
CI / Python tests and compilation (push) Successful in 11s
CI / PowerShell tests on Ubuntu (push) Successful in 28s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 6s
CI / Qwen retrieval integration (push) Successful in 14m20s
CI / Bash integration and installation guards (push) Successful in 16s
CI / Installed client configuration smoke tests (push) Successful in 13s
2026-09-18 15:47:42 +02:00
fraujulian b5123df02a fix(extensions): add Claude Superpowers marketplace 2026-09-18 15:47:16 +02:00
fraujulian f170d8814b fix(extensions): refresh marketplaces and repair hooks 2026-09-18 15:21:52 +02:00
fraujulian de9e202428 fix(extensions): remove MCPs before MCPorter
CI / Capabilities and shell quality (push) Successful in 10s
CI / Python tests and compilation (push) Successful in 12s
CI / PowerShell tests on Ubuntu (push) Successful in 27s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 6s
CI / Qwen retrieval integration (push) Successful in 14m21s
CI / Bash integration and installation guards (push) Successful in 16s
CI / Installed client configuration smoke tests (push) Successful in 12s
2026-09-18 14:03:48 +02:00
fraujulian 715446d165 fix(plugins): restore missing environment values
CI / Capabilities and shell quality (push) Successful in 10s
CI / Python tests and compilation (push) Successful in 11s
CI / PowerShell tests on Ubuntu (push) Successful in 27s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 6s
CI / Bash integration and installation guards (push) Canceled after 0s
CI / Installed client configuration smoke tests (push) Canceled after 0s
CI / Qwen retrieval integration (push) Canceled after 13m38s
2026-09-18 13:18:42 +02:00
fraujulian 3361ba51b2 test(retrieval): skip offline hub checks
CI / Capabilities and shell quality (push) Successful in 12s
CI / Python tests and compilation (push) Successful in 12s
CI / PowerShell tests on Ubuntu (push) Failing after 15s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 7s
CI / Bash integration and installation guards (push) Canceled after 0s
CI / Installed client configuration smoke tests (push) Canceled after 0s
CI / Qwen retrieval integration (push) Canceled after 2m2s
2026-09-18 13:15:14 +02:00
fraujulian 8680b17976 fix(tests): inspect process environment 2026-09-18 13:15:04 +02:00
fraujulian 13b0cb66d6 ci: isolate client smoke and hub tests
CI / Capabilities and shell quality (push) Successful in 11s
CI / Python tests and compilation (push) Successful in 12s
CI / PowerShell tests on Ubuntu (push) Failing after 14s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 7s
CI / Qwen retrieval integration (push) Failing after 9m38s
CI / Bash integration and installation guards (push) Successful in 16s
CI / Installed client configuration smoke tests (push) Successful in 12s
2026-09-18 12:57:28 +02:00
fraujulian acb53382a6 fix(tests): use portable plugin home 2026-09-18 12:57:17 +02:00
fraujulian 0108257290 test(packages): enforce MCPorter policy
CI / Capabilities and shell quality (push) Successful in 12s
CI / Python tests and compilation (push) Successful in 11s
CI / PowerShell tests on Ubuntu (push) Failing after 17s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 6s
CI / Qwen retrieval integration (push) Failing after 9m44s
CI / Bash integration and installation guards (push) Successful in 15s
CI / Installed client configuration smoke tests (push) Failing after 12s
2026-09-18 12:40:11 +02:00
fraujulian d7304e2b64 test(mcporter): cover Context7 routing 2026-09-18 12:39:51 +02:00
fraujulian 70414def48 feat(mcporter): route Context7 through CLI 2026-09-18 12:39:43 +02:00
fraujulian cb6cebb3d4 ci(retrieval): disable unstable Xet downloads 2026-09-18 12:23:10 +02:00
fraujulian 9e74b9be4a fix(capabilities): read Python exit code directly 2026-09-18 12:22:51 +02:00
fraujulian c2bf5888d0 test(telemetry): use Git Bash on Windows
CI / Capabilities and shell quality (push) Successful in 11s
CI / Python tests and compilation (push) Successful in 11s
CI / PowerShell tests on Ubuntu (push) Failing after 9s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 6s
CI / Qwen retrieval integration (push) Failing after 15m1s
CI / Bash integration and installation guards (push) Successful in 16s
CI / Installed client configuration smoke tests (push) Failing after 26s
2026-09-18 11:59:06 +02:00
fraujulian 43e1487bb3 test(session): stage command helpers 2026-09-18 11:59:05 +02:00
fraujulian b6f111977d test(update): stage command fixture 2026-09-18 11:59:05 +02:00
fraujulian efec24a4eb test(inventory): load relocated helper 2026-09-18 11:59:05 +02:00
fraujulian 797e53ff3e test(extensions): load relocated helper 2026-09-18 11:59:05 +02:00
fraujulian 28a8bd70eb test(install): use relocated command paths 2026-09-18 11:59:04 +02:00
fraujulian dffc956f27 fix(extensions): preserve foreign skill files 2026-09-18 11:59:04 +02:00
fraujulian 72338270d0 fix(capabilities): fall back to python3 2026-09-18 11:59:04 +02:00
fraujulian 25a9579eee fix(build): locate session check 2026-09-18 11:59:04 +02:00
fraujulian ef084f6fef feat(retrieval): offer device benchmark 2026-09-18 11:37:09 +02:00
fraujulian c37ffe4c66 feat(extensions): manage MCPorter CLI 2026-09-18 11:36:39 +02:00
fraujulian 11c2b6dfcb refactor(scripts): organize script entry points 2026-09-18 11:35:38 +02:00
Julian lechnerandClaude Sonnet 5 f2910df050 feat(uninstall): accept y/N confirmation in powershell script
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 10:27:45 +02:00
Julian lechnerandClaude Sonnet 5 cacb3e3bf1 feat(uninstall): accept y/N confirmation in bash script
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 10:27:41 +02:00
Julian lechnerandClaude Sonnet 5 9ad793289d feat(retrieval): add a background daemon to avoid reloading models per query
Each server.py search/rebuild invocation was a fresh process that reloaded
the embedding and reranker models from disk before answering a single
query. Add an optional daemon (server.py daemon) that keeps both models
resident in memory and serves repeated queries, across repository roots,
over a local socket/pipe.

search and rebuild now try the daemon first, spawn one on a cache miss
(guarded by an exclusive lock file to avoid duplicate spawns), and fall
back to the original one-shot in-process worker if the daemon cannot be
reached or started, so behavior is unchanged when the daemon is
unavailable. The daemon exits on its own after 30 minutes of inactivity.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:36:02 +02:00
Julian lechnerandClaude Sonnet 5 208213c1c7 feat(retrieval): pin model revisions and share encoder/reranker instances
Pin the Qwen embedding/reranker models to specific commit revisions (and
sentence-transformers to the exact version already in use) so index
builds are reproducible instead of floating on each model's main branch.

Also move the encoder and reranker instances to module-level singletons
shared by every Index, instead of one pair per instance, so a process
serving multiple repository roots only loads each model once.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:35:46 +02:00
Julian lechnerandClaude Sonnet 5 96a1175e20 feat(retrieval): make the file-scan limit configurable and warn on it
Repositories with more than 2000 indexable files silently lost the
remainder during indexing. Make the cap configurable via
SEMANTIC_RETRIEVAL_MAX_FILES (default unchanged) and print an explicit
stderr warning naming the repository when it is reached, instead of
truncating without any signal.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:35:38 +02:00
Julian lechnerandClaude Sonnet 5 c651b19893 test(build): update reviewer tool assertion for shell-specific tools (Bash)
Mirror the PowerShell test's shell-specific reviewer tools assertion.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:32:14 +02:00
Julian lechnerandClaude Sonnet 5 244f641088 test(build): update reviewer tool assertion for shell-specific tools
The reviewer agent's tools field now resolves to Bash or PowerShell
depending on the package, so assert against the shell-specific value
instead of the old invalid Read,Diff,Search profile.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:32:08 +02:00
Julian lechnerandClaude Sonnet 5 92d98d74cf test(build): cover unknown Claude tool name in Bash build validation
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:32:00 +02:00
Julian lechnerandClaude Sonnet 5 5b768e0aed test(build): cover unknown Claude tool name in PowerShell build validation
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:54 +02:00
Julian lechnerandClaude Sonnet 5 99c345f551 feat(build): fail configuration validation on unknown Claude tool names
Check every generated agent's tools frontmatter against the set of real
Claude Code tool names, so an unrecognized name fails validate-config.py
(and therefore the build) instead of silently shipping a broken agent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:48 +02:00
Julian lechnerandClaude Sonnet 5 4da6950062 feat(build): resolve shell-specific agent tool placeholder in Bash build
Mirror the PowerShell build's __SHELL__ resolution so both entry points
stay behaviorally equivalent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:41 +02:00
Julian lechnerandClaude Sonnet 5 0f387b7df2 feat(build): resolve shell-specific agent tool placeholder in PowerShell build
Replace __SHELL__ in each generated Claude agent's tools field with
PowerShell or Bash depending on the package being built, so a role that
needs shell execution only gets the one matching its target shell.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:34 +02:00
Julian lechner 4408f23c68 chore(shellcheck): annotate nameref inputs
CI / linux (push) Successful in 6s
2026-09-17 23:04:44 +02:00
Julian lechner c4676e9a2f chore(shellcheck): allow shared script globals 2026-09-17 23:04:24 +02:00
Julian lechner 110842b9a4 refactor(shell): remove unused local fields 2026-09-17 23:04:05 +02:00
Julian lechner 953eb34e21 fix(retrieval): declare Bash interpreter 2026-09-17 23:03:23 +02:00
Julian lechner 670c907375 fix(plugins): clarify indirect shell fields 2026-09-17 23:02:59 +02:00
Julian lechner 60205169f4 fix(manifest): clarify dynamic shell references 2026-09-17 23:02:36 +02:00
Julian lechner fe9ca9552f test(config): enforce sandbox defaults 2026-09-17 23:00:01 +02:00