feat: rebrand from Dyad to MoreMinimore with enhanced documentation
- Update project name from Dyad to MoreMinimore throughout README - Add comprehensive documentation including quick start guide, build instructions, and development commands - Include custom features documentation (remove-limit, smart context) - Add prerequisites, installation options, and update procedures - Remove external links and branding references to original project - Add build scripts documentation with production and development options
This commit is contained in:
587
README.md
587
README.md
@@ -1,34 +1,589 @@
|
||||
# Dyad
|
||||
# MoreMinimore
|
||||
|
||||
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.
|
||||
MoreMinimore 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.
|
||||
- ✨ **Enhanced**: Smart context and unlimited usage with custom features.
|
||||
- 🎯 **No limitations**: All Pro features available to everyone.
|
||||
- 🔒 **Privacy-focused**: No external API calls to commercial services.
|
||||
|
||||
## 📦 Download
|
||||
## 🧰 Prerequisites
|
||||
|
||||
No sign-up required. Just download and go.
|
||||
- Node.js >= 20
|
||||
- npm (comes with Node.js)
|
||||
- Git
|
||||
|
||||
### [👉 Download for your platform](https://www.dyad.sh/#download)
|
||||
You can verify your versions:
|
||||
|
||||
## 🤝 Community
|
||||
```bash
|
||||
node -v
|
||||
npm -v
|
||||
```
|
||||
|
||||
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!
|
||||
## 🚀 Quick Start
|
||||
|
||||
## 🛠️ Contributing
|
||||
### Option 1: Download and Run (Easiest)
|
||||
|
||||
**Dyad** is open-source (Apache 2.0 licensed).
|
||||
1. **Download the latest release** from [GitHub Releases](https://github.com/kunthawat/moreminimore-vibe/releases)
|
||||
2. **Install the application** for your platform
|
||||
3. **Launch MoreMinimore** and start building!
|
||||
|
||||
If you're interested in contributing to dyad, please read our [contributing](./CONTRIBUTING.md) doc.
|
||||
### Option 2: Build from Source
|
||||
|
||||
## License
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://github.com/kunthawat/moreminimore-vibe.git
|
||||
cd moreminimore-vibe
|
||||
|
||||
- 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).
|
||||
# Install dependencies
|
||||
npm install
|
||||
|
||||
# Apply custom features and debranding
|
||||
chmod +x scripts/update-and-debrand.sh
|
||||
./scripts/update-and-debrand.sh
|
||||
|
||||
# Start the application
|
||||
npm start
|
||||
```
|
||||
|
||||
## 📋 Essential Commands
|
||||
|
||||
This section contains all the commands you'll frequently need. Copy and paste these directly.
|
||||
|
||||
### 🏗️ Development Commands
|
||||
|
||||
```bash
|
||||
# Start development server
|
||||
npm start
|
||||
|
||||
# Check TypeScript compilation
|
||||
npm run ts
|
||||
|
||||
# Run tests
|
||||
npm test
|
||||
|
||||
# Run linting
|
||||
npm run lint
|
||||
|
||||
# Format code
|
||||
npm run prettier
|
||||
|
||||
# Clean build artifacts
|
||||
npm run clean
|
||||
```
|
||||
|
||||
### 🔨 Build Commands
|
||||
|
||||
```bash
|
||||
# Development build (no code signing)
|
||||
./scripts/build-moreminimore-app.sh
|
||||
|
||||
# Production build (requires code signing setup)
|
||||
./scripts/build-moreminimore-app.sh --production
|
||||
|
||||
# Clean build artifacts only
|
||||
./scripts/build-moreminimore-app.sh --clean-only
|
||||
|
||||
# Verbose build (for debugging)
|
||||
./scripts/build-moreminimore-app.sh --verbose
|
||||
|
||||
# Fast build (skip dependency install)
|
||||
./scripts/build-moreminimore-app.sh --skip-deps
|
||||
|
||||
# Create distributables
|
||||
npm run make
|
||||
```
|
||||
|
||||
### 🔄 Update Commands
|
||||
|
||||
```bash
|
||||
# Apply custom features and debranding
|
||||
./scripts/update-and-debrand.sh
|
||||
|
||||
# Integrate custom features after upstream update
|
||||
./scripts/integrate-custom-features.sh integrate
|
||||
|
||||
# Validate custom features integration
|
||||
./scripts/integrate-custom-features.sh validate
|
||||
|
||||
# Restore from backup (if needed)
|
||||
./scripts/integrate-custom-features.sh restore backup-YYYYMMDD-HHMMSS
|
||||
```
|
||||
|
||||
### 🧪 Testing Commands
|
||||
|
||||
```bash
|
||||
# Run unit tests
|
||||
npm test
|
||||
|
||||
# Run tests in watch mode
|
||||
npm run test:watch
|
||||
|
||||
# Run tests with UI
|
||||
npm run test:ui
|
||||
|
||||
# Run end-to-end tests
|
||||
npm run e2e
|
||||
|
||||
# Run E2E tests with sharding
|
||||
npm run e2e:shard
|
||||
```
|
||||
|
||||
## 🏗️ Complete Setup Guide
|
||||
|
||||
### Step 1: Clone and Install
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://github.com/kunthawat/moreminimore-vibe.git
|
||||
cd moreminimore-vibe
|
||||
|
||||
# Install dependencies
|
||||
npm install
|
||||
|
||||
# Make scripts executable
|
||||
chmod +x scripts/*.sh
|
||||
```
|
||||
|
||||
### Step 2: Apply Custom Features
|
||||
|
||||
```bash
|
||||
# Run the debranding and custom features script
|
||||
./scripts/update-and-debrand.sh
|
||||
```
|
||||
|
||||
This script will:
|
||||
- ✅ Create automatic backup
|
||||
- ✅ Apply remove-limit feature
|
||||
- ✅ Enable smart context for all users
|
||||
- ✅ Remove Dyad branding and dependencies
|
||||
- ✅ Update all branding to MoreMinimore
|
||||
- ✅ Install dependencies and test compilation
|
||||
|
||||
### Step 3: Verify Installation
|
||||
|
||||
```bash
|
||||
# Check TypeScript compilation
|
||||
npm run ts
|
||||
|
||||
# Start the application
|
||||
npm start
|
||||
```
|
||||
|
||||
### Step 4: Test Build (Optional)
|
||||
|
||||
```bash
|
||||
# Test build process
|
||||
./scripts/build-moreminimore-app.sh
|
||||
```
|
||||
|
||||
## 📦 Building for Distribution
|
||||
|
||||
### Development Build (Recommended for Testing)
|
||||
|
||||
```bash
|
||||
./scripts/build-moreminimore-app.sh
|
||||
```
|
||||
|
||||
- **Output**: `out/make/zip/darwin/arm64/moreminimore-darwin-arm64-*.zip`
|
||||
- **Size**: ~180MB
|
||||
- **Code Signing**: Disabled (for development/testing)
|
||||
|
||||
### Production Build (Requires Code Signing)
|
||||
|
||||
```bash
|
||||
# Set up Apple Developer credentials first
|
||||
export APPLE_TEAM_ID="your-apple-developer-team-id"
|
||||
export APPLE_ID="your-apple-id@example.com"
|
||||
export APPLE_PASSWORD="your-app-specific-password"
|
||||
export SM_CODE_SIGNING_CERT_SHA1_HASH="your-certificate-sha1-hash"
|
||||
|
||||
# Build production version
|
||||
./scripts/build-moreminimore-app.sh --production
|
||||
```
|
||||
|
||||
### Build Options
|
||||
|
||||
```bash
|
||||
# Clean build artifacts only
|
||||
./scripts/build-moreminimore-app.sh --clean-only
|
||||
|
||||
# Verbose output for debugging
|
||||
./scripts/build-moreminimore-app.sh --verbose
|
||||
|
||||
# Skip dependency installation
|
||||
./scripts/build-moreminimore-app.sh --skip-deps
|
||||
|
||||
# Show help
|
||||
./scripts/build-moreminimore-app.sh --help
|
||||
```
|
||||
|
||||
## 🔄 Updating from Upstream
|
||||
|
||||
When you want to update MoreMinimore with new features from the original Dyad repository:
|
||||
|
||||
### Step 1: Fetch Latest Changes
|
||||
|
||||
```bash
|
||||
# Add upstream remote (if not already added)
|
||||
git remote add upstream https://github.com/dyad-sh/dyad.git
|
||||
|
||||
# Fetch latest changes
|
||||
git fetch upstream
|
||||
|
||||
# Merge upstream changes
|
||||
git merge upstream/main
|
||||
```
|
||||
|
||||
### Step 2: Re-apply Custom Features
|
||||
|
||||
```bash
|
||||
# Run the update script to re-apply all customizations
|
||||
./scripts/update-and-debrand.sh
|
||||
```
|
||||
|
||||
### Step 3: Integrate Custom Features
|
||||
|
||||
```bash
|
||||
# Integrate custom features with the new codebase
|
||||
./scripts/integrate-custom-features.sh integrate
|
||||
|
||||
# Validate the integration
|
||||
./scripts/integrate-custom-features.sh validate
|
||||
```
|
||||
|
||||
### Step 4: Test and Commit
|
||||
|
||||
```bash
|
||||
# Test the application
|
||||
npm start
|
||||
|
||||
# Test build process
|
||||
./scripts/build-moreminimore-app.sh
|
||||
|
||||
# Commit changes if everything works
|
||||
git add .
|
||||
git commit -m "Update upstream and re-apply custom features"
|
||||
```
|
||||
|
||||
## 🛠️ Custom Features
|
||||
|
||||
### Remove-Limit Feature
|
||||
- **Unlimited usage**: No message limits or restrictions
|
||||
- **Full feature access**: All Pro features available to everyone
|
||||
- **No upgrade prompts**: Clean interface without commercial restrictions
|
||||
|
||||
### Smart Context for All Users
|
||||
- **Advanced context management**: Intelligent handling of long conversations
|
||||
- **Rolling summaries**: Automatic summarization when context exceeds thresholds
|
||||
- **Context caching**: Efficient caching with TTL for better performance
|
||||
- **Snippet importance scoring**: Intelligent ranking of context snippets
|
||||
|
||||
### Enhanced UI/UX
|
||||
- **Clean interface**: No Pro banners or upgrade buttons
|
||||
- **Improved branding**: Complete MoreMinimore branding throughout
|
||||
- **Better organization**: Simplified controls and settings
|
||||
- **Context Settings**: Improved UI for context management
|
||||
|
||||
## 🔧 Configuration
|
||||
|
||||
### Environment Variables (Optional)
|
||||
|
||||
```bash
|
||||
# Set custom gateway URL
|
||||
MOREMINIMORE_GATEWAY_URL=http://localhost:8080/v1 npm start
|
||||
|
||||
# Development mode with debugging
|
||||
DEBUG=* npm start
|
||||
|
||||
# Production mode
|
||||
NODE_ENV=production npm start
|
||||
```
|
||||
|
||||
### Custom Feature Flags
|
||||
|
||||
Edit `src/custom/index.ts` to enable/disable features:
|
||||
|
||||
```typescript
|
||||
export const REMOVE_LIMIT_ENABLED = true;
|
||||
export const SMART_CONTEXT_ENABLED = true;
|
||||
export const ANNOTATOR_ENABLED = true;
|
||||
```
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### Common Issues and Solutions
|
||||
|
||||
#### TypeScript Compilation Errors
|
||||
|
||||
```bash
|
||||
# Check TypeScript compilation
|
||||
npm run ts
|
||||
|
||||
# If errors occur, check specific files
|
||||
npm run ts:main # Main process
|
||||
npm run ts:workers # Worker processes
|
||||
```
|
||||
|
||||
#### Application Won't Start
|
||||
|
||||
```bash
|
||||
# Check dependencies
|
||||
npm install
|
||||
|
||||
# Clean and rebuild
|
||||
npm run clean
|
||||
npm install
|
||||
npm start
|
||||
|
||||
# Check logs for specific errors
|
||||
npm start 2>&1 | tee startup-errors.log
|
||||
```
|
||||
|
||||
#### Build Issues
|
||||
|
||||
```bash
|
||||
# Clean build artifacts
|
||||
./scripts/build-moreminimore-app.sh --clean-only
|
||||
|
||||
# Verbose build for debugging
|
||||
./scripts/build-moreminimore-app.sh --verbose
|
||||
|
||||
# Check Node.js and npm versions
|
||||
node -v
|
||||
npm -v
|
||||
```
|
||||
|
||||
#### Script Permission Issues
|
||||
|
||||
```bash
|
||||
# Make scripts executable
|
||||
chmod +x scripts/*.sh
|
||||
|
||||
# Check script permissions
|
||||
ls -la scripts/
|
||||
```
|
||||
|
||||
#### Integration Issues After Update
|
||||
|
||||
```bash
|
||||
# Validate current integration
|
||||
./scripts/integrate-custom-features.sh validate
|
||||
|
||||
# Restore from backup if needed
|
||||
ls backups/ # Find latest backup
|
||||
./scripts/integrate-custom-features.sh restore backup-YYYYMMDD-HHMMSS
|
||||
|
||||
# Re-run integration
|
||||
./scripts/integrate-custom-features.sh integrate
|
||||
```
|
||||
|
||||
### Recovery Procedures
|
||||
|
||||
#### Restore from Backup
|
||||
|
||||
```bash
|
||||
# Find available backups
|
||||
ls -la backups/
|
||||
|
||||
# Restore from specific backup
|
||||
./scripts/integrate-custom-features.sh restore backup-20231218-154512
|
||||
|
||||
# Verify restoration
|
||||
./scripts/integrate-custom-features.sh validate
|
||||
```
|
||||
|
||||
#### Reset to Clean State
|
||||
|
||||
```bash
|
||||
# Clean all build artifacts
|
||||
npm run clean
|
||||
rm -rf node_modules package-lock.json
|
||||
|
||||
# Reinstall dependencies
|
||||
npm install
|
||||
|
||||
# Re-apply custom features
|
||||
./scripts/update-and-debrand.sh
|
||||
```
|
||||
|
||||
## 📁 Project Structure
|
||||
|
||||
### Important Files and Directories
|
||||
|
||||
```
|
||||
moreminimore-vibe/
|
||||
├── src/ # Source code
|
||||
│ ├── components/ # React components
|
||||
│ ├── ipc/ # IPC handlers and utilities
|
||||
│ ├── pages/ # Application pages
|
||||
│ └── custom/ # Custom feature flags
|
||||
├── scripts/ # Build and utility scripts
|
||||
│ ├── update-and-debrand.sh # Main debranding script
|
||||
│ ├── build-moreminimore-app.sh # Build automation
|
||||
│ └── integrate-custom-features.sh # Feature integration
|
||||
├── assets/ # Static assets (logos, icons)
|
||||
├── out/ # Build output directory
|
||||
└── backups/ # Automatic backups (created as needed)
|
||||
```
|
||||
|
||||
### Key Scripts
|
||||
|
||||
- **`scripts/update-and-debrand.sh`** - Applies all custom features and debranding
|
||||
- **`scripts/build-moreminimore-app.sh`** - Comprehensive build automation
|
||||
- **`scripts/integrate-custom-features.sh`** - Manages custom feature integration
|
||||
|
||||
### Configuration Files
|
||||
|
||||
- **`package.json`** - Project configuration and dependencies
|
||||
- **`src/custom/index.ts`** - Custom feature flags
|
||||
- **`forge.config.ts`** - Electron Forge configuration
|
||||
|
||||
## 🎯 Development Workflow
|
||||
|
||||
### Daily Development
|
||||
|
||||
```bash
|
||||
# 1. Start development server
|
||||
npm start
|
||||
|
||||
# 2. Make changes to code
|
||||
|
||||
# 3. Check TypeScript compilation
|
||||
npm run ts
|
||||
|
||||
# 4. Run tests
|
||||
npm test
|
||||
|
||||
# 5. Format code
|
||||
npm run prettier
|
||||
|
||||
# 6. Test build
|
||||
./scripts/build-moreminimore-app.sh
|
||||
```
|
||||
|
||||
### Before Committing
|
||||
|
||||
```bash
|
||||
# Run all checks
|
||||
npm run presubmit
|
||||
|
||||
# Or run individually
|
||||
npm run prettier:check
|
||||
npm run lint
|
||||
npm run ts
|
||||
npm test
|
||||
```
|
||||
|
||||
### Release Preparation
|
||||
|
||||
```bash
|
||||
# 1. Update version in package.json
|
||||
# 2. Test thoroughly
|
||||
npm test
|
||||
./scripts/build-moreminimore-app.sh
|
||||
|
||||
# 3. Create production build
|
||||
./scripts/build-moreminimore-app.sh --production
|
||||
|
||||
# 4. Verify release assets
|
||||
npm run verify-release
|
||||
```
|
||||
|
||||
## 📚 Advanced Topics
|
||||
|
||||
### Code Signing Setup
|
||||
|
||||
For production builds, set up Apple Developer credentials:
|
||||
|
||||
```bash
|
||||
# Set environment variables
|
||||
export APPLE_TEAM_ID="your-apple-developer-team-id"
|
||||
export APPLE_ID="your-apple-id@example.com"
|
||||
export APPLE_PASSWORD="your-app-specific-password"
|
||||
export SM_CODE_SIGNING_CERT_SHA1_HASH="your-certificate-sha1-hash"
|
||||
|
||||
# Find your Team ID
|
||||
security find-identity -v -p codesigning
|
||||
|
||||
# Generate app-specific password
|
||||
# Visit: https://appleid.apple.com → Security → App-Specific Passwords
|
||||
```
|
||||
|
||||
### Custom Feature Development
|
||||
|
||||
1. **Add feature flag** to `src/custom/index.ts`
|
||||
2. **Implement feature** in appropriate files
|
||||
3. **Update scripts** to apply changes automatically
|
||||
4. **Test thoroughly** with `npm test` and `npm run ts`
|
||||
|
||||
### Database Operations
|
||||
|
||||
```bash
|
||||
# Generate database migrations
|
||||
npm run db:generate
|
||||
|
||||
# Push database changes
|
||||
npm run db:push
|
||||
|
||||
# Open database studio
|
||||
npm run db:studio
|
||||
```
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
1. **Fork the repository**
|
||||
2. **Create a feature branch**: `git checkout -b feature-name`
|
||||
3. **Make your changes**
|
||||
4. **Run tests**: `npm test`
|
||||
5. **Check formatting**: `npm run prettier:check`
|
||||
6. **Commit changes**: `git commit -m "Add feature description"`
|
||||
7. **Push to fork**: `git push origin feature-name`
|
||||
8. **Create Pull Request**
|
||||
|
||||
### Contribution Guidelines
|
||||
|
||||
- Ensure no Dyad dependencies are added
|
||||
- Maintain custom features and branding
|
||||
- Update documentation as needed
|
||||
- Test thoroughly before submitting
|
||||
- Follow existing code style and patterns
|
||||
|
||||
## 📄 License
|
||||
|
||||
MIT License — see [LICENSE](./LICENSE).
|
||||
|
||||
## 🔗 Related Resources
|
||||
|
||||
- **GitHub Repository**: https://github.com/kunthawat/moreminimore-vibe
|
||||
- **Issues and Bug Reports**: https://github.com/kunthawat/moreminimore-vibe/issues
|
||||
- **Community**: Join our growing community of AI app builders
|
||||
|
||||
## 🆘 Support
|
||||
|
||||
If you encounter issues:
|
||||
|
||||
1. **Check this README** for troubleshooting steps
|
||||
2. **Review the logs** with `--verbose` flag on scripts
|
||||
3. **Search existing issues** on GitHub
|
||||
4. **Create a new issue** with detailed information
|
||||
5. **Test with clean environment** if needed
|
||||
|
||||
### Getting Help
|
||||
|
||||
For specific issues:
|
||||
|
||||
- **Build problems**: Run `./scripts/build-moreminimore-app.sh --verbose`
|
||||
- **Integration issues**: Run `./scripts/integrate-custom-features.sh validate`
|
||||
- **Application crashes**: Check console logs and `startup-errors.log`
|
||||
- **TypeScript errors**: Run `npm run ts` for specific error details
|
||||
|
||||
---
|
||||
|
||||
**MoreMinimore** is a fork of [Dyad](https://github.com/dyad-sh/dyad) with enhanced features, removed limitations, and complete independence from commercial services. Enjoy building AI applications with full control and no restrictions!
|
||||
|
||||
Reference in New Issue
Block a user