diff --git a/README.md b/README.md index e043860693..64fee8a822 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,32 @@ With Redis Insight you can now also extend the core functionality by building yo - [Plugin Documentation](https://github.com/RedisInsight/RedisInsight/wiki/Plugin-Documentation) +## AI-Powered Development + +Redis Insight integrates with AI-powered development tools to enhance the development experience: + +### Tidewave + +[Tidewave](https://tidewave.ai/) is an AI coding agent that enables interactive UI development. It allows AI agents to modify React components while providing real-time visual feedback directly in your browser. + +**Key Features:** +- Point-and-click UI element selection for AI prompting +- Real-time UI modifications with immediate visual feedback +- Integration with popular AI coding agents (Claude Code, OpenAI Codex, GitHub Copilot) +- Shared development environment with contextual browser testing + +**Quick Start:** +```bash +# Start RedisInsight development servers +yarn dev:api # Terminal 1 +yarn dev:ui # Terminal 2 + +# Start Tidewave +tidewave --allow-remote-access --allowed-origins=http://localhost:8080 # Terminal 3 +``` + +For detailed setup and usage instructions, see [AI Development Tools Documentation](docs/development/ai-tools.md). + ## Contributing If you would like to contribute to the code base or fix and issue, please consult the wiki. diff --git a/package.json b/package.json index 1a189dc37c..991170fc38 100644 --- a/package.json +++ b/package.json @@ -224,6 +224,7 @@ "supertest": "^4.0.2", "terser-webpack-plugin": "^5.3.10", "text-encoding": "^0.7.0", + "tidewave": "^0.5.5", "ts-jest": "^29.2.5", "ts-loader": "^9.5.1", "ts-mockito": "^2.6.1", diff --git a/redisinsight/ui/vite.config.mjs b/redisinsight/ui/vite.config.mjs index d0827fb130..bbb5ff95e9 100644 --- a/redisinsight/ui/vite.config.mjs +++ b/redisinsight/ui/vite.config.mjs @@ -10,6 +10,8 @@ import istanbul from 'vite-plugin-istanbul'; import { fileURLToPath, URL } from 'url'; import path from 'path'; import { defaultConfig } from './src/config/default'; +import tidewave from 'tidewave/vite-plugin'; + const isElectron = defaultConfig.app.type === 'ELECTRON'; // set path to index.tsx in the index.html @@ -34,6 +36,7 @@ if (defaultConfig.api.hostedBase) { export default defineConfig({ base, plugins: [ + tidewave(), react(), svgr({ include: ['**/*.svg?react'] }), reactClickToComponent(), @@ -90,6 +93,9 @@ export default defineConfig({ fs: { allow: ['..', '../../node_modules/monaco-editor', 'static', 'defaults'], }, + proxy: { + "/tidewave": `http://localhost:5540` // your backend port + }, }, envPrefix: 'RI_', optimizeDeps: {