47 lines
2.3 KiB
Bash
Executable File
47 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "${ROOT}"
|
|
|
|
bash -n bin/context-kit
|
|
bash -n scripts/check
|
|
sh -n docker/docs/entrypoint.sh
|
|
node --check docker/web-search/patch-mcp-web-search.mjs
|
|
node --check docker/web-search/overrides/bing.js
|
|
node -e 'const fs=require("node:fs"); JSON.parse(fs.readFileSync("snippets/opencode.json", "utf8")); JSON.parse(fs.readFileSync("snippets/claude.mcp.json", "utf8"));'
|
|
bin/context-kit install opencode | node -e 'JSON.parse(require("node:fs").readFileSync(0, "utf8"))'
|
|
bin/context-kit install claude | node -e 'JSON.parse(require("node:fs").readFileSync(0, "utf8"))'
|
|
docker compose -f compose.yml config --quiet
|
|
docker compose -f compose.yml --profile mcp build web-search-mcp
|
|
bin/context-kit doctor
|
|
|
|
web_search_response="$(
|
|
printf '%s\n' \
|
|
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"context-kit-check","version":"0.0.0"}}}' \
|
|
'{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}' \
|
|
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
|
|
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"fetch_url","arguments":{"url":"http://127.0.0.1:1/","max_download_bytes":52428800}}}' \
|
|
| CONTEXT_KIT_WEB_SEARCH_MAX_BYTES=52428800 bin/context-kit web-search
|
|
)"
|
|
for expected in '"name":"fetch_url"' '"maximum":52428800' 'Blocked localhost/private URL'; do
|
|
[[ "${web_search_response}" == *"${expected}"* ]] || {
|
|
printf 'context-kit: web-search MCP check missing %s\n' "${expected}" >&2
|
|
exit 1
|
|
}
|
|
done
|
|
|
|
repomix_response="$(
|
|
printf '%s\n' \
|
|
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"context-kit-check","version":"0.0.0"}}}' \
|
|
'{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}' \
|
|
'{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"pack_codebase","arguments":{"directory":".","compress":true,"includePatterns":"README.md","ignorePatterns":"","topFilesLength":1,"style":"xml"}}}' \
|
|
| bin/context-kit repomix
|
|
)"
|
|
[[ "${repomix_response}" == *'"totalFiles":1'* ]] || {
|
|
printf 'context-kit: Repomix MCP tool call did not pack exactly README.md\n' >&2
|
|
exit 1
|
|
}
|
|
|
|
printf 'pass check\n'
|