This project uses Bun for development and dependency management.
# Clone the repository
git clone https://github.com/planetabhi/riseofmachine.git
cd riseofmachine
# Install dependencies
bun install
# Start the development server
bun run dev
# Create a new branch for your AI tool
git checkout -b add/your-ai-toolThe primary source of truth for all tools is src/data/tools.json. This file contains all AI tools organized by category.
Note
Do NOT edit files in src/data/tools/*.json (e.g., art.json, design.json). These are split automatically from the main tools.json during the build process to optimize page loads.
Add your tool entry to the appropriate category in src/data/tools.json. Entries should be in alphabetical order within their category.
Tool Format:
{
"title": "Your AI Tool Name",
"body": "A brief description.",
"tag": "Free | Freemium | From $X/mo | $X One-time | Not available",
"url": "https://your-ai-tool.com?ref=riseofmachine.com",
"date-added": "YYYY-MM-DD"
}Note: Slugs (e.g., your-ai-tool) are automatically generated by the build script. You do not need to provide one unless you want to override the default.
Before submitting a Pull Request, you should run the validation script to ensure data integrity and proper formatting.
bun run check-dataThis script checks for:
- Missing or malformed URLs
- Missing
http://orhttps://protocols - Missing
?ref=riseofmachine.comparameter - Duplicate URLs or slugs
- Invalid JSON structure
# Add and commit your changes
git add src/data/tools.json
git commit -m "Add [Tool Name] to [Category]"
# Push to your branch
git push -u origin add/your-ai-tool- Alphabetical Order: Always maintain alphabetical order within categories.
- Categorization: Use existing categories. If unsure, use "Xtras" and suggest a new category in your PR description.
- Conciseness: Keep the description concise and informative.
- Protocol: All URLs should include a valid protocol
https://…and remain accessible. - Ref Parameter: Make sure the URL includes the reference parameter:
?ref=riseofmachine.com - Validation: Verify your JSON syntax and data validity by running
bun run check-data.