Skip to content

feat: add configurable shell option for tool execution#10

Merged
izumin5210 merged 3 commits intomainfrom
feat/shell-option
Aug 24, 2025
Merged

feat: add configurable shell option for tool execution#10
izumin5210 merged 3 commits intomainfrom
feat/shell-option

Conversation

@izumin5210
Copy link
Owner

Summary

  • Add GitHub Actions-like shell option to allow custom interpreters for tool execution
  • Remove bash-specific logic and file extension detection for cleaner implementation
  • Enable execution of Python, Node.js, Deno, Ruby, and other interpreters

Changes

  • Add shell field to ToolConfigSchema with default value "bash -e {0}"
  • Simplify executor.ts by removing bash-specific shebang/set-euo pipefail logic and file extension detection
  • Update tests to verify shell option functionality and remove redundant test cases
  • Add documentation with comprehensive examples for various interpreters

Test plan

  • All existing tests pass (30 tests)
  • New tests verify custom shell execution with Node.js
  • Test placeholder replacement for {0} in shell commands
  • Verify environment variables are passed correctly to all interpreters

🤖 Generated with Claude Code

izumin5210 and others added 3 commits August 24, 2025 17:46
Add GitHub Actions-like shell option to allow custom interpreters for tool execution.

- Add `shell` field to ToolConfigSchema with default "bash -e {0}"
- Remove bash-specific logic (shebang and set -euo pipefail) from executor
- Remove unnecessary file extension detection
- Support any interpreter (Python, Node.js, Deno, Ruby, etc.)
- Update tests to verify shell option functionality
- Add comprehensive documentation with examples

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

Co-Authored-By: Claude <noreply@anthropic.com>
Add examples showing how to implement AI agents with web search capabilities using Deno:
- Gemini 2.5 Flash with Google Search integration
- GPT-5 with web search preview tool

These examples demonstrate the flexibility of the shell option for complex use cases.

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Add shell option documentation to Japanese README
- Add yaml-language-server schema specification
- Add advanced AI agent examples (Gemini and GPT-5)
- Update examples to match the English version

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

Co-Authored-By: Claude <noreply@anthropic.com>
@izumin5210 izumin5210 merged commit 4ee8851 into main Aug 24, 2025
4 checks passed
@izumin5210 izumin5210 deleted the feat/shell-option branch August 24, 2025 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant