Commit graph ruby-sdk/.gitignore
Author SHA1 Message Date
Koichi ITO
636e494068 Add a rake docs:preview task serving the docs site locally
## Motivation and Context

The documentation site under `docs/` had no development command: previewing a change meant hand-assembling
a Jekyll environment, since the site only builds for real when a release publishes it through
`bin/generate-gh-pages.sh` and the GitHub Pages runtime. `rake docs:preview` now builds and serves
the site at http://localhost:4000 (override with `PORT`), with watch-based rebuilds on edit.

The preview dependencies live in their own `docs/Gemfile` rather than the gem's Gemfile:
`github-pages` mirrors the runtime that builds the released site (jekyll-remote-theme,
jekyll-redirect-from, and the Jekyll version Pages actually runs), which keeps the preview faithful
but is far too heavy to impose on the gem itself. The task subshells into that bundle with
`Bundler.with_unbundled_env`, the same delegation shape the conformance tasks use for npx.
Two support pieces keep the pinned toolchain running on current Ruby. `docs/_preview/taint_shim.rb` restores
the taint API as no-ops: Liquid 4.0.3 calls `obj.tainted?` on every variable render,
ahead of its own lax-mode check (`liquid/variable.rb:124`), so on Ruby 3.2 and later,
where the taint API was removed, the first layout render dies with NoMethodError, while on Ruby 3.1
and earlier the methods still exist as deprecated no-ops and the shim is inert. The shim is loaded only into
the preview process via RUBYOPT. The former default gems the pinned Jekyll expects are listed in the docs Gemfile.
The task also regenerates `docs/_data/versions.yml` from the version tags, mirroring what `bin/generate-gh-pages.sh`
produces at deploy time, so the nav footer shows the released-gem version line exactly as it does on the published site.
Build products and the generated data file are ignored.

## How Has This Been Tested?

By running the task on a spare port and verifying the served pages, the footer's version line,
and that a SIGINT stops it cleanly with exit 0; `git status` stays clean while it runs (all build products ignored).
Verified on both Ruby 3.1.5 (shim inert) and Ruby 4.0.6, where a shimless build reproduces the NoMethodError
and the task runs green with the shim. RuboCop and the full suite are green.

## Breaking Changes

None. The task and its Gemfile are development-only additions; the gem and its dependencies are untouched.
2026-08-25 12:36:54 +09:00
Koichi ITO
bb94bdd6e3 Add *.gem to .gitignore
`gem build mcp.gemspec` outputs the built gem into the working directory (e.g. mcp-0.7.1.gem)
rather than pkg/, which is already ignored.
Without this entry, the file shows up as an untracked file and risks being accidentally
staged and committed during release preparation or local development.
2026-02-26 19:32:38 +09:00
Koichi ITO
92ef9e4b63 Remove .ruby-version for development
RubyGems may be used across a wide range of Ruby versions,
from the minimum supported version to development versions.

To allow local development with any Ruby version,
the Ruby version is not locked using a `.ruby-version` file.

This enables developers to work with their preferred Ruby version and
frees repository maintainers from the need to update `.ruby-version`.

Additionally, because testing against supported Ruby versions is performed
in CI before release, the version in `.ruby-version` is not important.
2025-05-23 15:44:17 +09:00
Andy Waite
19be50d2b9 Fix .gitignore entry for Gemfile.lock
The `Gemfile.lock` entry has a . in front which prevents it from being ignored.
2025-05-21 11:06:26 -04:00
Topher Bullock
afa0d8b6ab remove Gemfile.lock
ci on #10 is failing due to darwin deps in the lockfile.
fix ci by removing the gemfile and adding `bundle install` to ci steps
2025-05-20 11:20:05 -04:00
Topher Bullock
a4df3b8688 Internal Release v0.1.1
- implement `Prompt`
- adjust Tool approach
- update readme for tool calling
- document usage of `Prompt`
2025-05-08 17:37:27 -04:00