feat: implement fuzzy search and replace functionality with Levenshtein distance
- Added `applySearchReplace` function to handle search and replace operations with fuzzy matching capabilities. - Introduced tests for various scenarios including fuzzy matching with typos, exact matches, and handling whitespace differences. - Created a parser for search/replace blocks to facilitate the new functionality. - Updated prompts for search-replace operations to clarify usage and examples. - Added utility functions for text normalization and language detection based on file extensions. - Implemented a minimal stdio MCP server for local testing with tools for adding numbers and printing environment variables.
This commit is contained in:
@@ -20,9 +20,23 @@ Dyad is an Electron app.
|
||||
npm install
|
||||
```
|
||||
|
||||
**Create the userData directory (required for database)**
|
||||
|
||||
```sh
|
||||
# Unix/macOS/Linux:
|
||||
mkdir -p userData
|
||||
|
||||
# Windows PowerShell (run only if folder doesn't exist):
|
||||
mkdir userData
|
||||
|
||||
# Windows Command Prompt (run only if folder doesn't exist):
|
||||
md userData
|
||||
```
|
||||
|
||||
**Apply migrations:**
|
||||
|
||||
```sh
|
||||
# Generate and apply database migrations
|
||||
npm run db:generate
|
||||
npm run db:push
|
||||
```
|
||||
@@ -33,6 +47,16 @@ npm run db:push
|
||||
npm start
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
If you'd like to contribute a pull request, we highly recommend setting the pre-commit hooks which will run the formatter and linter before each git commit. This is a great way of catching issues early on without waiting to run the GitHub Actions for your pull request.
|
||||
|
||||
Simply run this once in your repo:
|
||||
|
||||
```sh
|
||||
npm run init-precommit
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
### Unit tests
|
||||
|
||||
Reference in New Issue
Block a user