UNPKG

@vibeship/devtools

Version:

Comprehensive markdown-based project management system with AI capabilities for Next.js applications

352 lines (263 loc) 14 kB
# 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