legacy-use

legacy-use

Turn any legacy application into a modern REST API, powered by AI

Stars: 84

Visit
 screenshot

Legacy-use is a tool that transforms legacy applications into modern REST APIs using AI. It allows users to dynamically generate and customize API endpoints for legacy or desktop applications, access systems running legacy software, track and resolve issues with built-in observability tools, ensure secure and compliant automation, choose model providers independently, and deploy with enterprise-grade security and compliance. The tool provides a quick setup process, automatic API key generation, and supports Windows VM automation. It offers a user-friendly interface for adding targets, running jobs, and writing effective prompts. Legacy-use also supports various connectivity technologies like OpenVPN, Tailscale, WireGuard, VNC, RDP, and TeamViewer. Telemetry data is collected anonymously to improve the product, and users can opt-out of tracking. Optional configurations include enabling OpenVPN target creation and displaying backend endpoints documentation. Contributions to the project are welcome.

README:

legacy-use logo

πŸš€ Turn any legacy application into a modern REST API, powered by AI.

Join us on Discord Try Now GitHub stars


✨ Why legacy-use?

  • Add API Endpoints via Prompt β€” Dynamically generate and customize REST API endpoints for any legacy or desktop application.
  • Access systems running legacy software β€” Use established tools like RDP/VNC to run your prompts.
  • Logging & Debugging β€” Track, analyze, and resolve issues effortlessly with built-in observability tools.
  • Safety & Reliability β€” Ensure secure, compliant automation that delivers dependable performance.
  • Model Provider Independence β€” Choose your model provider and avoid vendor lock-in.
  • Enterprise-Grade Security and Compliance β€” Deploy and run locally to ensure security and compliance.

legacy-use demo


πŸš€ Quick start (5 min)

Prerequisites

Required

  • Docker - All services run in containers
    • Get Docker for your platform
    • Note: Make sure Docker is running before proceeding with setup

API Keys

  • Anthropic API Key - Required for AI model access (Claude)
    • Get your API key from Anthropic Console
    • Note: You'll need credits in your Anthropic account for API usage

For Development Only

Want to contribute or modify the code? You'll need Node.js and Python locally for development. See CONTRIBUTING.md for the complete development setup guide.

Setup Steps

# 1. Clone the repository
git clone https://github.com/legacy-use/legacy-use
cd legacy-use

# 2. Create and configure environment file
cp .env.template .env
# Edit .env file with your favorite editor and add:
# ANTHROPIC_API_KEY=sk-your-anthropic-key-here
# (Optional) Add any configuration options from above

# 3. Build docker containers
make docker-build

# 4. Start all services
make docker-dev

πŸ”‘ Automatic API Key Generation

During the initial database migration, the system will automatically:

  • Generate a secure API key for the default tenant
  • Display the credentials in the console output
  • Store the key securely in the database

You'll see output like this:

============================================================
πŸš€ LEGACY-USE SETUP COMPLETE
============================================================
πŸ“‘ Server URL: http://tenant-default.local.legacy-use.com:5173/
πŸ”‘ API Key: AbC123XyZ789...

πŸ’‘ To access your instance:
   1. Open the URL in your browser
   2. Enter the API key when prompted
   3. Configure your AI provider in Settings

⚠️  Keep this API key secure - it provides full access to your instance!
============================================================

Verification

Once the setup completes:

  1. Check the console output - You should see the setup credentials displayed
  2. Frontend: Open http://localhost:8077 - you should see the legacy-use dashboard
  3. API Documentation: Visit http://localhost:8088/redoc - to explore the REST API
  4. Configure AI Provider: Go to Settings and configure your Anthropic API key

πŸŽ‰ You're all set! The complete setup usually takes 2-5 minutes depending on your internet connection.

Troubleshooting

Docker not starting?

  • Ensure Docker Desktop is running
  • Check if ports 8077 and 8088 are available: lsof -i :8077 and lsof -i :8088

Build failing?

  • Ensure you have sufficient disk space (~2GB)
  • Try: docker system prune to clean up space, then rebuild

Can't access the UI?

  • Wait 30-60 seconds for all services to fully start
  • Check logs: docker logs legacy-use-mgmt

πŸ–₯️ Add your first target (Windows VM)

Ready to automate your own Windows applications? Here's how to add a Windows VM as a target:

Step 1: Set up a Windows VM

Choose your virtualization platform:

Step 2: Install VNC Server in Windows VM

  1. Download and install UltraVNC
  2. During setup, set a VNC password (remember this!)
  3. Ensure the VNC server starts automatically

Step 3: Get VM Network Details

Find your VM's IP address:

Inside the Windows VM:

  1. Open Command Prompt (Win+R β†’ cmd)
  2. Run: ipconfig
  3. Look for IPv4 Address (e.g., 192.168.64.2, 10.0.2.15)

Alternative - From host machine:

  • Check your VM software's network settings for the assigned IP

Step 4: Configure VM Display Settings

For optimal performance, configure your VM's display resolution:

Recommended Screen Resolutions:

  • 1024 Γ— 768
  • 1280 Γ— 800

Note: Larger resolutions can be used, but performance may degradeβ€”especially when working with very small UI elements.

Step 5: Add Target in Legacy-Use

  1. Open the legacy-use web interface: http://localhost:8077
  2. Navigate to Targets β†’ New Target
  3. Fill in the details:
    Name:     my-windows-vm
    Type:     VNC
    Host:     [YOUR_VM_IP]    # IP from Step 3
    Port:     5900            # Default VNC port
    Password: β€’β€’β€’β€’β€’β€’β€’β€’       # Password from Step 2
    
  4. Click Test Connection to verify, then Save

βœ… Success! Your Windows VM is now ready for AI automation.


βœ… Run your first job (Windows Calculator)

  1. Sessions β†’ Create Session for your target.
  2. APIs β†’ Import β†’ select sample_prompts/WindowsCalc.json.
  3. Choose your session & click Execute.
  4. Integrate via REST ➜ three-dot menu β†’ cURL.

✍️ Writing Effective Prompts

Creating custom automation scripts for your applications? Check out our comprehensive guide:

πŸ“– HOW_TO_PROMPT.md - Learn the best practices for writing prompts that work reliably with legacy-use.


πŸ› οΈ Supported connectivity

Technology Category Status
OpenVPN VPN βœ…
Tailscale VPN βœ…
WireGuard VPN βœ…
VNC Remote βœ…
RDP Remote βœ…
TeamViewer Remote 🚧

πŸ“‘ Telemetry

We collect minimal anonymous usage data to improve the product. This helps us understand:

  • Which features are most useful
  • Performance bottlenecks
  • Common error patterns

What we collect: Usage statistics, error logs, feature interactions What we DON'T collect: Your API keys, target machine data, or sensitive information

Disable anytime by adding to your .env file:

VITE_PUBLIC_DISABLE_TRACKING=true

Full transparency: See exactly what we track in the code: app/index.jsx, app/components/OnboardingWizard.jsx, app/services/telemetryService.jsx, server/server.py, server/utils/telemetry.py


Optional Configuration

  • VITE_ALLOW_OPENVPN: Set to true to enable OpenVPN target creation. ⚠️ Security Warning: OpenVPN requires elevated system privileges (NET_ADMIN capabilities) which may pose security risks. Only enable this if you understand the security implications and trust your target environments

  • SHOW_DOCS: Set to true to make backend endpoints documentation available via /redoc

🀝 Contributing

We love contributors! Read CONTRIBUTING.md to get started.


Made with ❀️ in Munich

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for legacy-use

Similar Open Source Tools

For similar tasks

For similar jobs