AI prompts
base on 🔩 The open-source serverless platform. Easily deploy & scale AI agents, complex workloads, and backends — all on a frictionless platform that runs anywhere. <p align="center">
<a href="https://rivet.gg">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./.github/media/icon-text-white.svg" alt="Rivet">
<img src="./.github/media/icon-text-black.svg" alt="Rivet">
</picture>
</a>
</p>
<h3 align="center">The open-source serverless platform.</h3>
<h4 align="center">
Easily deploy and scale AI agents, real-time applications, game servers, and complex backends on a frictionless platform that runs anywhere.
</h4>
<p align="center">
<!-- <a href="https://github.com/rivet-gg/rivet/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/rivet-gg/rivet?style=flat-square"/></a> -->
<a href="https://github.com/rivet-gg/rivet/discussions"><img alt="GitHub Discussions" src="https://img.shields.io/github/discussions/rivet-gg/rivet?logo=github&logoColor=fff"></a>
<a href="https://rivet.gg/discord"><img alt="Discord" src="https://img.shields.io/discord/822914074136018994?color=7389D8&label&logo=discord&logoColor=ffffff"/></a>
<a href="https://twitter.com/rivet_gg"><img src="https://img.shields.io/twitter/follow/rivet_gg" alt="Rivet Twitter" /></a>
<a href="https://bsky.app/profile/rivet.gg"><img src="https://img.shields.io/badge/Follow%20%40rivet.gg-4C1?color=0285FF&logo=bluesky&logoColor=ffffff" alt="Rivet Bluesky" /></a>
<a href="/LICENSE"><img alt="License Apache-2.0" src="https://img.shields.io/github/license/rivet-gg/rivet?logo=open-source-initiative&logoColor=white"></a>
</p>

## Overview
Rivet is a developer-focused serverless infrastructure platform that unifies stateless functions, stateful actors, and containerized workloads. It provides simple primitives to build your backend without managing servers. Leverage Rivet Actors to create resilient, long-lived services that maintain in-memory state between requests.
Whether you’re building AI-driven services, collaborative apps, multiplayer games, or any cloud backend, Rivet’s technology provides the performance and scalability you need in a portable, open-source package.
## Key Characteristics
- **Open Source & Portable**
Run the Rivet platform on any infrastructure – use the fully-managed Rivet Cloud or deploy it on your own servers and cloud.
- **Unified Primitives**
Develop using stateless **Functions** (for request/response APIs), stateful **Actors** (for persistent, real-time services), or sandboxed **Containers** (for heavy or untrusted workloads). All are managed together or alone with a consistent CLI and tooling.
---
## Features
- **Stateful Persistence**
Rivet Actors preserve data in memory with automatic durability to disk. This provides persistent memory-like state – you get the speed of in-memory access with the safety of persistent storage. Ideal for dynamic, fast-moving app state (caches, game lobbies, collaborative document data, etc.).
- **Remote Procedure Calls (RPC)**
Lightweight built-in messaging for clients and services. Rivet offers type-safe RPC calls and broadcast events between clients and actors, simplifying real-time communication without external message brokers.
- **No Cold Starts**
Services hibernate on idle and wake instantly on demand. Long-running actors “sleep” when inactive and recover state immediately on the next request. Instant cold-start recovery and consistently low latency for end-users.
- **Edge Distribution**
Deploy backend code closer to your users. Rivet distributes actors and functions across global edge regions for ultra-low latency. Supports HTTP, WebSocket, TCP, and UDP protocols without requiring external proxies.
- **Unlimited Execution & Container Support**
No arbitrary execution time limits – run long-lived processes or background jobs as needed. Rivet supports anything that runs in a Docker container. If it works in Docker, it works on Rivet.
- **Fault Tolerance**
Actor state is persisted so that if an instance crashes or is rescheduled, it can recover its exact state with zero downtime. Combined with intelligent routing, Rivet ensures high availability.
- **Local Development**
Develop and test locally with ease. Spin up a full Rivet cluster with `rivet dev` or Docker Compose. Iterate locally before deploying to production.
### Use cases
- AI agents
- Multi-tenant applications
- Local-first apps
- Collaborative applications
- Sandboxed Code Execution
- Game Servers
- Yjs Sync & Storage
- Chat Apps
---
## Getting Started
### Quickstart (TypeScript)
_See the [full quickstart guide](https://rivet.gg/docs/actors) for a comprehensive walkthrough._
**Step 1: Create Actor**
```sh
npx create-actor@latest -p rivet -t counter
```
**Step 2: Deploy Actor**
```sh
cd your-project
npm run deploy
```
**Step 3: Monitor**
Visit the [Rivet Hub](https://hub.rivet.gg) to create & test your actors.
### Documentation
- [**Documentation**](https://rivet.gg/docs): Read about how to use Rivet
- [**Examples**](./examples/): See existing Rivet projects
- [**Contributing**](./CONTRIBUTING.md): Learn to contribute to Rivet
### Running Rivet
- **Self-Hosting**
- [**Local Dev & Single Container**](https://rivet.gg/docs/self-hosting/single-container): Great for local development, fast single-node deployments, and testing Rivet
- [**Docker Compose**](https://rivet.gg/docs/self-hosting/docker-compose): Great for hobbyist & single-node deployments
- [**Manual**](https://rivet.gg/docs/self-hosting/manual-deployment): Run on your own VMs without Docker
- [**Rivet Cloud**](https://hub.rivet.gg): Fastest, most affordable, and most reliable way to deploy Rivet Actors with zero infrastructure maintenance
- [**Rivet Enterprise**](https://rivet.gg/sales): Get a demo or have your questions answered about Rivet
## Community & Support
- Join our [**Discord**](https://rivet.gg/discord)
- Follow us on [**X**](https://x.com/rivet_gg)
- Follow us on [**Bluesky**](https://bsky.app/profile/rivet-gg.bsky.social)
- File bug reports in [**GitHub Issues**](https://github.com/rivet-gg/rivet/issues)
- Post questions & ideas in [**GitHub Discussions**](https://github.com/rivet-gg/rivet/discussions)
## Technologies
- **Rust**
- **V8 & Deno**: Actor isolate runtime
- **FoundationDB**: Actor state
- **CockroachDB**: OLTP
- **ClickHouse**: Developer-facing monitoring
- **Valkey**: Caching
- **NATS**: Pub/sub
- **Traefik**: Load balancers & tunnels
<!-- ### Diagram
 -->
## Project layout
```
docker/ Docker-related files
dev-full/ Full development environment setup
monolith/ Monolithic Docker setup
universal/ Universal multi-stage builder image
docs/ Documentation
docs-internal/ Internal documentation
examples/ Example projects
frontend/ Rivet Hub & other frontend components
packages/ Project packages
api/ API package
common/ Common utilities
infra/ Infrastructure-related code
services/ Service implementations
toolchain/ Toolchain-related code
resources/ Misc resources supporting Rivet
scripts/ Scripts for various tasks
sdks/ SDKs
actor/ Actor SDK
api/ Low-level SDK for calling API
site/ Website & documentation
```
## License
Apache 2.0
", Assign "at most 3 tags" to the expected json: {"id":"12545","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"