Remove the custom contains() wrapper function in params_test.go
and use strings.Contains directly as suggested in review.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Addresses code review feedback from silverwind:
- Replace complex custom contains() implementation with strings.Contains
- Remove unnecessary containsMiddle() function
- Improves readability and maintainability by using standard library
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This change makes index parameters more flexible by accepting both
numeric and string values. LLM agents often pass issue/PR indices
as strings (e.g., "123") since they appear as string identifiers in
URLs and CLI contexts. The implementation:
- Created pkg/params package with GetIndex() helper function
- Updated 25+ tool functions across issue, pull, label, and timetracking operations
- Improved error messages to say "must be a valid integer" instead of misleading "is required"
- Added comprehensive tests for both numeric and string inputs
This improves UX for MCP clients and LLMs while maintaining backward
compatibility with existing numeric callers.
Fixes: #121
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>