- Changed root directory in tsconfig.json to include all source files. - Updated server.json to include npm package configuration for claude-code-explorer-mcp. - Enhanced x402 command to support non-interactive mode. - Refactored x402 command call function to simplify argument handling. - Introduced .mcp.json for MCP server configuration. - Added bunfig.toml for Bun development mode configuration. - Created bridge.md documentation for IDE integration and architecture overview. - Added .npmignore to exclude unnecessary files from npm package. - Implemented build-bundle script for production and development builds. - Developed bun-plugin-shims for Bun preload plugin. - Created ci-build.sh for CI/CD build pipeline. - Added dev.ts for development launcher using Bun's TS runtime. - Implemented package-npm.ts to generate a publishable npm package. - Created test-auth.ts to verify API key configuration. - Developed test-mcp.ts for MCP client/server roundtrip testing. - Implemented test-services.ts to ensure all services initialize correctly. - Added stub.ts for bridge functionality when BRIDGE_MODE is disabled.
46 lines
1.4 KiB
Docker
46 lines
1.4 KiB
Docker
# ─────────────────────────────────────────────────────────────
|
|
# Claude Code CLI — Production Container
|
|
# ─────────────────────────────────────────────────────────────
|
|
# Multi-stage build: builds a production bundle, then copies
|
|
# only the output into a minimal runtime image.
|
|
#
|
|
# Usage:
|
|
# docker build -t claude-code .
|
|
# docker run --rm -e ANTHROPIC_API_KEY=sk-... claude-code -p "hello"
|
|
# ─────────────────────────────────────────────────────────────
|
|
|
|
# Stage 1: Build
|
|
FROM oven/bun:1-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy manifests first for layer caching
|
|
COPY package.json bun.lockb* ./
|
|
|
|
# Install all dependencies (including devDependencies for build)
|
|
RUN bun install --frozen-lockfile || bun install
|
|
|
|
# Copy source
|
|
COPY . .
|
|
|
|
# Build production bundle
|
|
RUN bun run build:prod
|
|
|
|
# Stage 2: Runtime
|
|
FROM oven/bun:1-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# Install OS-level runtime dependencies
|
|
RUN apk add --no-cache git ripgrep
|
|
|
|
# Copy only the bundled output from the builder
|
|
COPY --from=builder /app/dist/cli.mjs /app/cli.mjs
|
|
|
|
# Make it executable
|
|
RUN chmod +x /app/cli.mjs
|
|
|
|
ENTRYPOINT ["bun", "/app/cli.mjs"]
|
|
|
|
|