Skip to content

Trynax/toolkit.dev

 
 

Repository files navigation

Banner Image

The chatbot that pays every merged PR. Join us in building a self-funding repository for the usage-based economy.

Contributing

All contributors are welcome to join the Toolkit community! See our list of good first issues to find a starting point.

Every merged PR will get paid on Merit Systems. For more information on how payouts work, see this section of the landing page.

We also have a Discord Community to discuss all things Toolkit!

Getting Started

Prerequisites

  • Node.js 18+ - if you do not have node installed, install it here
  • pnpm - if you do not have pnpm installed, run npm i -g pnpm
  • Docker or Podman
    • You can install Docker Desktop for free here

Quick Setup (Recommended)

The dev script will automatically configure everything for you

# Clone the repository
git clone https://github.com/jasonhedman/toolkit.dev.git
cd toolkit.dev

# Run the automated setup
pnpm dev

The setup script will:

  • Create your .env.local file with all necessary environment variables
  • Install dependencies
  • Automatically set up the database, Redis, and Blob Storage using Docker/Podman (unless external database is configured)
  • Run database migrations
  • Run the app

Manual Setup

If you prefer to set up manually:

1) Clone the Repository

git clone https://github.com/jasonhedman/toolkit.dev.git
cd toolkit.dev

2) Run the Development Script

This will set up your .env.local, install dependencies, start the required Docker containers, set up your database, and run the development server.

pnpm dev

3) [OPTIONAL] Add an OpenRouter Key

Toolkit uses OpenRouter for inference. Get a key here and add it to your .env.local

OPENROUTER_API_KEY=<your API key>

4) [OPTIONAL] Add extra auth providers

Toolkit uses Auth.js for user authentication.

In local development you have the option of logging in as a guest (this is not available in production).

You can also add these providers:

We would love to see more auth providers integrated. Feel free to add any from the Auth.js supported providers list!

5) [OPTIONAL] Set up Toolkits

Many of our Toolkits require extra keys. You can run Toolkit without these keys, but if you want to use a certain Toolkit locally, you will need to do some additional configuration

5.1) Web Search Toolkit

Toolkit uses Exa for web search. Get an API key here and add it to your .env

EXA_API_KEY=<your API key>
5.2) Code Interpreter Toolkit

Toolkit uses E2B for secure code execution. Get an API key here and add it to your .env

E2B_API_KEY=<your API key>
5.3) Memory Toolkit

Toolkit uses Mem0 for memory storage and retrieval. Get an API key here

MEM0_API_KEY=<your API key>
5.4) Image Toolkit

To use the Image Toolkit, you will need a key to generate images and a key to store images

We currently support

  • OpenAI
  • xAI
  • FAL AI
  • Luma AI
  • Fireworks AI
# At least one of these is required for image gen
OPENAI_API_KEY=
XAI_API_KEY=
FAL_API_KEY=
FIREWORKS_API_KEY=
LUMA_API_KEY=

Development

Project Structure

src/
├── app/                 # Next.js App Router
├── components/          # React components
├── lib/                 # Utility functions
├── server/             # tRPC server and database
├── toolkits/           # Extensible toolkit system
└── env.js              # Environment validation

Adding New Toolkits

Toolkit.dev's modular architecture makes it easy to add new toolkits. Check out the Toolkit Development Guide for detailed instructions.

Database Commands

# Push schema changes
pnpm db:push

# Generate Prisma client
pnpm db:generate

# Open database studio
pnpm db:studio

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Get paid to build LLM tools

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.9%
  • CSS 1.3%
  • JavaScript 0.8%