Releases: d-oit/gemini-search-plugin
Releases · d-oit/gemini-search-plugin
Release v0.1.3
Changes in v0.1.3
Fixed
- Script permissions for integration tests
- Repository URLs updated to d-oit organization
- Common logging functionality improvements
- ShellCheck warnings in CI (exported LOG_FILE and ERROR_LOG_FILE)
- GitHub release workflow paths (plugin.json → .claude-plugin/plugin.json)
- GitHub release workflow to use CHANGELOG.md instead of CHANGES.md
Changed
- Updated owner/contributor information to d-oit organization
- Tests now self-contained with automatic cleanup
Improved
- Integration test reliability (test_cache_stats, test_analytics_report)
- Refactored common logging into shared module (scripts/common-logging.sh)
- All shell scripts now pass ShellCheck validation in CI
Installation:
cd ~/.config/claude-code/plugins
git clone https://github.com/d-oit/gemini-search-plugin.git gemini-searchUsage:
/search [query]- Perform web searches/search-stats- View usage statistics/clear-cache- Clear search cache
Release v0.1.2 - Skills System & Code Quality
Skills System & Code Quality Improvements
Added
- Skills System: Four comprehensive Claude Code skills for plugin development workflow
plugin-creator: Complete guide for creating Claude Code plugins with structure, commands, agents, hooksshell-script-quality: ShellCheck and BATS testing framework integration and best practicesgithub-repo-management: GitHub repository management including issues, PRs, releases, and CI/CDweb-research: Token-efficient web research using gemini-search agent (30-40% token savings)
- Skills documentation with README.md files for each skill
- Main
.claude/skills/README.mdwith comprehensive overview and integration guide - Cross-references between skills for integrated workflow
Fixed
- Fixed ShellCheck warnings in
hooks/error-search.sh(SC2221/SC2222 pattern matching) - Fixed ShellCheck info in
scripts/search-wrapper.sh(SC1091 with proper directive) - Fixed ShellCheck warning in
tests/run-integration-tests.sh(SC2155 declare and assign separately) - Fixed ShellCheck info in
tests/test-link-validation.sh(SC1091 with proper directive)
Improved
- All shell scripts now pass ShellCheck validation without warnings
- Enhanced code quality with proper shellcheck directives
- Better test script quality assurance
- Comprehensive skills-based workflow for plugin development
Documentation
- Added skill-specific README files for quick reference
- Updated plugin-creator skill with related skills references
- Complete web-research skill documentation with usage patterns and examples
- GitHub repository management skill with CI/CD workflow examples
- Shell script quality skill with complete testing and linting guide
Installation
```bash
/plugin add https://github.com/d-oit/gemini-search-plugin
```
Full Changelog
See CHANGELOG.md for complete version history.
Release 0.1.0
Initial Release
This is the first public release of the Gemini Search Plugin for Claude Code.
Added
Core Search Functionality
- Integrated Gemini CLI in headless mode (
gemini -pwith--yoloflag) - Restricted Gemini CLI to only use
google_web_searchtool via.gemini/settings.json - Zero direct web scraping or HTTP requests - all content via Gemini's grounded search
Caching System
- Smart caching with 1-hour TTL
- MD5-based cache keys for efficient lookups
- Platform-independent cache validation (supports macOS, Linux, Windows)
- Cache statistics and management commands
Analytics & Tracking
- Comprehensive analytics tracking with JSON storage
- Cache hit/miss rate monitoring
- Search engine usage distribution
- Top 10 queries tracking (automatically maintained)
- Token savings estimates (39% per cache hit)
- Atomic writes to prevent data corruption
Content Extraction
- Dynamic content extraction from web pages using Gemini CLI
- Clean text extraction (removes HTML, scripts, styling)
- Content relevance validation
- Multiple content sources with fallback methods
Validation Pipeline
- Multi-stage result validation to prevent false positives
- Query term matching with relevance scoring
- Domain blacklist filtering (example.com, test.com, etc.)
- Content quality checks (minimum length, error indicators)
- 50% minimum relevance threshold for search results
- 30% minimum relevance threshold for extracted content
Commands
/search [query]- Perform web search with caching and validation/search-stats- View analytics and cache statistics/clear-cache- Clear cache and reset analytics
Hooks
error-search.sh- Auto-detects errors with exponential backoff retry logicpre-edit-search.sh- Provides search suggestions before edits
Agents
gemini-search- Isolated context subagent for search operations (39% token savings)
Error Handling
- Exponential backoff retry logic (configurable via environment variables)
- Error type categorization (timeout, not_found, server_error, rate_limit, etc.)
- Comprehensive error logging with structured JSON format
- Graceful degradation when services unavailable
Development & Testing
- Integration test suite with 10 automated tests
- ShellCheck linting for all bash scripts
- JSON validation for all configuration files
- CI/CD workflows (GitHub Actions)
- Release automation with version validation
Security Features
- Content size limits (100KB default, configurable)
- URL validation to prevent injection
- Timeout protection (15s default)
- Error message sanitization
- No hardcoded credentials
- Comprehensive SECURITY.md documentation
Documentation
- Complete README.md with features and usage
- CONTRIBUTING.md with development guidelines
- SECURITY.md with vulnerability reporting
- DEPLOYMENT.md with testing and release procedures
- Inline documentation in all scripts
Repository Setup
- Branch protection rules on master branch
- Issue and PR templates
- Automated CI/CD pipeline
- Security scanning (Trivy)
- Semantic versioning support
Configuration
Environment variables for customization:
CACHE_DIR- Cache directory locationCACHE_TTL- Cache time-to-live in seconds (default: 3600)LOG_FILE- Main log file pathERROR_LOG_FILE- Error log pathMAX_RETRIES- Retry attempts on failure (default: 3)RETRY_DELAY- Initial retry delay in seconds (default: 1)BACKOFF_BASE- Exponential backoff multiplier (default: 2)EXPONENTIAL_MAX_DELAY- Maximum retry delay cap (default: 60)ANALYTICS_DIR- Analytics data directoryTIMEOUT_SECONDS- Content extraction timeout (default: 15)MAX_CONTENT_SIZE- Maximum content size to process (default: 100000)
Dependencies
- Required: Gemini CLI (
npm install -g @google/genai-cli) - must be pre-authenticated - Required:
jqfor JSON processing - Required:
md5sumfor cache key generation - Required:
statfor cache TTL validation
Note: The plugin uses the Gemini CLI's existing authentication. No separate API key configuration is needed for the plugin itself.
Known Limitations
- Cache stored in
/tmpby default (consider private location on shared systems) - Log files may contain sensitive query information
- Requires Gemini CLI to be pre-authenticated (
gemini auth loginor equivalent)
Release Checklist
For maintainers preparing releases:
- Update version in
.claude-plugin/plugin.json - Update version in
.claude-plugin/marketplace.json - Update CHANGES.md with release date
- Run integration tests:
bash tests/run-integration-tests.sh - Commit changes:
git commit -m "chore: prepare release vX.Y.Z" - Create tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z" - Push:
git push origin master && git push origin vX.Y.Z
Full Changelog: https://github.com/d-oit/gemini-search-plugin/commits/v0.1.0