Skip to content

HomeoIO/promptexpress

Repository files navigation

PromptExpress

Express your ideas with AI-optimized prompts.

PromptExpress is a low-effort prompt optimization tool that enables users to build fresh prompts or optimize existing ones through co-piloting with training data, powered by DSPy optimization algorithms running in JavaScript/TypeScript.

✨ Features

  • ✍️ DSPy Signature Creation: Use natural language to generate valid DSPy signatures with AI assistance.
  • 📚 Training Data Management: Manually create, edit, and validate input/output pairs for your training sets.
  • 🚀 Client-Side Optimization: Run DSPy optimization algorithms like BootstrapFewShot directly in the browser or on your mobile device.
  • 📦 Prompt Management & Export: View, save, and export your optimized prompts to JSON, Python DSPy code, and more.

🗺️ Repository Map (Project Structure)

This project is a monorepo managed with Yarn Workspaces. The code is organized into several packages located in the packages/ directory.

/
├── packages/
│   ├── core/         # Core library with DSPy.ts integration and business logic.
│   ├── mobile/       # React Native (Expo) application for iOS and Android.
│   ├── extension/    # Chrome Extension.
│   └── ui/           # Shared UI components used by the mobile and extension apps.
├── .gitignore
├── app.json
├── App.tsx
├── index.ts
├── Makefile        # Main automation scripts for the entire project.
├── package.json    # Root package configuration and workspace definitions.
└── tsconfig.json
  • packages/core (@promptforge/core): This is the heart of the application. It contains all the core logic for prompt optimization, DSPy.ts integration, storage abstractions, and LLM provider management. It's designed to be platform-agnostic.

  • packages/mobile (@promptexpress/mobile): The React Native application for iOS and Android, built using Expo. It consumes the @promptforge/core library for its main functionality and uses components from @promptforge/ui.

  • packages/extension (@promptforge/extension): The Chrome browser extension. It allows users to optimize prompts directly within their browser, leveraging the same core logic and UI components as the mobile app.

  • packages/ui (@promptforge/ui): A collection of shared React components (built with Gluestack UI) used across the mobile and extension platforms to ensure a consistent user experience.

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/your-repo/promptexpress.git
    cd promptexpress
  2. Install dependencies: The project uses Yarn Workspaces. Install all dependencies from the root directory.

    make install

    or

    yarn install

🛠️ How to Use

This project uses a Makefile for easy access to common tasks.

Build All Packages

To build all packages (core, ui, mobile, extension):

make build

Run the Mobile App

To start the mobile app in development mode for iOS or Android:

# Run on iOS simulator
make ios

# Run on Android emulator
make android

Build the Chrome Extension

To build the Chrome extension for development or production:

# Build for development (with watch mode)
make extension-dev

# Build for production
make extension

Run Tests

To run the test suites for all packages:

make test

Linting

To check the code against the project's linting rules:

make lint

🛣️ Roadmap

This is just the beginning. Based on the requirements, future development will include:

  • Advanced Optimization: Integration of MIPRO, GEPA, and other advanced DSPy optimizers.
  • Enhanced Data Operations: Bulk import, cloud drive integration, and synthetic data generation.
  • Collaboration & Cloud Features: Cloud sync, team workspaces, and version control for prompts.

See the requirements document for the full vision.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors