Commit Graph

18 Commits

Author SHA1 Message Date
Kazuki Yamada 042750cb4e chore(ci): Replace npm run with node --run in workflows
Now that the minimum supported Node.js version is 22, `node --run` is
available everywhere. It avoids the npm process-spawn overhead and
matches the style already used in package.json scripts.

Affects all GitHub Actions workflows that invoke npm scripts and the
website/server Dockerfile bundle step. `npm ci` is left as-is since it
is npm-specific.
2026-05-09 19:08:10 +09:00
Kazuki Yamada 5c55597512 docs(core): Replace tiktoken references with gpt-tokenizer
Update all documentation, build configuration, and source comments
to reflect the completed migration from tiktoken to gpt-tokenizer.

- Update tokenCount.encoding description to say "OpenAI-compatible
  tokenization" with gpt-tokenizer link (README + 15 language docs)
- Remove tiktoken from bundling external deps list since
  gpt-tokenizer is pure JS (README + 15 language docs)
- Remove tiktoken COPY from Dockerfile and external from bundle.mjs
- Simplify source code comments removing migration artifacts
- Regenerate scripts/memory/package-lock.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:37:26 +09:00
Kazuki Yamada 8dfdbed50f feat(website): Add GitHub star count button to navbar
Replace the GitHub social link icon with an interactive GitHub star button
(via github-buttons) that displays the live star count. The button is shown
in the navbar on desktop and in the hamburger menu on mobile.

Also fix the server Dockerfile for local development by downgrading npm to
avoid the --min-release-age / --before conflict with Node 24.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:06:33 +09:00
Kazuki Yamada 5b59cfc5a2 fix(website-server): Remove @google-cloud/logging-winston to fix gRPC bundling issues
Replace @google-cloud/logging-winston with Console transport and Cloud Logging
severity mapping. Cloud Run automatically sends stdout to Cloud Logging, so
a dedicated transport is unnecessary.

Changes:
- Remove @google-cloud/logging-winston dependency
- Add severity mapping for Cloud Logging compatibility
- Add trace context extraction for distributed tracing
- Implement code splitting for server and worker bundles
- Add worker-entry.ts for minimal worker bundle
- Simplify Dockerfile to only copy tinypool and tiktoken
2026-01-04 20:32:37 +09:00
Kazuki Yamada 60639ba7b5 refactor(website-server): Extract bundle scripts to package.json
Move esbuild bundling and WASM collection from Dockerfile to package.json
for easier local testing and maintenance.

Added scripts:
- bundle: Full bundle (build + esbuild + wasm)
- bundle:esbuild: Run esbuild bundling
- bundle:wasm: Copy tree-sitter WASM files
- start:bundle: Run bundled server locally
2026-01-03 21:32:59 +09:00
Kazuki Yamada 0ca186e112 perf(website-server): Enable Node.js compile cache for faster cold starts
Add V8 compile cache support to reduce Cloud Run cold start latency.
The cache is pre-generated at Docker build time using a warmup script,
so subsequent container starts use pre-compiled code.

Changes:
- Add warmup.mjs script to generate compile cache at build time
- Add WARMUP_MODE check to skip server initialization during warmup
- Set NODE_COMPILE_CACHE environment variable in Dockerfile
- Run warmup script during Docker build to pre-populate cache
2026-01-03 16:47:28 +09:00
yamadashy 540310f4d8 fix(website-server): Add tiktoken as external dependency in esbuild bundle
When bundling the server with esbuild, tiktoken was being inlined which
caused the WASM file path resolution to fail. tiktoken loads its WASM
files from __dirname at runtime, so it must be kept as an external
dependency to preserve correct path resolution.

This fixes the Cloud Run deployment error:
"Missing tiktoken_bg.wasm"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 15:06:49 +09:00
Kazuki Yamada d665133bb6 fix(website-server): Use find to locate WASM files in Dockerfile
Use find command to locate tree-sitter WASM files regardless of
node_modules hoisting. This fixes Cloud Run deployment failures
where WASM files were not found at the expected path.
2026-01-03 14:18:16 +09:00
Kazuki Yamada 3c4c192368 feat(website-server): Add bundled mode support for Cloud Run
- Update Dockerfile for bundled production mode with esbuild
- Copy WASM files and tinypool for runtime
- Set environment variables for bundled worker path
- Update compose.yml to disable bundled mode for local development
2026-01-01 19:16:21 +09:00
Kazuki Yamada 1f058ef2d4 fix(website-server): Add git to Docker build stages and update lock file
- Add git to builder and deps stages for GitHub-based npm dependencies
- Update --only=production to --omit=dev (npm warning fix)
- Update package-lock.json with new repomix dependency
2025-12-31 21:50:30 +09:00
Kazuki Yamada 43ab6d7414 fix(docker): Use root user to resolve /tmp directory access issue 2025-06-08 14:48:37 +09:00
Kazuki Yamada d58702ed1e fix(website/server): Add ca-certificates to Alpine runtime image
Alpine images often omit CA certificates needed for HTTPS git operations. Add ca-certificates to ensure remote cloning/pulls succeed at runtime.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 17:32:32 +09:00
Kazuki Yamada 1affddbe88 chore(website/server): Update Node.js from 23 to 24 in Dockerfile
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 17:18:40 +09:00
Kazuki Yamada 6e9d41bcf5 feat(website): Optimize Docker image size from 342MB to 304MB
Implement multi-stage build with production-only dependencies to improve Cloud Run startup performance. Reduce image size by 11% while maintaining all functionality including git support for remote repository processing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 15:56:20 +09:00
Kazuki Yamada 5f959bf146 chore(deps): update Node.js version from 23.1.0 to 23.6.0 2025-01-11 13:47:58 +09:00
Kazuki Yamada 034c54a6b3 refactor: use repomix's built-in URL validation 2025-01-11 02:16:59 +09:00
Kazuki Yamada eceb88672e feat(website): migrate base image from slim to alpine 2025-01-04 21:40:29 +09:00
Kazuki Yamada e9e0443d6b feat(website): Add online demo functionality 2025-01-04 12:40:08 +09:00