@vibeship/devtools
Version:
Comprehensive markdown-based project management system with AI capabilities for Next.js applications
352 lines (263 loc) • 14 kB
Markdown
# Changelog
All notable changes to this 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]
### Fixed
- Added detailed logging for AI Settings Panel component chain to help diagnose "component not provided" errors
- Clarified documentation that AI Settings Panel is included by default with `VibeshipProviderWithDeps`
- Added examples showing how to provide custom UI components
## [1.1.4] - 2025-07-09
### Patch Changes
#### 🤖 AI Settings Panel Fix
- Fixed "AI Settings Panel component not provided" error
- Wrapped AISettingsPanel with AISettingsProvider context in TaskPanelOverlay
- Added extensive debug logging to trace component prop passing
- AI settings now work properly in the published package
#### 🔧 Dependencies
- Updated @vibeship/ui to 0.1.12
## [1.1.3] - 2025-07-09
### Patch Changes
#### 🐛 Regression Fixes
- Fixed "All Tasks" issue - now properly displays directory-based grouping (Architecture, Package, etc.)
- Fixed refresh button functionality - `loadTasks` function is now accessible to refresh handler
- Fixed markdown file loading - clicking on tickets now properly opens the file
- Fixed API response handling to preserve server-provided phase groups
- Added file selection on ticket header click (not just on individual tasks)
#### 🔧 Dependencies
- Updated @vibeship/ui to 0.1.11
## [1.1.2] - 2025-07-09
### Patch Changes
#### 🎨 Task Panel Visual Improvements
- Fixed task panel to properly display parent directory names instead of "All Tasks"
- Added visual differentiation between features, tickets, and tasks:
- **Features** (directories): Folder icon (📁) with bold text
- **Tickets** (files): Document icon (📄) with normal text
- **Tasks** (TODO items): Task type icons with smaller text
- Improved file path display to show directory structure clearly
- Files now show their parent directory path separately for better context
#### 🔧 Dependencies
- Updated @vibeship/ui to 0.1.10
## [1.1.1] - 2025-07-09
### Patch Changes
- Updated @vibeship/ui to 0.1.9 with SSE and display fixes
- Minor bug fixes and improvements
## [1.1.0] - 2025-07-09
### Minor Changes
#### 🚀 AI Features Now Included!
- Added complete AI integration system with multi-provider support (OpenAI, Anthropic, XAI)
- Added AISettingsPanel component for configuring API keys and selecting models
- Added AISettingsProvider and useAISettings hook for AI state management
- Added secure API key management with browser-based encryption
- Added AI chat API route template for streaming responses
- AI SDK dependencies are now optional peer dependencies - users only install what they need
#### 🔧 Dependencies
- Updated @vibeship/ui to 0.1.8 (fixes SSE "Updating..." bug)
- Added optional peer dependencies:
- openai ^4.0.0 (optional)
- @anthropic-ai/sdk ^0.20.0 (optional)
- ai ^3.0.0 (optional)
#### 📚 Exports
- Export AISettingsPanel component
- Export AISettingsProvider and useAISettings
- Export AI service classes and types
- Export security utilities (api-key-manager, encryption-service)
### Features
- AI features are opt-in - only activated when users provide API keys
- No vendor lock-in - users control their provider selection and API keys
- Secure client-side encryption for API key storage
- Support for streaming and non-streaming AI responses
## [1.0.63] - 2025-07-08
### Fixed
- Fixed SSE client type definition missing endpoint parameter
- Corrected type mismatches in multiple provider interfaces
- Resolved TypeScript errors when using getSSEClient in consuming applications
### Technical Details
- Updated `getSSEClient?: () => any` to `getSSEClient?: (endpoint: string) => any` across all interfaces
- Fixed type definitions in both source files and generated .d.ts files
- Ensures proper SSE functionality with correct type signatures
## [1.0.62] - 2025-07-08
### Fixed
- Changed TaskPanelOverlay keyboard shortcut from Cmd+Shift+K to Cmd+Shift+T to avoid conflicts
- Fixed React hooks violation in keyboard shortcut handler by using Zustand store directly
- Resolved keyboard shortcut conflict with main app's global keyboard handler
### Enhanced
- Updated UI tooltip to show correct keyboard shortcut (⌘⇧T)
- Added clear documentation about keyboard shortcut separation
## [1.0.61] - 2025-07-08
### Fixed
- Restored keyboard shortcut handler for TaskPanelOverlay after accidental removal
- Added proper logging to track keyboard shortcut state changes
### Enhanced
- Improved keyboard shortcut detection and state logging for debugging
## [1.0.36] - 2025-07-05
### Changed
- **BREAKING**: File writing is now enabled by default - no environment variable required
- Changed from opt-in (`VIBESHIP_ALLOW_FILE_WRITES=true`) to opt-out (`VIBESHIP_DISABLE_FILE_WRITES=true`)
- Updated file API template to implement actual file writing functionality
### Improved
- Better developer experience - file editing works out of the box
- Production environments can disable file writes with explicit environment variable
### Documentation
- Updated README with security configuration section
- Updated TROUBLESHOOTING guide to reflect new file writing behavior
## [1.0.35] - 2025-07-05
### Changed
- Updated @vibeship/ui dependency to v0.1.5 which includes SSE integration fixes
- SSE updates now properly refresh the task list UI in real-time
- Task panel automatically updates when SSE messages are received
### Fixed
- Fixed SSE integration - messages are now processed and trigger UI updates
- Fixed task panel not refreshing when SSE events occur
## [1.0.34] - 2025-07-05
### Added
- OPTIMIZE, BUG, and REFACTOR task types now included in default configuration
- Better SSE error handling and logging in VibeshipDevTools component
- Documentation about SSE limitations and workarounds in TROUBLESHOOTING.md
### Changed
- Enhanced SSE client implementation with task parsing and transformation
- Provider template now includes detailed comments about SSE limitations
- Improved error messages for SSE connection issues
### Known Issues
- SSE updates are received but don't automatically refresh the UI (planned for v1.1.0)
- Workaround: Manually refresh the task panel or implement custom SSE handler
## [1.0.33] - 2025-07-05
### Fixed
- Fixed init command progress display - now correctly starts at [1/11] instead of [3/11]
- Fixed "Could not find closing brace for function GET" error by improving middleware wrapper error handling
- Fixed TypeError "Cannot read properties of undefined (reading 'map')" by adding defensive checks in transformTasksResponse
- Improved error resilience in VibeshipDevTools component - handles malformed API responses gracefully
- Middleware transformation now skips functions it cannot parse instead of failing
### Improved
- Better error logging in task transformation functions
- More robust handling of undefined/null data in UI components
- Clearer console warnings when API responses have unexpected structure
### Documentation
- Updated TROUBLESHOOTING.md with information about Next.js image warnings
## [1.0.32] - 2025-07-05
### Fixed
- Fixed path parameter normalization in tasks API - now handles `path=tickets` by converting to `./tickets`
- Improved error handling in client - shows placeholder message when initial fetch fails but allows SSE to work
- Tasks from markdown files now display correctly even if initial API call fails
- Added TROUBLESHOOTING.md guide for common issues
### Added
- Better error resilience - UI continues to work with SSE even if initial fetch fails
- More informative error messages in the task panel
## [1.0.31] - 2025-07-05
### Fixed
- Fixed FileScanner to properly handle both directory paths and individual file paths (like ./README.md)
- Scanner now correctly detects if a path is a file or directory and processes accordingly
- Example markdown files in .tickets directory should now appear in the task panel
## [1.0.30] - 2025-07-05
### Fixed
- Fixed Logger constructor calls in all templates to use object syntax `{ prefix: 'name' }` instead of string
- Added missing required fields (ui, api, cache) to generated vibeship.config file
- Removed unused withErrorHandler import when no middleware is applied
- Fixed TypeScript type issues with Task type and priority sorting
- Made jsonwebtoken dependency optional with dynamic import to prevent runtime errors
- Fixed all TypeScript errors in generated API routes
## [1.0.25] - 2025-01-04
### Fixed
- Fixed brace depth tracking in `applyMiddleware` method to correctly handle nested callbacks
- Middleware wrapper now properly closes after the function ends, not inside nested blocks like `setInterval`
- Corrected starting brace depth to 1 and loop starting position to after the opening brace
## [1.0.24] - 2025-07-04
### Fixed
- **BREAKING FIX**: Completely rewrote middleware wrapping logic to handle files with multiple exported functions
- Fixed "Expected ',', got 'export'" syntax error that occurred when files contain both GET and POST functions
- Middleware wrappers now properly close each function individually instead of only closing the first function
- Uses brace-depth tracking to accurately find function boundaries instead of relying on return statement patterns
- Fixed incorrect position calculation when replacing function declarations
## [1.0.23] - 2025-07-04
### Internal
- Development version (not published)
## [1.0.22] - 2025-07-04
### Fixed
- Fixed extra closing `});` at end of generated files when rate limiting is enabled
- Updated regex to match functions without `: Promise<Response>` return type annotations
- Fixed closing brace replacement to only apply to the main function when wrappers are added
- Improved precision of closing brace replacement to avoid modifying helper functions
## [1.0.21] - 2025-07-04
### Fixed
- Fixed syntax error in generated route files when rate limiting is enabled
- Changed middleware application to properly convert async function declarations to arrow functions
- Fixed incorrect syntax `export async function GET = withRateLimit(` to `export const GET = withRateLimit(async (`
- Improved handling of multiple middleware wrappers (auth + rate limiting)
## [1.0.20] - 2025-07-04
### Fixed
- Fixed API endpoint mismatch causing 404 errors for tasks and SSE endpoints
- Updated default endpoints from `/api/tasks/stream` to `/api/vibeship/tasks/stream`
- Updated default endpoints from `/api/ai/chat` to `/api/vibeship/ai/chat`
- Fixed file content API endpoints to use `/api/vibeship/files/content`
- Ensured all client components use consistent API paths matching generated routes
## [1.0.19] - 2025-07-04
### Fixed
- Exported VibecodeDevtools component from main devtools package
## [1.0.18] - 2025-07-04
### Fixed
- Fixed TypeScript type mismatch between VibecodeConfig and VibeshipConfig
- Fixed keyboard shortcuts (cmd+shift+k) not working by connecting custom events to UI state
- Improved defineConfig type inference to preserve exact types
## [1.0.17] - 2025-07-04
### Fixed
- Fixed "defineConfig is on the client" error by importing from server-safe path
- Generated config now imports from '@vibeship/devtools/config' instead of main export
## [1.0.16] - 2025-07-04
### Fixed
- Added missing `allowedPaths` property to generated security config to fix TypeScript error
## [1.0.15] - 2025-07-04
### Added
- New `VibeshipServerProvider` component for server-side rendering compatibility
- Example .tickets directory with sample task file created during init
- Improved developer experience with clearer progress tracking
### Fixed
- Init command progress display now starts correctly at step 1
- Config file generation now works properly (was missing from template generation)
- Layout files no longer need to be client components
- Removed duplicate code and dead functions
- Fixed import style for vibeship.config (now uses default export)
### Changed
- Split provider into server and client components for better SSR support
- Updated layout templates to use VibeshipServerProvider
- Improved init command with better error handling and progress display
## [1.0.1] - 2025-07-03
### Fixed
- Removed internal UI package dependency that was preventing installation
- Package can now be installed without errors
## [1.0.0] - 2025-07-03
### Added
- Initial release of @vibeship/devtools
- CLI for project initialization
- Provider injection system
- Task extraction from markdown
- AI-powered chat integration
- Real-time updates
- Command palette
- Comprehensive test suite
## [Unreleased]
### Added
- Initial release of @vibeship/devtools
- CLI for project initialization with `vibeship init` command
- Automatic provider injection into Next.js layouts
- Task extraction from markdown files (TODO, FIXME, HACK, NOTE)
- AI-powered chat integration for intelligent assistance
- Real-time updates with hot reload
- Command palette for quick actions
- Support for both App Router and Pages Router
- TypeScript and JavaScript project support
- Comprehensive configuration system
- Security features (rate limiting, CORS, authentication middleware)
- Extensive test suite with 90%+ coverage
### Features
- 📝 Living Documentation: Interactive markdown files
- 🤖 AI-Powered: Intelligent assistance with Claude integration
- 🚀 Real-time Updates: Hot reload for instant feedback
- 🎨 Modern UI: Beautiful, responsive design with @vibeship/ui
- 🛡️ Security First: Built-in rate limiting and CORS protection
- 🔧 Developer Friendly: Simple CLI setup and configuration
### Technical Details
- Monorepo structure with separate UI package
- Vitest for testing framework
- Babel AST manipulation for safe code injection
- Transaction-based file operations for rollback safety
- Comprehensive error handling and validation