- 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.
100 lines
2.2 KiB
Markdown
100 lines
2.2 KiB
Markdown
# Dyad
|
|
|
|
Dyad is a local, open-source AI app builder. It's fast, private, and fully under your control — like Lovable, v0, or Bolt, but running right on your machine.
|
|
|
|
[](https://dyad.sh/)
|
|
|
|
More info at: [https://dyad.sh/](https://dyad.sh/)
|
|
|
|
## 🚀 Features
|
|
|
|
- ⚡️ **Local**: Fast, private and no lock-in.
|
|
- 🛠 **Bring your own keys**: Use your own AI API keys — no vendor lock-in.
|
|
- 🖥️ **Cross-platform**: Easy to run on Mac or Windows.
|
|
|
|
## 🧰 Prerequisites
|
|
|
|
- Node.js >= 20
|
|
- npm (comes with Node.js)
|
|
- Git
|
|
|
|
You can verify your versions:
|
|
|
|
```bash
|
|
node -v
|
|
npm -v
|
|
```
|
|
|
|
## 🏗️ Install (from source)
|
|
|
|
```bash
|
|
git clone https://github.com/dyad-sh/dyad.git
|
|
cd dyad
|
|
npm install
|
|
```
|
|
|
|
## ▶️ Run locally (development)
|
|
|
|
- Start the app with the default configuration:
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
- Optionally, point the app to a locally running engine (on http://localhost:8080/v1):
|
|
|
|
```bash
|
|
npm run dev:engine
|
|
```
|
|
|
|
### Environment variables (optional)
|
|
|
|
- `DYAD_ENGINE_URL`: URL of the Dyad engine (defaults to built-in configuration).
|
|
- `DYAD_GATEWAY_URL`: URL of a compatible gateway if you prefer to route requests.
|
|
|
|
Example:
|
|
|
|
```bash
|
|
DYAD_ENGINE_URL=http://localhost:8080/v1 npm start
|
|
```
|
|
|
|
## 📦 Build installers (make)
|
|
|
|
Create platform-specific distributables:
|
|
|
|
```bash
|
|
npm run make
|
|
```
|
|
|
|
Outputs are written to the `out/` directory.
|
|
|
|
## 🧪 Tests and linting
|
|
|
|
```bash
|
|
# Unit tests
|
|
npm test
|
|
|
|
# Lint
|
|
npm run lint
|
|
|
|
# Prettier check
|
|
npm run prettier:check
|
|
```
|
|
|
|
|
|
|
|
## 🤝 Community
|
|
|
|
Join our growing community of AI app builders on **Reddit**: [r/dyadbuilders](https://www.reddit.com/r/dyadbuilders/) - share your projects and get help from the community!
|
|
|
|
## 🛠️ Contributing
|
|
|
|
**Dyad** is open-source (Apache 2.0 licensed).
|
|
|
|
If you're interested in contributing to dyad, please read our [contributing](./CONTRIBUTING.md) doc.
|
|
|
|
## License
|
|
|
|
- All the code in this repo outside of `src/pro` is open-source and licensed under Apache 2.0 - see [LICENSE](./LICENSE).
|
|
- All the code in this repo within `src/pro` is fair-source and licensed under [Functional Source License 1.1 Apache 2.0](https://fsl.software/) - see [LICENSE](./src/pro/LICENSE).
|