Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# GenAI Browser Tool - Environment Configuration
# Copy this file to .env and configure your API keys

# OpenAI Configuration
OPENAI_API_KEY=sk-your-openai-api-key-here
OPENAI_MODEL=gpt-4
OPENAI_MAX_TOKENS=4000

# Anthropic Claude Configuration
ANTHROPIC_API_KEY=sk-ant-your-anthropic-api-key-here
ANTHROPIC_MODEL=claude-3-sonnet-20240229
ANTHROPIC_MAX_TOKENS=4000

# Google Gemini Configuration
GOOGLE_API_KEY=AIza-your-google-api-key-here
GOOGLE_MODEL=gemini-pro

# Development Configuration
NODE_ENV=development
DEBUG_LOGGING=true
ENABLE_ANALYTICS=false

# API Configuration
API_TIMEOUT=10000
RATE_LIMIT_REQUESTS=50
RATE_LIMIT_WINDOW=3600000

# Extension Configuration
EXTENSION_ID=your-extension-id-here
DEVELOPMENT_MODE=true

# Security Configuration
CSP_REPORT_ONLY=false
ENABLE_CONTENT_VALIDATION=true
MAX_CONTENT_LENGTH=50000

# Testing Configuration
TEST_TIMEOUT=30000
COVERAGE_THRESHOLD=70

# Deployment Configuration
DEPLOY_TARGET=development
VERCEL_TOKEN=your-vercel-token-here
RAILWAY_TOKEN=your-railway-token-here
102 changes: 102 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
## Description

Provide a brief description of the changes made in this pull request.

## Type of Change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Test coverage improvement

## Related Issues

- Closes #(issue number)
- Fixes #(issue number)
- Relates to #(issue number)

## Changes Made

### Core Changes
- [ ] List specific changes made to core functionality
- [ ] Include any architectural changes
- [ ] Note any new dependencies added

### UI/UX Changes
- [ ] Describe any user interface changes
- [ ] Include screenshots if applicable
- [ ] Note any accessibility improvements

### API Changes
- [ ] Document any API changes
- [ ] Note breaking changes
- [ ] Update version numbers if needed

## Testing

### Automated Testing
- [ ] Unit tests pass (`npm test`)
- [ ] E2E tests pass (`npm run test:e2e`)
- [ ] Coverage threshold met (`npm run test:coverage`)
- [ ] Linting passes (`npm run lint`)
- [ ] Type checking passes (`npm run typecheck`)

### Manual Testing
- [ ] Extension loads without errors in Chrome
- [ ] Extension loads without errors in Edge
- [ ] Context menus function correctly
- [ ] Popup opens and functions correctly
- [ ] Background service worker initializes
- [ ] Content scripts inject properly
- [ ] AI providers respond correctly
- [ ] Error handling works as expected

### Browser Compatibility
- [ ] Chrome (version 88+)
- [ ] Edge (version 88+)
- [ ] Tested in incognito/private mode

## Security Considerations

- [ ] Input validation implemented
- [ ] XSS prevention measures in place
- [ ] API keys handled securely
- [ ] Content Security Policy updated if needed
- [ ] No sensitive data exposed in logs

## Performance Impact

- [ ] No significant performance degradation
- [ ] Memory usage is reasonable
- [ ] API calls are optimized
- [ ] Caching implemented where appropriate
- [ ] Bundle size impact is minimal

## Documentation

- [ ] README.md updated if needed
- [ ] CONTRIBUTING.md updated if needed
- [ ] Code comments added for complex logic
- [ ] JSDoc comments added for new functions
- [ ] CHANGELOG.md updated

## Screenshots

<!-- Include screenshots for UI changes -->

## Additional Notes

<!-- Add any additional context, concerns, or notes for reviewers -->

## Checklist

- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published
89 changes: 89 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Changelog

All notable changes to the GenAI Browser Tool project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Comprehensive build system with rollup extension configuration
- MIT LICENSE file for legal compliance
- Comprehensive CONTRIBUTING.md with development guidelines
- Complete test framework with Vitest and Playwright
- Extension icons in all required sizes (16x16, 32x32, 48x48, 128x128)
- Environment configuration template (.env.example)
- GitHub pull request template
- Comprehensive test coverage for core functionality

### Fixed
- Manifest file paths corrected to match actual file structure
- Background service worker path updated for proper loading
- Content script paths aligned with project structure
- Extension icons now exist and are properly referenced
- Content Security Policy strengthened for better security

### Changed
- Improved development workflow with proper build configuration
- Enhanced security validation and input sanitization
- Updated project structure for better maintainability

### Security
- Strengthened Content Security Policy
- Added comprehensive input validation and sanitization
- Improved API key handling and storage security

## [4.1.0] - 2024-11-03

### Added
- Multi-provider AI support (OpenAI, Anthropic, Google Gemini)
- Advanced content summarization with customizable options
- Contextual Q&A functionality
- Translation capabilities
- Sentiment analysis features
- Smart bookmarking with AI-generated metadata
- Context menu integration for quick actions
- Keyboard shortcuts for common operations
- Comprehensive error handling and logging
- Analytics tracking for performance monitoring

### Security
- Content Security Policy implementation
- Input validation and sanitization
- Secure API key storage

## [4.0.0] - Previous Release

### Added
- Initial extension architecture
- Basic AI provider integration
- Popup interface
- Options page
- Background service worker
- Content scripts

---

## Release Guidelines

### Version Numbering
- **MAJOR**: Breaking changes that require user action
- **MINOR**: New features that are backward compatible
- **PATCH**: Bug fixes that are backward compatible

### Change Categories
- **Added**: New features
- **Changed**: Changes in existing functionality
- **Deprecated**: Soon-to-be removed features
- **Removed**: Removed features
- **Fixed**: Bug fixes
- **Security**: Security improvements

### Release Process
1. Update version in package.json and manifest.json
2. Update CHANGELOG.md with release notes
3. Create release branch
4. Run full test suite
5. Create GitHub release
6. Deploy to Chrome Web Store (maintainers only)
Loading