- Free open source alternatives of paid software.
Paid software
Latest free open-source software collection:
redis
redis is a free, open-source alternative to Redis Enterprise . This document serves as both a quick start guide to Redis and a detailed resource for building it from source. New to Redis? Start with What is Redis and Getting Started Ready to build from source? Jump to Build Redis from Source Want to contribute? See the Code contributions section and CONTRIBUTING.md Looking for detailed documentation? Navigate to redis.io/docs Table of contents What is Redis? Key use cases Why choose Redis? What is Redis Open Source? Getting started Redis starter projects Using Redis with client libraries Using Redis with redis-cli Using Redis with Redis Insight Redis data types, processing engines, and capabilities Cloud hosted Redis Community Build Redis from source Install dependencies and build Building Redis - flags and general notes Fixing build problems with dependencies or cached build options Fixing problems building 32 bit binaries Allocator Monotonic clock Verbose build Running Redis with TLS Code contributions Redis Trademarks What is Redis? For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine. Key use cases Redis excels in various applications, including: Caching: Supports multiple eviction policies, key expiration, and hash-field expiration. Distributed Session Store: Offers flexible session data modeling (string, JSON, hash). Data Structure Server: Provides low-level data structures (strings, lists, sets, hashes, sorted sets, JSON, etc.) with high-level semantics (counters, queues, leaderboards, rate limiters) and supports transactions & scripting. NoSQL Data Store: Key-value, document, and time series data storage. Search and Query Engine: Indexing for hash/JSON documents, supporting vector search, full-text search, geospatial queries, ranking, and aggregations via Redis Search. Event Store & Message Broker: Implements queues (lists), priority queues (sorted sets), event deduplication (sets), streams, and pub/sub with probabilistic stream processing capabilities. Vector Store for GenAI: Integrates with AI applications (e.g. LangGraph, mem0) for short-term memory, long-term memory, LLM response caching (semantic caching), and retrieval augmented generation (RAG). Real-Time Analytics: Powers personalization, recommendations, fraud detection, and risk assessment. Why choose Redis? Redis is a popular choice for developers worldwide due to its combination of speed, flexibility, and rich feature set. Here's why people choose Redis for: Performance: Because Redis keeps data primarily in memory and uses efficient data structures, it achieves extremely low latency (often sub-millisecond) for both read and write operations. This makes it ideal for applications demanding real-time responsiveness. Flexibility: Redis isn't just a key-value store, it provides native support for a wide range of data structures and capabilities listed in What is Redis? Extensibility: Redis is not limited to the built-in data structures, it has a modules API that makes it possible to extend Redis functionality and rapidly implement new Redis commands Simplicity: Redis has a simple, text-based protocol and well-documented command set Ubiquity: Redis is battle tested in production workloads at a massive scale. There is a good chance you indirectly interact with Redis several times daily Versatility : Redis is the de facto standard for use cases such as: Caching: quickly access frequently used data without needing to query your primary database Session management: read and write user session data without hurting user experience or slowing down every API call Querying, sorting, and analytics: perform deduplication, full text search, and secondary indexing on in-memory data as fast as possible Messaging and interservice communication: job queues, message brokering, pub/sub, and streams for communicating between services Vector operations: Long-term and short-term LLM memory, RAG content retrieval, semantic caching, semantic routing, and vector similarity search In summary, Redis provides a powerful, fast, and flexible toolkit for solving a wide variety of data management challenges. If you want to know more, here is a list of starting points: Introduction to Redis data types The full list of Redis commands Redis for AI Redis documentation What is Redis Open Source? Redis Community Edition (Redis CE) was renamed Redis Open Source with the v8.0 release. Redis Ltd. also offers Redis Software , a self-managed software with additional compliance, reliability, and resiliency for enterprise scaling, and Redis Cloud , a fully managed service integrated with Google Cloud, Azure, and AWS for production-ready apps. Read more about the differences between Redis Open Source and Redis here . Getting started If you want to get up and running with Redis quickly without needing to build from source, use one of the following methods: Redis Cloud Official Redis Docker images (Alpine/Debian) docker run -d -p 6379:6379 redis:latest Redis binary distributions Snap Homebrew RPM Debian Redis quick start guides If you prefer to build Redis from source - see instructions below. Redis starter projects To get started as quickly as possible in your language of choice, use one of the following starter projects: Python (redis-py) C#/.NET (NRedisStack/StackExchange.Redis) Go (go-redis) JavaScript (node-redis) Java/Spring (Jedis) Using Redis with client libraries To connect your application to Redis, you will need a client library. Redis has documented client libraries in most popular languages, with community-supported client libraries in additional languages. Python (redis-py) Python (RedisVL) C#/.NET (NRedisStack/StackExchange.Redis) JavaScript (node-redis) Java (Jedis) Java (Lettuce) Go (go-redis) PHP (Predis) C (hiredis) Full list of client libraries Using Redis with redis-cli redis-cli is Redis' command line interface. It is available as part of all the binary distributions and when you build Redis from source. You can start a redis-server instance, and then, in another terminal try the following: cd src ./redis-cli redis> ping PONG redis> set foo bar OK redis> get foo "bar" redis> incr mycounter (integer) 1 redis> incr mycounter (integer) 2 redis> Using Redis with Redis Insight For a more visual and user-friendly experience, use Redis Insight - a tool that lets you explore data, design, develop, and optimize your applications while also serving as a platform for Redis education and onboarding. Redis Insight integrates Redis Copilot , a natural language AI assistant that improves the experience when working with data and commands. Redis Insight documentation Redis Insight GitHub repository Redis data types, processing engines, and capabilities Redis provides a variety of data types, processing engines, and capabilities to support a wide range of use cases: String: Sequences of bytes, including text, serialized objects, and binary arrays used for caching, counters, and bitwise operations. JSON: Nested JSON documents that are indexed and searchable using JSONPath expressions and with Redis Search Array: Sparse, index-addressable collection of string values Hash: Field-value maps used to represent basic objects and store groupings of key-value pairs with support for hash field expiration (TTL) Redis Search: Use Redis as a document database, a vector database, a secondary index, and a search engine. Define indexes for hash and JSON documents and then use a rich query language for vector search, full-text search, geospatial queries, and aggregations. List: Linked lists of string values used as stacks, queues, and for queue management. Set: Unordered collection of unique strings used for tracking unique items, relations, and common set operations (intersections, unions, differences). Sorted set: Collection of unique strings ordered by an associated score used for leaderboards and rate limiters. Vector set (beta): Collection of vector embeddings used for semantic similarity search, semantic caching, semantic routing, and Retrieval Augmented Generation (RAG). Geospatial indexes: Coordinates used for finding nearby points within a given radius or bounding box. Bitmap: A set of bit-oriented operations defined on the string type used for efficient set representations and object permissions. Bitfield: Binary-encoded strings that let you set, increment, and get integer values of arbitrary bit length used for limited-range counters, numeric values, and multi-level object permissions such as role-based access control (RBAC) Hyperloglog: A probabilistic data structure for approximating the cardinality of a set used for analytics such as counting unique visits, form fills, etc. * Bloom filter: A probabilistic data structure to check if a given value is present in a set. Used for fraud detection, ad placement, and unique column (i.e. username/email/slug) checks. * Cuckoo filter: A probabilistic data structure for checking if a given value is present in a set while also allowing limited counting and deletions used in targeted advertising and coupon code validation. * t-digest: A probabilistic data structure used for estimating the percentile of a large dataset without having to store and order all the data points. Used for hardware/software monitoring, online gaming, network traffic monitoring, and predictive maintenance. * Top-k: A probabilistic data structure for finding the most frequent values in a data stream used for trend discovery. * Count-min sketch: A probabilistic data structure for estimating how many times a given value appears in a data stream used for sales volume calculations. Time series: Data points indexed in time order used for monitoring sensor data, asset tracking, and predictive analytics Pub/sub : A lightweight messaging capability. Publishers send messages to a channel, and subscribers receive messages from that channel. Stream : An append-only log with random access capabilities and complex consumption strategies such as consumer groups. Used for event sourcing, sensor monitoring, and notifications. Transaction: Allows the execution of a group of commands in a single step. A request sent by another client will never be served in the middle of the execution of a transaction. This guarantees that the commands are executed as a single isolated operation. Programmability: Upload and execute Lua scripts on the server. Scripts can employ programmatic control structures and use most of the commands while executing to access the database. Because scripts are executed on the server, reading and writing data from scripts is very efficient. Cloud hosted Redis Fully-managed Redis with real-time performance at scale. Redis Cloud Community Redis Community Resources Build Redis from source This section refers to building Redis from source. If you want to get up and running with Redis quickly without needing to build from source see the Getting started section . These instructions apply to Redis 8.10 and above. For versions lower than 8.10, see the 8.8 build instructions . Configuration files : the build steps below tell you to run ./src/redis-server redis.conf . Release tarballs bake the bundled modules' loadmodule lines and per-module settings directly into redis.conf during packaging, so an extracted release tarball is ready to run as-is. When building from a git checkout instead, that module config lives in the auto-generated redis-full.conf produced by make modules-update (and regenerated by make sync-redis-conf ) — run ./src/redis-server redis-full.conf there. Edit Redis-core settings in redis.conf . See modules/MODULES.md for the full config flow. Install dependencies and build Building Redis with all data structures (JSON, time series, Bloom / cuckoo / count-min / top-k, t-digest, and the Query Engine) needs a build toolchain plus a few version-sensitive dependencies — GCC/Clang, LLVM 21 , CMake 3.25–3.31.6 , Rust 1.94 , OpenSSL, Python 3, and assorted -dev libraries. Instead of a per-OS package list, the repo installs them for you with make bootstrap , which detects your OS and installs each bundled module's prerequisites. CMake version range matters. The modules require 3.25 ≤ CMake ≤ 3.31.6 — CMake 4.x is not supported and the build will fail with it. On distros that ship CMake 4.x by default (e.g. Ubuntu 26.04), pin a supported version, e.g. pip3 install 'cmake==3.31.6' . Note make bootstrap only installs CMake when it's missing or too old; it won't downgrade a pre-installed 4.x, so remove/pin that yourself. 1. Get the source Either works — the release tarball already bundles the module sources; a git checkout needs one extra step to fetch them: # A) Release tarball (recommended for building/running a release). # Replace <version>, e.g. 8.10.0 — extracts into redis-<version>/: wget -O redis- < version > .tar.gz https://github.com/redis/redis/releases/download/ < version > /redis-full.tar.gz tar xvf redis- < version > .tar.gz && cd redis- < version > # B) git checkout — clone the bundled modules once: git clone https://github.com/redis/redis.git && cd redis make modules-update 2. Install the build dependencies Pick whichever option fits your environment: Build inside the Docker build environment — recommended. The repo ships docker/Dockerfile.noble (Ubuntu 24.04) with every prerequisite baked in, so you build inside the container and never touch your host toolchain: docker build -f docker/Dockerfile.noble -t redis-build:noble . # Multi-arch (requires `docker buildx` configured): docker buildx build --platform linux/amd64,linux/arm64 \ -f docker/Dockerfile.noble -t redis-build:noble . # Build with the working tree mounted: docker run --rm -it -v " $PWD " :/workspace -w /workspace redis-build:noble \ bash -lc ' make -j"$(nproc)" && make run ' Install everything on a fresh machine or container. On a clean environment (for example a throwaway ubuntu:24.04 container), let bootstrap install every prerequisite for Redis core and all cloned modules: make bootstrap ⚠️ make bootstrap installs system packages and may override existing versions of shared tools (compiler, CMake, LLVM, …). Prefer option 1, or run it in a disposable container, if that matters on your machine. See only what's missing. To inspect which prerequisites are absent before installing anything, print one deduped list across Redis core and all modules: make bootstrap list Then install just the reported packages yourself. (Version-gated deps are shown as name (>= X) ; optional test/coverage deps are listed separately and don't fail the check.) Get the exact install commands to copy-paste. To run exactly what make bootstrap would, but only for the missing dependencies, use dry-run — it prints the precise install command for each missing dependency and installs nothing: make bootstrap dry-run The commands are printed per module , so a dependency shared by several modules appears once for each. Work through them iteratively: Copy-paste the commands for a module to install its dependencies. Re-run make bootstrap dry-run — the deps you just installed no longer show, so you now see only what's still missing for the remaining modules. Repeat until make bootstrap dry-run prints no install commands. Manual, per-OS install (no Docker, and you'd rather not let make bootstrap touch your host): follow the per-OS dependency instructions in the 8.8 README, which still lists them explicitly — https://github.com/redis/redis/tree/8.8#readme . 3. Build and run export BUILD_TLS=yes # optional — TLS support (needs OpenSSL dev libs) make -j " $( nproc ) " # Release tarball (module config is baked into redis.conf): ./src/redis-server redis.conf # From a git checkout, use the auto-generated module config instead: ./src/redis-server redis-full.conf make (same as make build / make all ) builds whatever is cloned under modules/*/src alongside Redis core. To build just the core data structures — even with modules cloned — use make build redis . Building Redis - flags and general notes Redis can be compiled and used on Linux, OSX, OpenBSD, NetBSD, FreeBSD. We support big endian and little endian architectures, and both 32 bit and 64-bit systems. It may compile on Solaris derived systems (for instance SmartOS) but our support for this platform is best effort and Redis is not guaranteed to work as well as on Linux, OSX, and *BSD. To build Redis with all the data structures (including JSON, time series, Bloom filter, cuckoo filter, count-min sketch, top-k, and t-digest) and with Redis Query Engine, make sure first that all the prerequisites are installed (see Install dependencies and build above), then clone the bundled modules once and build: make modules-update make make (same as make build / make all ) always builds whatever's cloned under modules/*/src alongside Redis core — there's no separate flag to opt in. If nothing is cloned yet, you get a core-only build. To build Redis with just the core data structures — even if modules are already cloned — use: make build redis To build with TLS support, you need OpenSSL development libraries (e.g. libssl-dev on Debian/Ubuntu) and the following flag in the make command: make BUILD_TLS=yes To build with systemd support, you need systemd development libraries (such as libsystemd-dev on Debian/Ubuntu or systemd-devel on CentOS), and the following flag: make USE_SYSTEMD=yes To append a suffix to Redis program names, add the following flag: make PROG_SUFFIX= " -alt " You can build a 32 bit Redis binary using: make 32bit After building Redis, it is a good idea to test it using: make test If TLS is built, running the tests with TLS enabled (you will need tcl-tls installed): ./utils/gen-test-certs.sh ./runtest --tls Redis supports compression of replication stream via zstd as of 8.10. To build with compression support you have to install zstd development libraries (e.g libzstd-dev on Debian/Ubuntu) and use the following flag when invoking the make command: make BUILD_COMPRESSION=yes Fixing build problems with dependencies or cached build options Redis has some dependencies which are included in the deps directory. make does not automatically rebuild dependencies even if something in the source code of dependencies changes. When you update the source code with git pull or when code inside the dependencies tree is modified in any other way, make sure to use the following command in order to really clean everything and rebuild from scratch: make distclean This will clean: jemalloc, lua, hiredis, linenoise and other dependencies. Also, if you force certain build options like 32bit target, no C compiler optimizations (for debugging purposes), and other similar build time options, those options are cached indefinitely until you issue a make distclean command. Fixing problems building 32 bit binaries If after building Redis with a 32 bit target you need to rebuild it with a 64 bit target, or the other way around, you need to perform a make distclean in the root directory of the Redis distribution. In case of build errors when trying to build a 32 bit binary of Redis, try the following steps: Install the package libc6-dev-i386 (also try g++-multilib). Try using the following command line instead of make 32bit : make CFLAGS="-m32 -march=native" LDFLAGS="-m32" Allocator Selecting a non-default memory allocator when building Redis is done by setting the MALLOC environment variable. Redis is compiled and linked against libc malloc by default, except for jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc. To force compiling against libc malloc, use: make MALLOC=libc To compile against jemalloc on Mac OS X systems, use: make MALLOC=jemalloc Monotonic clock By default, Redis will build using the POSIX clock_gettime function as the monotonic clock source. On most modern systems, the internal processor clock can be used to improve performance. Cautions can be found here: http://oliveryang.net/2015/09/pitfalls-of-TSC-usage/ On ARM aarch64 systems, the hardware clock is enabled by default because the ARM Generic Timer is architecturally guaranteed to be available and monotonic on all ARMv8-A processors (see the “The Generic Timer in AArch64 state” section of the Arm Architecture Reference Manual for Armv8-A ). To build with support for the processor's internal instruction clock on other architectures, use: make CFLAGS= " -DUSE_PROCESSOR_CLOCK " Verbose build Redis will build with a user-friendly colorized output by default. If you want to see a more verbose output, use the following: make V=1 Running Redis with TLS Please consult the TLS.md file for more information on how to use Redis with TLS. Running Redis with the Query Engine and optional proprietary Intel SVS-VAMANA optimisations License Disclaimer If you are using Redis Open Source under AGPLv3 or SSPLv1, you cannot use it together with the Intel Optimizations (Leanvec and LVQ binaries). The reason is that the Intel SVS license is not compatible with those licenses. The Leanvec and LVQ techniques are closed source and are only available for use with Redis Open Source when distributed under the RSALv2 license. For more details, please refer to the information provided by Intel here . By default, Redis with the Redis Query Engine supports SVS-VAMANA index with global 8-bit quantisation. To compile Redis with the Intel SVS-VAMANA optimisations, LeanVec and LVQ, use the following: make BUILD_INTEL_SVS_OPT=yes Alternatively, you can export the variable before running the build step for your platform: export BUILD_INTEL_SVS_OPT=yes make Code contributions By contributing code to the Redis project in any form, including sending a pull request via GitHub, a code fragment or patch via private email or public discussion groups, you agree to release your code under the terms of the Redis Software Grant and Contributor License Agreement. Please see the CONTRIBUTING.md file in this source distribution for more information. For security bugs and vulnerabilities, please see SECURITY.md and the description of the ability of users to backport security patches under Redis Open Source 7.4+ under BSDv3. Open Source Redis releases are subject to the following licenses: Version 7.2.x and prior releases are subject to BSDv3. These contributions to the original Redis core project are owned by their contributors and licensed under the 3BSDv3 license as referenced in the REDISCONTRIBUTIONS.txt file. Any copy of that license in this repository applies only to those contributions; Versions 7.4.x to 7.8.x are subject to your choice of RSALv2 or SSPLv1; and Version 8.0.x and subsequent releases are subject to the tri-license RSALv2/SSPLv1/AGPLv3 at your option as referenced in the LICENSE.txt file. Redis Trademarks The purpose of a trademark is to identify the goods and services of a person or company without causing confusion. As the registered owner of its name and logo, Redis accepts certain limited uses of its trademarks, but it has requirements that must be followed as described in its Trademark Guidelines available at: https://redis.io/legal/trademark-policy/ .
Free
Windows
macOS
Linux
continue
continue is a free, open-source alternative to GitHub Copilot . Continue Pioneering open-source coding agent What is Continue? Note: The continuedev/continue repository is no longer actively maintained and is read-only for all users. Continue is a coding agent available as a CLI , VS Code extension , and JetBrains plugin . Documentation To learn how to configure Continue, how it works, and how to customize it, check out the Continue Docs . Final 2.0.0 Release We polished Continue and did a final 2.0.0 release of the VS Code extension, CLI, and JetBrains plugin. This included removing anonymous telemetry, pulling out authentication, squashing bugs, and more. VS Code CLI JetBrains Note: We recommend using the Continue CLI instead of the JetBrains plugin. Contributors Thank you to the entire Continue community for helping us create a pioneering coding agent. What we built together pushed the boundaries of what AI developer tooling could be. We hope this codebase continues to serve as a foundation for others. Code friends License Apache 2.0 © 2023-2026 Continue Dev, Inc.
Free
Windows
macOS
Linux
firecracker
firecracker is a free, open-source software / service you can self-host or use without paying. Our mission is to enable secure, multi-tenant, minimal-overhead execution of container and function workloads. Read more about the Firecracker Charter here . What is Firecracker? Firecracker is an open source virtualization technology that is purpose-built for creating and managing secure, multi-tenant container and function-based services that provide serverless operational models. Firecracker runs workloads in lightweight virtual machines, called microVMs, which combine the security and isolation properties provided by hardware virtualization technology with the speed and flexibility of containers. Overview The main component of Firecracker is a virtual machine monitor (VMM) that uses the Linux Kernel Virtual Machine (KVM) to create and run microVMs. Firecracker has a minimalist design. It excludes unnecessary devices and guest-facing functionality to reduce the memory footprint and attack surface area of each microVM. This improves security, decreases the startup time, and increases hardware utilization. Firecracker has also been integrated in container runtimes, for example Kata Containers and Flintlock . Firecracker was developed at Amazon Web Services to accelerate the speed and efficiency of services like AWS Lambda and AWS Fargate . Firecracker is open sourced under Apache version 2.0 . To read more about Firecracker, check out firecracker-microvm.io . Getting Started To get started with Firecracker, download the latest release binaries or build it from source. You can build Firecracker on any Unix/Linux system that has Docker running (we use a development container) and bash installed, as follows: git clone https://github.com/firecracker-microvm/firecracker cd firecracker tools/devtool build toolchain= " $( uname -m ) -unknown-linux-musl " The Firecracker binary will be placed at build/cargo_target/${toolchain}/debug/firecracker . For more information on building, testing, and running Firecracker, go to the quickstart guide . The overall security of Firecracker microVMs, including the ability to meet the criteria for safe multi-tenant computing, depends on a well configured Linux host operating system. A configuration that we believe meets this bar is included in the production host setup document . Contributing Firecracker is already running production workloads within AWS, but it's still Day 1 on the journey guided by our mission . There's a lot more to build and we welcome all contributions. To contribute to Firecracker, check out the development setup section in the getting started guide and then the Firecracker contribution guidelines . Releases New Firecracker versions are released via the GitHub repository releases page, typically every two or three months. A history of changes is recorded in our changelog . The Firecracker release policy is detailed here . Design Firecracker's overall architecture is described in the design document . Features & Capabilities Firecracker consists of a single micro Virtual Machine Manager process that exposes an API endpoint to the host once started. The API is specified in OpenAPI format . Read more about it in the API docs . The API endpoint can be used to: Configure the microvm by: Setting the number of vCPUs (the default is 1). Setting the memory size (the default is 128 MiB). Configuring a CPU template . Add one or more network interfaces to the microVM. Add one or more read-write or read-only disks to the microVM, each represented by a file-backed block device. Trigger a block device re-scan while the guest is running. This enables the guest OS to pick up size changes to the block device's backing file. Change the backing file for a block device, before or after the guest boots. Configure rate limiters for virtio devices which can limit the bandwidth, operations per second, or both. Configure the logging and metric system. [BETA] Configure the data tree of the guest-facing metadata service. The service is only available to the guest if this resource is configured. Add a vsock socket to the microVM. Add a entropy device to the microVM. Add a pmem device to the microVM. Configure and manage memory hotplugging . [Developer Preview] Hot-plug and hot-unplug virtio PCI devices while the VM is running. Start the microVM using a given kernel image, root file system, and boot arguments. [x86_64 only] Stop the microVM. Built-in Capabilities : Demand fault paging and CPU oversubscription enabled by default. Advanced, thread-specific seccomp filters for enhanced security. Jailer process for starting Firecracker in production scenarios; applies a cgroup/namespace isolation barrier and then drops privileges. Tested platforms We test all combinations of: Instance Host OS & Kernel Guest Rootfs Guest Kernel m5n.metal (Intel Cascade Lake) al2 linux_5.10 ubuntu 24.04 linux_5.10 m6i.metal (Intel Ice Lake) al2023 linux_6.1 linux_6.1 al2023 linux_6.18 m7i.metal-24xl (Intel Sapphire Rapids) m7i.metal-48xl (Intel Sapphire Rapids) m8i.metal-48xl (Intel Granite Rapids)* m8i.metal-96xl (Intel Granite Rapids)* m6a.metal (AMD Milan) m7a.metal-48xl (AMD Genoa) m6g.metal (Graviton 2) m7g.metal (Graviton 3) m8g.metal-24xl (Graviton 4) m8g.metal-48xl (Graviton 4) * : We only support AWS EC2 8th Gen Intel (*8i) instances using a 6.1 or 6.18 host kernel. This is due to poor kernel support for Granite Rapids CPUs on 5.10. Known issues and Limitations The pl031 RTC device on aarch64 does not support interrupts, so guest programs which use an RTC alarm (e.g. hwclock ) will not work. Performance Firecracker's performance characteristics are listed as part of the specification documentation . All specifications are a part of our commitment to supporting container and function workloads in serverless operational models, and are therefore enforced via continuous integration testing. Policy for Security Disclosures The security of Firecracker is our top priority. If you suspect you have uncovered a vulnerability, contact us privately, as outlined in our security policy document ; we will immediately prioritize your disclosure. FAQ & Contact Frequently asked questions are collected in our FAQ doc . You can get in touch with the Firecracker community in the following ways: Security-related issues, see our security policy document . Chat with us on our Slack workspace Note: most of the maintainers are on a European time zone. Open a GitHub issue in this repository. Email the maintainers at
[email protected]
. When communicating within the Firecracker community, please mind our code of conduct .
Free
Linux
AdGuardHome
AdGuardHome is a free, open-source alternative to NextDNS . Privacy protection center for you and your devices Free and open source, powerful network-wide ads & trackers blocking DNS server. AdGuard.com | Wiki | Reddit | Twitter | Telegram AdGuard Home is a network-wide software for blocking ads and tracking. After you set it up, it'll cover ALL your home devices, and you don't need any client-side software for that. It operates as a DNS server that re-routes tracking domains to a “black hole”, thus preventing your devices from connecting to those servers. It's based on software we use for our public AdGuard DNS servers, and both share a lot of code. Getting Started Automated install (Linux/Unix/MacOS/FreeBSD/OpenBSD) Alternative methods Guides API Comparing AdGuard Home to other solutions How is this different from public AdGuard DNS servers? How does AdGuard Home compare to Pi-Hole How does AdGuard Home compare to traditional ad blockers Known limitations How to build from source Prerequisites Building Contributing Test unstable versions Reporting issues Help with translations Other Projects that use AdGuard Home Acknowledgments Privacy Getting Started Automated install (Linux/Unix/MacOS/FreeBSD/OpenBSD) To install with curl run the following command: curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v To install with wget run the following command: wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v To install with fetch run the following command: fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v The script also accepts some options: -c <channel> to use specified channel; -r to reinstall AdGuard Home; -u to uninstall AdGuard Home; -v for verbose output. Note that options -r and -u are mutually exclusive. Alternative methods Manual installation Please read the Getting Started article on our Wiki to learn how to install AdGuard Home manually, and how to configure your devices to use it. Docker You can use our official Docker image on Docker Hub . Snap Store If you're running Linux, there's a secure and easy way to install AdGuard Home: get it from the Snap Store . Guides See our Wiki . API If you want to integrate with AdGuard Home, you can use our REST API . Alternatively, you can use this python client , which can be used to build the AdGuard Home Assistant integration . Comparing AdGuard Home to other solutions How is this different from public AdGuard DNS servers? Running your own AdGuard Home server allows you to do much more than using a public DNS server. It's a completely different level. See for yourself: Choose what exactly the server blocks and permits. Monitor your network activity. Add your own custom filtering rules. Most importantly, it's your own server, and you are the only one who's in control. How does AdGuard Home compare to Pi-Hole At this point, AdGuard Home has a lot in common with Pi-Hole. Both block ads and trackers using the so-called “DNS sinkholing” method and both allow customizing what's blocked. Note We're not going to stop here. DNS sinkholing is not a bad starting point, but this is just the beginning. AdGuard Home provides a lot of features out-of-the-box with no need to install and configure additional software. We want it to be simple to the point when even casual users can set it up with minimal effort. Note Some of the listed features can be added to Pi-Hole by installing additional software or by manually using SSH terminal and reconfiguring one of the utilities Pi-Hole consists of. However, in our opinion, this cannot be legitimately counted as a Pi-Hole's feature. Feature AdGuard Home Pi-Hole Blocking ads and trackers ✅ ✅ Customizing blocklists ✅ ✅ Built-in DHCP server ✅ ✅ HTTPS for the Admin interface ✅ Kind of, but you'll need to manually configure lighttpd Encrypted DNS upstream servers (DNS-over-HTTPS, DNS-over-TLS, DNSCrypt) ✅ ❌ (requires additional software) Cross-platform ✅ ❌ (not natively, only via Docker) Running as a DNS-over-HTTPS or DNS-over-TLS server ✅ ❌ (requires additional software) Blocking phishing and malware domains ✅ ❌ (requires non-default blocklists) Parental control (blocking adult domains) ✅ ❌ (requires non-default blocklists) Force Safe search on search engines ✅ ❌ Per-client (device) configuration ✅ ✅ Access settings (choose who can use AGH DNS) ✅ ❌ Running without root privileges ✅ ❌ How does AdGuard Home compare to traditional ad blockers It depends. DNS sinkholing is capable of blocking a big percentage of ads, but it lacks the flexibility and the power of traditional ad blockers. You can get a good impression about the difference between these methods by reading this article , which compares AdGuard for Android (a traditional ad blocker) to hosts-level ad blockers (which are almost identical to DNS-based blockers in their capabilities). This level of protection is enough for some users. Additionally, using a DNS-based blocker can help to block ads, tracking and analytics requests on other types of devices, such as SmartTVs, smart speakers or other kinds of IoT devices (on which you can't install traditional ad blockers). Known limitations Here are some examples of what cannot be blocked by a DNS-level blocker: YouTube, Twitch ads; Facebook, Twitter, Instagram sponsored posts. Essentially, any advertising that shares a domain with content cannot be blocked by a DNS-level blocker. Is there a chance to handle this in the future? DNS will never be enough to do this. Our only option is to use a content blocking proxy like what we do in the standalone AdGuard applications. We're going to bring this feature support to AdGuard Home in the future. Unfortunately, even in this case, there still will be cases when this won't be enough or would require quite a complicated configuration. How to build from source Prerequisites Run make init to prepare the development environment. You will need this to build AdGuard Home: Go v1.25 or later; Node.js v24.10.0 or later; npm v10.8 or later; Building Open your terminal and execute these commands: git clone https://github.com/AdguardTeam/AdGuardHome cd AdGuardHome make Warning The non-standard -j flag is currently not supported, so building with make -j 4 or setting your MAKEFLAGS to include, for example, -j 4 is likely to break the build. If you do have your MAKEFLAGS set to that, and you don't want to change it, you can override it by running make -j 1 . Check the Makefile to learn about other commands. Building for a different platform You can build AdGuard Home for any OS/ARCH that Go supports. In order to do this, specify GOOS and GOARCH environment variables as macros when running make . For example: env GOOS= ' linux ' GOARCH= ' arm64 ' make or: make GOOS= ' linux ' GOARCH= ' arm64 ' Preparing releases You'll need snapcraft to prepare a release build. Once installed, run the following command: make build-release CHANNEL= ' ... ' VERSION= ' ... ' See the build-release target documentation . Docker image Run make build-docker to build the Docker image locally (the one that we publish to DockerHub). Please note, that we're using Docker Buildx to build our official image. You may need to prepare before using these builds: (Linux-only) Install Qemu: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes Prepare the builder: docker buildx create --name buildx-builder --driver docker-container --use See the build-docker target documentation . Debugging the frontend When you need to debug the frontend without recompiling the production version every time, for example to check how your labels would look on a form, you can run the frontend build a development environment. In a separate terminal, run: ( cd ./client/ && env NODE_ENV= ' development ' npm run watch ) Run your AdGuardHome binary with the --local-frontend flag, which instructs AdGuard Home to ignore the built-in frontend files and use those from the ./build/ directory. Now any changes you make in the ./client/ directory should be recompiled and become available on the web UI. Make sure that you disable the browser cache to make sure that you actually get the recompiled version. End-to-End (E2E) Frontend Tests AdGuard Home uses Playwright for E2E testing. Tests are located in tests/e2e . Running Tests: npm run test:e2e – run all tests (headless). npm run test:e2e:interactive – run tests interactively. npm run test:e2e:debug – run tests in debug mode. npm run test:e2e:codegen – generate new test code. Setup: Run npm install to install dependencies. Run npx playwright install to set up required browsers. Warning: Playwright will download and install its own browser binaries for testing, which may differ from the browsers installed on your system. Contributing You are welcome to fork this repository, make your changes and submit a pull request . Please make sure you follow our code guidelines though. Please note that we don't expect people to contribute to both UI and backend parts of the program simultaneously. Ideally, the backend part is implemented first, i.e. configuration, API, and the functionality itself. The UI part can be implemented later in a different pull request by a different person. Test unstable versions There are two update channels that you can use: beta : beta versions of AdGuard Home. More or less stable versions, usually released every two weeks or more often. edge : the newest version of AdGuard Home from the development branch. New updates are pushed to this channel daily. There are three options how you can install an unstable version: Snap Store : look for the beta and edge channels. Docker Hub : look for the beta and edge tags. Standalone builds. Use the automated installation script or look for the available builds on the Wiki . Script to install a beta version: curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c beta Script to install an edge version: curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c edge Report issues If you run into any problem or have a suggestion, head to this page and click on the “New issue” button. Please follow the instructions in the issue form carefully and don't forget to start by searching for duplicates. Help with translations If you want to help with AdGuard Home translations, please learn more about translating AdGuard products in our Knowledge Base . You can contribute to the AdGuardHome project on CrowdIn . Other Another way you can contribute is by looking for issues marked as help wanted , asking if the issue is up for grabs, and sending a PR fixing the bug or implementing the feature. Projects that use AdGuard Home Please note that these projects are not affiliated with AdGuard, but are made by third-party developers and fans. AdGuard Home Remote : iOS app by Joost . Python library by @frenck . Home Assistant add-on by @frenck . OpenWrt LUCI app by @kongfl888 (originally by @rufengsuixing ). AdGuardHome sync by @bakito . Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home instance by @Lissy93 AdGuard Home on GLInet routers by Gl-Inet . Cloudron app by @gramakri . Asuswrt-Merlin-AdGuardHome-Installer by @jumpsmm7 aka @SomeWhereOverTheRainBow . Node.js library by @Andrea055 . Browser Extension by @satheshshiva . Zabbix Template for AdGuard Home by @diasdmhub . Chocolatey package by niks255 . Acknowledgments This software wouldn't have been possible without: Go and its libraries: gcache miekg's dns go-yaml service dnsproxy urlfilter Node.js and its libraries: React.js Tabler And many more Node.js packages. whotracks.me data You might have seen that CoreDNS was mentioned here before, but we've stopped using it in AdGuard Home. For the full list of all Node.js packages in use, please take a look at client/package.json file. Privacy Our main idea is that you are the one, who should be in control of your data. So it is only natural, that AdGuard Home does not collect any usage statistics, and does not use any web services unless you configure it to do so. See also the full privacy policy with every bit that could in theory be sent by AdGuard Home is available.
Free
Windows
macOS
Linux
server
server is a free, open-source alternative to Dropbox . Nextcloud Server ☁ A safe home for all your data. Why is this so awesome? 🤩 📁 Access your Data You can store your files, contacts, calendars, and more on a server of your choosing. 🔄 Sync your Data You keep your files, contacts, calendars, and more synchronized amongst your devices. 🙌 Share your Data …by giving others access to the stuff you want them to see or to collaborate with. 🚀 Expandable with hundreds of Apps ...like Calendar , Contacts , Mail , Video Chat and all those you can discover in our App Store 🔒 Security with our encryption mechanisms, HackerOne bounty program and two-factor authentication. Do you want to learn more about how you can use Nextcloud to access, share, and protect your files, calendars, contacts, communication & more at home and in your organization? Learn about all our Features . Get your Nextcloud 🚚 ☑️ Simply sign up at one of our providers either through our website or through the apps directly. 🖥 Install a server by yourself on your hardware or by using one of our ready-to-use appliances 📦 Buy one of the awesome devices coming with a preinstalled Nextcloud 🏢 Find a service provider who hosts Nextcloud for you or your company Enterprise? Public Sector or Education user? You may want to have a look into Nextcloud Enterprise provided by Nextcloud GmbH. Get in touch 💬 📋 Forum 🦋 Bluesky 👥 Facebook 🐘 Mastodon You can also get support for Nextcloud ! Join the team 👪 There are many ways to contribute, of which development is only one! Find out how to get involved , including as a translator, designer, tester, helping others, and much more! 😍 Development setup 👩💻 🚀 Set up your local development environment 🐛 Pick a good first issue 👩🔧 Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message" ⬆ Create a pull request and @mention the people from the issue to review 👍 Fix things that come up during a review 🎉 Wait for it to get merged! Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking git submodule update --init or a similar command is needed, for details see Git documentation. Several apps that are included by default in regular releases such as First run wizard or Activity are missing in master and have to be installed manually by cloning them into the apps subfolder. Otherwise, git checkouts can be handled the same as release archives, by using the stable* branches. Note they should never be used on production systems. Testing your code We use multiple test frameworks for specific areas of the code: PHPUnit for PHP unit tests Behat for PHP integration tests Vitest for Javascript / Typescript unit tests Playwright for end-to-end tests For our end-to-end tests using Playwright you can refer to our documentation on how to debug errors and to contribute new test cases. Tools we use 🛠 👀 BrowserStack for cross-browser testing 🌊 WAVE for accessibility testing 🚨 Lighthouse for testing performance, accessibility, and more Helpful bots at GitHub 🤖 Comment on a pull request with /update-3rdparty to update the 3rd party submodule. It will update to the last commit of the 3rd party branch named like the PR target. Ignore code style updates in git blame git config blame.ignoreRevsFile .git-blame-ignore-revs Contribution guidelines 📜 All contributions to this repository from June 16, 2016, and onward are considered to be licensed under the AGPLv3 or any later version. Nextcloud doesn't require a CLA (Contributor License Agreement). The copyright belongs to all the individual contributors. Therefore we recommend that every contributor adds the following line to the AUTHORS file if they made substantial changes to the code: - <your name> <your email address> Please read the Code of Conduct . This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other. Please review the guidelines for contributing to this repository. More information on how to contribute: https://nextcloud.com/contribute/
Free
Windows
macOS
Linux
Android
iOS
maigret
maigret is a free, open-source alternative to Pipl . Maigret English · 简体中文 Maigret collects a dossier on a person by username only , checking for accounts on a huge number of sites and gathering all the available information from web pages. No API keys required. AI profiling (demo) . Sponsors IPcook provides reliable residential proxies for online research, username discovery, and public data collection workflows. High success rates • 99.99% uptime • Response time under 0.5s • Monthly & Pay-as-you-go • Non-expiring traffic • Up to 10 free sub-accounts for team collaboration • Residential proxies from $0.3–$3.2/GB. Special Offer : FREE 100MB trial available. Use code WELCOME20 for 20% off. RapidProxy provides high-performance residential proxies for Twitter scraping, Selenium automation, and web data extraction. 90M+ IPs • Smart rotation • Anti-block • Non-expiring traffic. Special Offer : Try it free — Plans from $0.65/GB. Use code RAPID10 for 10% off. Contents In one minute Main features Demo Installation Usage Contributing Commercial Use About In one minute Ensure you have Python 3.10 or higher. pip install maigret maigret YOUR_USERNAME No install? Try the community Telegram bot or a Cloud Shell . Want a web UI? See how to launch it . See also: Quick start . Main features Supports 3,000+ sites ( see full list ). A default run checks the 500 highest-ranked sites by traffic; pass -a to scan everything, or --tags to narrow by category/country. Embeddable in Python projects — import maigret and run searches programmatically (see library usage ). Extracts all available information about the account owner from profile pages and site APIs, including links to other accounts. Performs recursive search using discovered usernames and other IDs. Allows filtering by tags (site categories, countries). Detects and partially bypasses blocks, censorship, and CAPTCHA. Fetches an auto-updated site database from GitHub each run (once per 24 hours), and falls back to the built-in database if offline. Works with Tor and I2P websites; able to check domains. Ships with a web interface for browsing results as a graph and downloading reports in every format from a single page. Optional AI analysis mode ( --ai ) that turns raw findings into a short investigation summary using an OpenAI-compatible API. For the complete feature list, see the features documentation . Used by Professional OSINT and social-media analysis tools built on Maigret: Demo Video Reports PDF report , HTML report Full console output Installation Already ran the In one minute steps? You're set. Below are alternative methods. Don't want to install anything? Use the community Telegram bot . Windows Download maigret_standalone.exe from Releases . You can launch it two ways: Double-click it — Maigret will ask for a username, run a default search, and wait at the end so the report links stay visible. Run it from a terminal — open Command Prompt (press Win+R , type cmd , hit Enter) or PowerShell to pass extra options: cd %USERPROFILE% \Downloads maigret_standalone.exe USERNAME maigret_standalone.exe USERNAME --html :: also save an HTML report maigret_standalone.exe --help :: list all options Video guide: https://youtu.be/qIgwTZOmMmM . Cloud Shells Run Maigret in the browser via cloud shells or Jupyter notebooks: Local installation (pip) # install from pypi pip3 install maigret # usage maigret username From source # or clone and install manually git clone https://github.com/soxoj/maigret && cd maigret # build and install pip3 install . # usage maigret username Docker Two image variants are published: soxoj/maigret:latest — CLI mode (default) soxoj/maigret:web — auto-launches the web interface # official image (CLI) docker pull soxoj/maigret # CLI usage docker run -v /mydir:/app/reports soxoj/maigret:latest username --html # Web UI (open http://localhost:5000) docker run -p 5000:5000 soxoj/maigret:web # Web UI on a custom port docker run -e PORT=8080 -p 8080:8080 soxoj/maigret:web # manual build docker build -t maigret . # CLI image (default target) docker build --target web -t maigret-web . # Web UI image Troubleshooting Build errors? See the troubleshooting guide . PDF reports ( --pdf ) are an optional extra — install with pip install 'maigret[pdf]' . They need system-level graphics libraries on Linux/macOS; see the PDF reports section for per-OS install steps. Usage Examples # make HTML, PDF, and XMind reports maigret user --html maigret user --pdf maigret user --xmind # legacy XML with a manifest for XMind 2022+ readers # machine-readable exports maigret user --json ndjson # newline-delimited JSON (also: --json simple) maigret user --csv maigret user --txt maigret user --graph # interactive D3 graph (HTML) maigret user --neo4j # Neo4j Cypher script (graph database) # search on sites marked with tags photo & dating maigret user --tags photo,dating # search on sites marked with tag us maigret user --tags us # highlight sites whose page also mentions specific keywords maigret user --keywords python rust # keyword-matched sites are shown with "[++]" in bright green # search for three usernames on all available sites maigret user1 user2 user3 -a # AI-assisted investigation summary (needs OPENAI_API_KEY) maigret user --ai --neo4j writes a *_neo4j.cypher script of the results graph; import it with cypher-shell -u neo4j -p <password> < report_user_neo4j.cypher or paste it into the Neo4j Browser. Re-imports are idempotent. See the Neo4j export docs . Run maigret --help for all options. Docs: CLI options , more examples . Running into 403s or timeouts? See TROUBLESHOOTING.md . Web interface Maigret has a built-in web UI with a results graph and downloadable reports. Don't want to run it yourself? Deploy the published soxoj/maigret:web Docker image as a hosted app in one click: Runs on Render's free tier (spins down after 15 min idle, spins back up on the next request). No login is set up on the instance, so anyone with the URL can use it. Web Interface Screenshots maigret --web 5000 Open http://127.0.0.1:5000 , enter a username, and view results. Python library Maigret can be embedded in your own Python projects. The CLI is a thin wrapper around an async function you can call directly — build custom pipelines, feed results into your own tooling, or run it inside a larger OSINT workflow. See the full library usage guide for a working example, async patterns, and how to filter sites by tag. Useful CLI flags --parse URL — parse a profile page, extract IDs/usernames, and use them to kick off a recursive search. --permute — generate likely username variants from two or more inputs (e.g. john doe → johndoe , j.doe , …) and search for all of them. --self-check [--auto-disable] — verify usernameClaimed / usernameUnclaimed pairs against live sites for maintainers auditing the database. --ai / --ai-model — run the AI analysis over the search results and stream a short investigation summary to the terminal. AI analysis --ai collects the search results, builds an internal Markdown report, and sends it to an OpenAI-compatible chat completion endpoint to produce a short, neutral investigation summary (likely real name, location, occupation, interests, languages, confidence, follow-up leads). Per-site progress is suppressed and the model's output is streamed to stdout. export OPENAI_API_KEY=sk-... maigret user --ai # pick a different model maigret user --ai --ai-model gpt-4o-mini The key can also be set as openai_api_key in settings.json . The endpoint defaults to https://api.openai.com/v1 , but openai_api_base_url in settings.json can point to any OpenAI-compatible API (Azure OpenAI, OpenRouter, a local server, …). See the settings docs for the full list of options. Tor / I2P / proxies Maigret can route checks through a proxy, Tor, or I2P — useful for .onion / .i2p sites and for bypassing WAFs that block datacenter IPs. # any HTTP/SOCKS proxy maigret user --proxy socks5://127.0.0.1:1080 # Tor (default gateway socks5://127.0.0.1:9050) maigret user --tor-proxy socks5://127.0.0.1:9050 # I2P (default gateway http://127.0.0.1:4444) maigret user --i2p-proxy http://127.0.0.1:4444 Start your Tor / I2P daemon before running the command — Maigret does not manage these gateways. Cloudflare bypass Experimental. The Cloudflare webgate is under active development; the configuration schema, CLI behaviour, and the set of routed sites may change without backwards-compatibility guarantees. A subset of sites in the database require a real browser to solve a JavaScript challenge. Maigret can offload these checks to a local FlareSolverr instance: docker run -d -p 8191:8191 --name flaresolverr ghcr.io/flaresolverr/flaresolverr:latest maigret --cloudflare-bypass < username > The bypass is opt-in ( --cloudflare-bypass or cloudflare_bypass.enabled in settings.json ) and only fires for sites whose protection field matches. See the feature docs for backend options and configuration. Contributing Add or fix new sites surgically in data.json (no json.load / json.dump ), then run ./utils/update_site_data.py to regenerate sites.md and the database metadata, and open a pull request. For more details, see the CONTRIBUTING guide and development docs . Release history: CHANGELOG.md . Commercial Use The open-source Maigret is MIT-licensed and free for commercial use without restriction — but site checks break over time and need active maintenance. For serious commercial use — with a daily-updated site database or a username-check API — reach out: 📧
[email protected]
Private site database — 5 000+ sites, updated daily (separate from the public open-source database) Username check API — integrate Maigret into your product About Disclaimer For educational and lawful purposes only. You are responsible for complying with all applicable laws (GDPR, CCPA, etc.) in your jurisdiction. The authors bear no responsibility for misuse. Feedback Open an issue · GitHub Discussions · Telegram SOWEL classification OSINT techniques used: SOTL-2.2. Search For Accounts On Other Platforms SOTL-6.1. Check Logins Reuse To Find Another Account SOTL-6.2. Check Nicknames Reuse To Find Another Account License MIT © Maigret
Free
Windows
macOS
Linux
CopilotKit
CopilotKit is a free, open-source alternative to CommandBar . CopilotKit Docs · Examples · Enterprise Intelligence Platform · Discord Build agent-native applications — on any framework, on any surface. Generative UI, shared state, and human-in-the-loop workflows for React, Angular, Vue, React Native — and in Slack and Microsoft Teams. What is CopilotKit CopilotKit is a best-in-class SDK for building full-stack agentic applications, Generative UI, and chat applications. What started as a React library is now the horizontal layer between your agents and your users : the same agent can power your web app, your mobile app, and your team's Slack or Microsoft Teams workspace. We are the company behind the AG-UI Protocol - adopted by Google, LangChain, AWS, Microsoft, Mastra, PydanticAI, and more! Quick Start Up and running in under five minutes. All you need is an LLM key (OpenAI, Anthropic, Gemini, etc.). npx copilotkit@latest create Agent Skills CopilotKit ships agent skills that teach your coding agent (Claude Code, Codex, Cursor, Gemini, and others) how to set up, build with, integrate, debug, and upgrade CopilotKit. Install them into any project directory: npx copilotkit@latest skills install Run it again any time to refresh to the latest skills. Bring Your App to Life Whole.Generative.UI.v5.mp4 Add AI to your app in 1 minute Features: Chat UI – A fully customizable chat interface that supports message streaming, tool calls, and agent responses. Backend Tool Rendering – Enables agents to call backend tools that return UI components rendered directly in the client. Generative UI – Allows agents to generate and update UI components dynamically at runtime based on user intent and agent state. Shared State – A synchronized state layer that both agents and UI components can read from and write to in real time. Human-in-the-Loop – Lets agents pause execution to request user input, confirmation, or edits before continuing. Self-Learning (early access) – Agents that continuously improve from user feedback via in-context reinforcement learning (CLHF). 🧩 Works With Your Stack One agent backend. Every frontend. Platform Status Get Started ⚛️ React / Next.js ✅ GA Quickstart 🅰️ Angular ✅ Supported Source Code & Quickstart 💚 Vue ✅ Supported Source Code - Quickstart coming soon 📱 React Native ✅ Supported Quickstart 💬 Slack / Microsoft Teams ✅ Supported Channels · Quickstart 🔜 Discord / WhatsApp / Telegram / Google Chat / iMessage / SMS 🟡 Coming soon Channels Your agent logic stays the same — AG-UI handles the wire protocol, CopilotKit handles the UI layer for each framework and channel. 💬 Channels: One Agent, Every Chat App The Channels SDK takes the agent you already built and drops it into the chat apps your users live in — same tools, same shared state, same human-in-the-loop, no rewrite ( Learn more ). Slack – Agents as first-class Slack apps: threads, tool calls, and human-in-the-loop approvals right in the channel. Microsoft Teams – Bring agentic workflows to the enterprise, where your org already lives. 👉 Explore Channels → 🧠 Self-Learning Agents Improve your product by learning over time. With Continuous Learning from Human Feedback (CLHF) , part of the CopilotKit Intelligence Platform , agents improve with every interaction: In-context reinforcement learning – Agents automatically improve from user interactions, no model fine-tuning required. Automatic prompt augmentation – Agent behavior adapts based on recent interactions and outcomes. Per-user adaptation – Agents learn individual preferences and get better for each user over time. Threads & persistence – Full interaction history — generative UI, human-in-the-loop, shared state — captured across sessions. Available via CopilotKit Cloud or self-hosted. 🔒 Early access: We're onboarding teams now. 👉 Request early access → cpk-cli.mp4 What this gives you: CopilotKit installed – Core packages are fully set up in your app Provider configured – Context, state, and hooks ready to use Agent <> UI connected – Agents can stream actions and render UI immediately Deployment-ready – Your app is ready to deploy Complete getting started guide → How it works: CopilotKit connects your UI, agents, and tools into a single interaction loop. This enables: Agents that ask users for input Tools that render UI Stateful workflows across steps and sessions One agent, deployed across web, mobile, and chat platforms ⭐️ useAgent Hook The useAgent hook sits directly on AG-UI, giving you full programmatic control over the agent connection. // Programmatically access and control your agents const { agent } = useAgent ( { agentId : "my_agent" } ) ; // Render and update your agent's state return < div > < h1 > { agent . state . city } < / h1 > < button onClick = { ( ) => agent . setState ( { city : "NYC" } ) } > Set City < / b u t t o n > < / div > Check out the useAgent docs to learn more. CopilotKit.UseAgent.Graphic.Motion_2.mp4 Generative UI Generative UI is a core CopilotKit pattern that allows agents to dynamically render UI as part of their workflow. demo-generative-ui.mp4 Compare the Three Types Explore: Static (AG-UI Protocol) Declarative (A2UI) Open-Ended (MCP Apps & Open JSON) Generative UI educational repo → 🖥️ AG-UI: The Agent–User Interaction Protocol Connect agent workflows to user-facing apps, with deep partnerships and 1st-party integrations across the agentic stack—including LangChain, CrewAI, Mastra, PydanticAI, and more. npx create-ag-ui-app my-agent-app Learn more in the AG-UI README → 🤝 Community What's New Have questions or need help? Join our Discord → Read the Docs → Try the Enterprise Intelligence Platform → Stay up to date with our latest releases! Follow us on LinkedIn → Follow us on X → 🙋🏽♂️ Contributing Thanks for your interest in contributing to CopilotKit! 💜 We value all contributions, whether it's through code, documentation, creating demo apps, or just spreading the word. Here are a few useful resources to help you get started: For code contributions, CONTRIBUTING.md . For documentation-related contributions, check out the documentation contributions guide . Want to contribute but not sure how? Join our Discord and we'll help you out! 📄 License This repository's source code is available under the MIT License .
Free
Android
iOS
spacedrive
spacedrive is a free, open-source alternative to ExpanDrive . Spacedrive One file manager for all your devices and clouds. Powered by a Virtual Distributed File System, complete with apps for macOS, Windows, Linux, iOS and Android v2.spacedrive.com • Discord • Getting Started What is Spacedrive? Spacedrive is a cross-device data platform. Index files, emails, notes, and external sources. Search everything. Sync via P2P. Keep AI agents safe with built-in screening. Content identity — every file gets a BLAKE3 content hash. Same file on two devices produces the same hash. Spacedrive tracks redundancy and deduplication across all your machines. Cross-device — see all your files across all your devices in one place. Files on disconnected devices stay in the index and appear as offline. P2P sync — devices connect directly via Iroh/QUIC. No servers, no cloud, no single point of failure. Metadata syncs between devices. Files stay where they are. Cloud volumes — index S3, Google Drive, Dropbox, OneDrive, Azure, and GCS as first-class volumes alongside local storage. Nine views — grid, list, columns, media, size, recents, search, knowledge, and splat. QuickPreview for video, audio, code, documents, 3D, and images. Local-first — everything runs on your machine. No data leaves your device unless you choose to sync between your own devices. Is this a replacement for Finder or Explorer? No. Spacedrive sits above your OS file manager and adds capabilities Finder/Explorer lack: Portal across everything — search and browse files across local disks, external drives, NAS, cloud storage, and archived data sources from one interface. Operating surface for files — content identity, sidecars, derivative artifacts, rich metadata, sync, and cross-device awareness built into the core model. Embeddable and shareable — run it as a desktop app, headless server, hosted file service, or embed the interface and APIs into other products. AI-ready by design — indexing and analysis pipelines prepare data ahead of time instead of giving agents raw shell access. Safer access model — route AI and automation through structured APIs, permissions, and processing layers instead of direct file operations. You still use your OS for low-level file interactions. Spacedrive adds the cross-platform, cross-device, cloud-aware, and automation-friendly layer on top. Data Archival Spacedrive indexes external data sources via script-based adapters: Gmail, Apple Notes, Chrome bookmarks, Obsidian, Slack, GitHub, calendar events, contacts. Each source becomes a searchable repository alongside your files. Adapters are a folder with an adapter.toml manifest and a sync script in any language. If it reads stdin and prints lines, it works. Shipped adapters: Gmail, Apple Notes, Chrome Bookmarks, Chrome History, Safari History, Obsidian, OpenCode, Slack, macOS Contacts, macOS Calendar, GitHub. Spacebot Spacedrive integrates with Spacebot , an open source AI agent runtime. Spacebot runs as an optional separate process. Spacedrive provides the data, permission, and execution layer. Spacebot provides the intelligence. Each Spacebot instance pairs with one Spacedrive node as its home device. That node authenticates the agent, maintains the device graph, resolves permissions, and forwards operations to peer devices. Every device in your library can reach Spacebot through the paired node over P2P (Iroh/QUIC) without direct network access. One agent runtime serves your entire device fleet. When Spacebot spawns a worker, that worker can target any device in the library. File reads, shell commands, and operations proxy through Spacedrive to the target device. Talk to the agent from your phone while work executes on a server. Read files from a NAS, run commands on a workstation, report to a laptop — all in one task. Every operation passes through Spacedrive's permission system: which devices the agent can access, which paths are readable or writable, which operations are allowed, and which require human confirmation. The paired node resolves effective policy before forwarding. One security model, one audit surface across all devices and clouds. File System Intelligence Spacedrive adds intelligence to your filesystem by combining three layers: File intelligence — derivative data like OCR, transcripts, extracted metadata, thumbnails, previews, classifications, and sidecars. Directory intelligence — contextual knowledge attached to folders and subtrees ("active projects", "dormant archives", etc). Access intelligence — permissions and policy that apply across devices and clouds, routing agents through structured access instead of raw shell commands. When an agent navigates through Spacedrive, it receives the file listing, subtree context, effective permissions, and summaries. Users can explain how they organize their system. Agents can add attributed notes. Jobs generate summaries from structure and activity. The intelligence stays attached to the filesystem, not buried in temporary session memory. Safety Screening When enabled, every record passes through a safety pipeline before becoming searchable: Prompt Guard 2 — local classifier detects prompt injection in emails, messages, and documents before they enter the index. Trust tiers — authored content (your notes) gets balanced screening, external content (email inbox) gets strict screening. Quarantine system — flagged records excluded from AI agent queries, reviewable in desktop app. Content fencing — search results include trust metadata so agents know what's safe vs untrusted. No other local data tool screens indexed content before exposing it to AI. Architecture The core is built on four principles: Virtual Distributed Filesystem (VDFS) — files and folders become first-class objects with rich metadata, independent of physical location. Every file gets a universal address ( SdPath ) that works across devices. Content Identity System — adaptive hashing (BLAKE3 with strategic sampling for large files) creates a unique fingerprint for every piece of content. Enables deduplication, redundancy tracking, and content-based operations. Transactional Actions — every file operation can be previewed before execution. See space savings, conflicts, and estimated time, then approve or cancel. Operations become durable jobs that survive network interruptions and device restarts. Leaderless Sync — peer-to-peer synchronization without central coordinators. Device-specific data uses state replication. Shared metadata uses an HLC-ordered log with deterministic conflict resolution. The implementation is a single Rust crate with CQRS/DDD architecture. Every operation (file copy, tag create, search query) is a registered action or query with type-safe input/output that auto-generates TypeScript types for the frontend. Component Technology Language Rust Async runtime Tokio Database SQLite (SeaORM + sqlx) P2P Iroh (QUIC, hole-punching, local discovery) Content hashing BLAKE3 Vector search LanceDB + FastEmbed Cloud storage OpenDAL Cryptography Ed25519, X25519, ChaCha20-Poly1305, AES-GCM Media FFmpeg, libheif, Pdfium, Whisper Desktop Tauri 2 Mobile React Native + Expo Frontend React 19, Vite, TanStack Query, Tailwind CSS v4 Design system SpaceUI (shared component library) Type generation Specta spacedrive/ ├── core/ # Rust engine (CQRS/DDD) ├── apps/ │ ├── tauri/ # Desktop app (macOS, Windows, Linux) │ ├── mobile/ # React Native (iOS, Android) │ ├── cli/ # CLI and daemon │ ├── server/ # Headless server │ └── web/ # Browser client ├── packages/ │ ├── interface/ # Shared React UI │ ├── ts-client/ # Auto-generated TypeScript client │ ├── ui/ # Component library │ └── assets/ # Icons, images, SVGs ├── crates/ # Standalone Rust crates (ffmpeg, crypto, etc.) ├── adapters/ # Script-based data source adapters └── schemas/ # TOML data type schemas Getting Started Requires Rust 1.81+, Bun 1.3+, just , and Python 3.9+ (for adapters). git clone https://github.com/spacedriveapp/spacedrive cd spacedrive just setup # bun install + native deps + cargo config just dev-desktop # launch the desktop app (auto-starts daemon) just test # run all workspace tests Privacy & Security Spacedrive is local-first. Your data stays on your devices. End-to-End Encryption — all P2P traffic encrypted via QUIC/TLS At-Rest Encryption — libraries can be encrypted on disk (SQLCipher) No Telemetry — zero tracking or analytics Self-Hostable — run your own relay servers Data Sovereignty — you control where your data lives Optional cloud integration is available for backup and remote access, but it's never required. The cloud service runs unmodified Spacedrive core as a standard P2P device—no special privileges. Contributing Join Discord to chat with developers and community Contributing Guide Adapter Guide — write a data source adapter SpaceUI — shared design system (clone alongside Spacedrive to work on UI) License FSL-1.1-ALv2 — Functional Source License , converting to Apache 2.0 after two years.
Free
Windows
macOS
Linux
Android
iOS
langgraph
langgraph is a free, open-source software / service you can self-host or use without paying. Low-level orchestration framework for building stateful agents. Trusted by companies shaping the future of agents – including Klarna, Replit, Elastic, and more – LangGraph is a low-level orchestration framework for building, managing, and deploying long-running, stateful agents. pip install -U langgraph Tip If you're looking to quickly build agents, check out Deep Agents — a higher-level package built on LangGraph for agents that can plan, use subagents, and leverage file systems for complex tasks. For an equivalent JS/TS library, check out LangGraph.js and the JS docs . Why use LangGraph? LangGraph provides low-level supporting infrastructure for any long-running, stateful workflow or agent: Durable execution — Build agents that persist through failures and can run for extended periods, automatically resuming from exactly where they left off. Human-in-the-loop — Seamlessly incorporate human oversight by inspecting and modifying agent state at any point during execution. Comprehensive memory — Create truly stateful agents with both short-term working memory for ongoing reasoning and long-term persistent memory across sessions. Debugging with LangSmith — Gain deep visibility into complex agent behavior with visualization tools that trace execution paths, capture state transitions, and provide detailed runtime metrics. Production-ready deployment — Deploy sophisticated agent systems confidently with scalable infrastructure designed to handle the unique challenges of stateful, long-running workflows. Tip For developing, debugging, and deploying AI agents and LLM applications, see LangSmith . LangGraph ecosystem While LangGraph can be used standalone, it also integrates seamlessly with any LangChain product, giving developers a full suite of tools for building agents. To improve your LLM application development, pair LangGraph with: Deep Agents – Build agents that can plan, use subagents, and leverage file systems for complex tasks. LangChain – Provides integrations and composable components to streamline LLM application development. LangSmith – Helpful for agent evals and observability. Debug poor-performing LLM app runs, evaluate agent trajectories, gain visibility in production, and improve performance over time. LangSmith Deployment – Deploy and scale agents effortlessly with a purpose-built deployment platform for long-running, stateful workflows. Discover, reuse, configure, and share agents across teams – and iterate quickly with visual prototyping in LangSmith Studio . Documentation docs.langchain.com – Comprehensive documentation, including conceptual overviews and guides reference.langchain.com/python/langgraph – API reference docs for LangGraph packages LangGraph Quickstart – Get started building with LangGraph Chat LangChain – Chat with the LangChain documentation and get answers to your questions Discussions : Visit the LangChain Forum to connect with the community and share all of your technical questions, ideas, and feedback. Additional resources Guides – Quick, actionable code snippets for topics such as streaming, adding memory & persistence, and design patterns (e.g. branching, subgraphs, etc.). LangChain Academy – Learn the basics of LangGraph in our free, structured course. Case studies – Hear how industry leaders use LangGraph to ship AI applications at scale. Contributing Guide – Learn how to contribute to LangChain projects and find good first issues. Code of Conduct – Our community guidelines and standards for participation. Acknowledgements LangGraph is inspired by Pregel and Apache Beam . The public interface draws inspiration from NetworkX . LangGraph is built by LangChain Inc, the creators of LangChain, but can be used without LangChain.
Free
Windows
macOS
Linux
openscreen
openscreen is a free, open-source alternative to Screen Studio . Note OpenScreen is now archived and no longer maintained. For continued maintenance and development, a community-driven spin-off led by one of the core contributors is available here: https://github.com/EtienneLescot/openscreen Warning This started as a side project that blew up; not production grade and you'll hit bugs, but hopefully it covers what you need. This project will soon be archived. OpenScreen OpenScreen is your free, open-source alternative to Screen Studio. If you don't want to pay $29/month for Screen Studio but want a version that does what most people seem to need - quick, polished product demos and walkthroughs you'd post on X, Reddit or Youtube. OpenScreen does not offer every Screen Studio feature, but covers a lot of the core functionality. Screen Studio is an awesome product and this is definitely not a 1:1 clone. If you just want something fully free and open source, this project should cover most of your needs. 100% free for both personal and commercial use. Use it, modify it, distribute it. Please respect the License. Note Software should be accessible. OpenScreen has no paid tiers, premium features, upsells, or functionality locked behind a paywall. Core Features Record a specific window, or your whole screen. Record microphone and system audio. Webcam overlay with picture-in-picture, drag-to-position, mirroring, and shape options. Auto or manual zooms with adjustable depth, duration, easing, and pixel-precise position; auto-zoom follows your cursor as you work. Custom cursor size, smoothing, and click effects, with cursor themes and post-recording path smoothing. Automatic captions for voiceovers, generated on-device with no upload (works offline). Wallpapers, solid colors, gradients, or your own background image. Motion blur. Crop, trim, and per-segment speed control on the timeline. Text, arrow, and image annotations, with text animation presets. Timeline snapping guides and an audio waveform to make trimming easier. Customizable keyboard shortcuts. Export to MP4 or GIF in multiple aspect ratios and resolutions. Languages supported: Arabic, English, Spanish, French, Italian, Japanese, Korean, Portuguese (Brazil), Russian, Turkish, Vietnamese, Simplified Chinese, and Traditional Chinese. Installation Download the latest installer for your platform from the GitHub Releases page. macOS The easiest way to install on macOS is via Homebrew : brew install --cask siddharthvaddem/openscreen/openscreen Brew automatically picks the right build for Apple Silicon or Intel, and verifies the download against a notarized signature so Gatekeeper won't block it. To update later: brew upgrade --cask openscreen To uninstall: brew uninstall --cask openscreen (add --zap to also remove app data) Manual install (if you prefer) If you'd rather grab the .dmg directly from the Releases page and encounter Gatekeeper blocking the app, you can bypass it by running the following command in your terminal after installation: xattr -rd com.apple.quarantine /Applications/Openscreen.app Note: Give your terminal Full Disk Access in System Settings > Privacy & Security to grant you access and then run the above command. After running this command, proceed to System Preferences > Security & Privacy to grant the necessary permissions for "screen recording" and "accessibility". Once permissions are granted, you can launch the app. Note Upgrading from an older version and hitting permission issues? If you already had OpenScreen installed and the new version won't record (Screen Recording or Accessibility keep failing even after you grant them), uninstall the old version, remove OpenScreen's existing entries under System Settings > Privacy & Security (both Screen Recording and Accessibility), then do a fresh install and grant the permissions again when prompted. Windows Install via winget : winget install SiddharthVaddem.OpenScreen To update later: winget upgrade SiddharthVaddem.OpenScreen To uninstall: winget uninstall SiddharthVaddem.OpenScreen If you'd rather grab the .exe installer directly, download it from the Releases page . Linux Three packages are published to the Releases page for each version. Pick the one that matches your distro: Debian / Ubuntu / Pop!_OS ( .deb ) sudo apt install ./Openscreen-Linux-latest.deb Arch / Manjaro ( .pacman ) sudo pacman -U Openscreen-Linux-latest.pacman Any distro ( .AppImage ) chmod +x Openscreen-Linux- * .AppImage ./Openscreen-Linux- * .AppImage NixOS / Nix (flake) Try without installing: nix run github:siddharthvaddem/openscreen Install into your user profile: nix profile install github:siddharthvaddem/openscreen For a NixOS system config (flake): { inputs . openscreen . url = "github:siddharthvaddem/openscreen" ; outputs = { nixpkgs , openscreen , ... } : { nixosConfigurations . < host > = nixpkgs . lib . nixosSystem { modules = [ openscreen . nixosModules . default { programs . openscreen . enable = true ; } ] ; } ; } ; } For Home Manager, use openscreen.homeManagerModules.default with the same programs.openscreen.enable = true; . You may need to grant screen recording permissions depending on your desktop environment. Sandbox error: If the AppImage fails to launch with a "sandbox" error, run it with --no-sandbox : ./Openscreen-Linux- * .AppImage --no-sandbox Platform differences Everything in the editor and export is the same on macOS, Windows, and Linux: zooms, backgrounds, motion blur, crop/trim/speed, blur regions, annotations, auto-captions, projects, export, and all languages. The differences are in capture , where macOS and Windows use a native pipeline that Linux doesn't have: Native recording : macOS (ScreenCaptureKit) and Windows (Windows Graphics Capture) record through a native pipeline for higher quality and clean window-level capture. Linux records through the browser pipeline instead. Custom cursors : on macOS and Windows the real cursor is captured (shape, type, and clicks), which powers the cursor themes, click effects, and editable cursor overlay. On Linux only the cursor position is captured (used for auto-zoom), so those cursor options aren't available. Webcam : captured natively on macOS and Windows; on Linux it's recorded through the browser, but still works as a picture-in-picture overlay. System audio support varies by OS: macOS : requires macOS 13+. On macOS 14.2+ you'll be prompted to grant audio capture permission. macOS 12 and below can't capture system audio (mic still works). Windows : works out of the box. Linux : needs PipeWire (default on Ubuntu 22.04+, Fedora 34+). Older PulseAudio-only setups may not capture system audio (mic should still work). License This project is licensed under the MIT License . By using this software, you agree that the authors are not liable for any issues, damages, or claims arising from its use.
Free
Windows
macOS
Linux
payload
payload is a free, open-source alternative to Contentful . Explore the Docs · Community Help · Roadmap · View G2 Reviews Important Star this repo or keep an eye on it to follow along. Payload is the first-ever Next.js native CMS that can install directly in your existing /app folder. It's the start of a new era for headless CMS. Benefits over a regular CMS It's both an app framework & headless CMS Deploy anywhere, including serverless on Vercel for free Combine your front+backend in the same /app folder if you want Don't sign up for yet another SaaS - Payload is open source Query your database in React Server Components Both admin and backend are 100% extensible No vendor lock-in Never touch ancient WP code again Build faster, never hit a roadblock Quickstart Before beginning to work with Payload, make sure you have all of the required software . pnpx create-payload-app@latest If you're new to Payload, you should start with the website template ( pnpx create-payload-app@latest -t website ). It shows how to do everything - including custom Rich Text blocks, on-demand revalidation, live preview, and more. It comes with a frontend built with Tailwind all in one /app folder. One-click deployment options You can deploy Payload serverlessly in one-click via Vercel and Cloudflare—giving everything you need without the hassle of the plumbing. Deploy on Cloudflare Fully self-contained — one click to deploy Payload with Workers , R2 for uploads, and D1 for a globally replicated database. Deploy on Vercel All-in-one on Vercel — one click to deploy Payload with a Next.js front end, Neon database, and Vercel Blob for media storage. One-click templates Jumpstart your next project with a ready-to-go template. These are production-ready, end-to-end solutions designed to get you to market fast. Build any kind of website , ecommerce store , blog , or portfolio — complete with a modern front end built using React Server Components and Tailwind . 🌐 Website 🛍️ Ecommerce 🎉 NEW 🎉 We're constantly adding more templates to our Templates Directory . If you maintain your own, add the payload-template topic to your GitHub repo so others can discover it. 🔗 Explore more: Official Templates Community Templates ✨ Payload Features Completely free and open-source Next.js native, built to run inside your /app folder Use server components to extend Payload UI Query your database directly in server components, no need for REST / GraphQL Fully TypeScript with automatic types for your data Auth out of the box Versions and drafts Localization Block-based layout builder Customizable React admin Lexical rich text editor Conditional field logic Extremely granular Access Control Document and field-level hooks for every action Payload provides Intensely fast API Highly secure thanks to HTTP-only cookies, CSRF protection, and more Request Feature 🗒️ Documentation Check out the Payload website to find in-depth documentation for everything that Payload offers. Migrating from v2 to v3? Check out the 3.0 Migration Guide on how to do it. 🙋 Contributing If you want to add contributions to this repository, please follow the instructions in contributing.md . 📚 Examples The Examples Directory is a great resource for learning how to setup Payload in a variety of different ways, but you can also find great examples in our blog and throughout our social media. If you'd like to run the examples, you can use create-payload-app to create a project from one: npx create-payload-app --example example_name You can see more examples at: Examples Directory Payload Blog Payload YouTube 🔌 Plugins Payload is highly extensible and allows you to install or distribute plugins that add or remove functionality. There are both officially-supported and community-supported plugins available. If you maintain your own plugin, consider adding the payload-plugin topic to your GitHub repository for others to find. Official Plugins Community Plugins 🚨 Need help? There are lots of good conversations and resources in our Github Discussions board and our Discord Server. If you're struggling with something, chances are, someone's already solved what you're up against. 👇 GitHub Discussions GitHub Issues Discord Community Help ⭐ Like what we're doing? Give us a star 👏 Thanks to all our contributors
Free
Linux
cal.diy
cal.diy is a free, open-source alternative to Calendly . Warning Use at your own risk. Cal.diy is the open source community edition of Cal.com and it is intended for users who want to self-host their own Cal.diy instance. It is strictly recommended for personal, non-production use. Please review all installation and configuration steps carefully. Self-hosting requires advanced knowledge of server administration, database management, and securing sensitive data. Proceed only if you are comfortable with these responsibilities. Tip For any commercial and enterprise-ready scheduling infrastructure, use Cal.com, not Cal.diy; hosted by us or get invited to on-prem enterprise access here: https://cal.com/sales Cal.diy The community-driven, open-source scheduling platform. GitHub Issues · Contributing About Cal.diy Cal.diy is the community-driven, fully open-source scheduling platform — a fork of Cal.com with all enterprise/commercial code removed. Cal.diy is 100% MIT-licensed with no proprietary "Enterprise Edition" features. It's designed for individuals and self-hosters who want full control over their scheduling infrastructure without any commercial dependencies. What's different from Cal.com? No enterprise features — Teams, Organizations, Insights, Workflows, SSO/SAML, and other EE-only features have been removed No license key required — Everything works out of the box, no Cal.com account or license needed 100% open source — The entire codebase is licensed under MIT, no "Open Core" split Community-maintained — Contributions are welcome and go directly into this project (see CONTRIBUTING.md ) Note: Cal.diy is a self-hosted project. There is no hosted/managed version. You run it on your own infrastructure. Built With Next.js tRPC React.js Tailwind CSS Prisma.io Daily.co Getting Started To get a local copy up and running, please follow these simple steps. Prerequisites Here’s what you need to run Cal.diy. Node.js (Version: >=18.x) PostgreSQL (Version: >=13.x) Yarn (recommended) If you want to enable any of the available integrations, you may want to obtain additional credentials for each one. More details on this can be found below under the integrations section . Development Setup Clone the repo (or fork https://github.com/calcom/cal.diy/fork ) git clone https://github.com/calcom/cal.diy.git If you are on Windows, run the following command in Git Bash with admin privileges: git clone -c core.symlinks=true https://github.com/calcom/cal.diy.git Go to the project folder cd cal.diy Install packages with yarn yarn Set up your .env file Duplicate .env.example to .env Use openssl rand -base64 32 to generate a key and add it under NEXTAUTH_SECRET in the .env file. Use openssl rand -base64 24 to generate a key and add it under CALENDSO_ENCRYPTION_KEY in the .env file. Windows users: Replace the packages/prisma/.env symlink with a real copy to avoid a Prisma error ( unexpected character / in variable name ): # Git Bash / WSL rm packages/prisma/.env && cp .env packages/prisma/.env Set up Node If your Node version does not meet the project's requirements as instructed by the docs, "nvm" (Node Version Manager) allows using Node at the version required by the project: nvm use You first might need to install the specific version and then use it: nvm install && nvm use You can install nvm from here . Quick start with yarn dx Requires Docker and Docker Compose to be installed Will start a local Postgres instance with a few test users - the credentials will be logged in the console yarn dx Default credentials created: Email Password Role
[email protected]
free Free user
[email protected]
pro Pro user
[email protected]
trial Trial user
[email protected]
ADMINadmin2022! Admin user
[email protected]
onboarding Onboarding incomplete You can use any of these credentials to sign in at http://localhost:3000 Tip : To view the full list of seeded users and their details, run yarn db-studio and visit http://localhost:5555 Development tip Add export NODE_OPTIONS="--max-old-space-size=16384" to your shell script to increase the memory limit for the node process. Alternatively, you can run this in your terminal before running the app. Replace 16384 with the amount of RAM you want to allocate to the node process. Add NEXT_PUBLIC_LOGGER_LEVEL={level} to your .env file to control the logging verbosity for all tRPC queries and mutations. Where {level} can be one of the following: 0 for silly 1 for trace 2 for debug 3 for info 4 for warn 5 for error 6 for fatal When you set NEXT_PUBLIC_LOGGER_LEVEL={level} in your .env file, it enables logging at that level and higher. Here's how it works: The logger will include all logs that are at the specified level or higher. For example: \ If you set NEXT_PUBLIC_LOGGER_LEVEL=2 , it will log from level 2 (debug) upwards, meaning levels 2 (debug), 3 (info), 4 (warn), 5 (error), and 6 (fatal) will be logged. \ If you set NEXT_PUBLIC_LOGGER_LEVEL=3 , it will log from level 3 (info) upwards, meaning levels 3 (info), 4 (warn), 5 (error), and 6 (fatal) will be logged, but level 2 (debug) and level 1 (trace) will be ignored. \ echo ' NEXT_PUBLIC_LOGGER_LEVEL=3 ' >> .env for Logger level to be set at info, for example. Gitpod Setup Click the button below to open this project in Gitpod. This will open a fully configured workspace in your browser with all the necessary dependencies already installed. Manual setup Configure environment variables in the .env file. Replace <user> , <pass> , <db-host> , and <db-port> with their applicable values DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>' If you don't know how to configure the DATABASE_URL, then follow the steps here to create a quick local DB Download and install PostgreSQL locally (if you don't have it already). Create your own local db by executing createDB <DB name> Now open your psql shell with the DB you created: psql -h localhost -U postgres -d <DB name> Inside the psql shell execute \conninfo . And you will get the following info. Now extract all the info and add it to your DATABASE_URL. The url would look something like this postgresql://postgres:postgres@localhost:5432/Your-DB-Name . The port is configurable and does not have to be 5432. If you don't want to create a local DB. Then you can also consider using services like railway.app, Northflank or render. Setup postgres DB with railway.app Setup postgres DB with Northflank Setup postgres DB with render Copy and paste your DATABASE_URL from .env to .env.appStore . Set up the database using the Prisma schema (found in packages/prisma/schema.prisma ) In a development environment, run: yarn workspace @calcom/prisma db-migrate In a production environment, run: yarn workspace @calcom/prisma db-deploy Note for Windows/PowerShell users: If running the database deployment scripts fails with an error stating Environment variable not found: DATABASE_DIRECT_URL , Turbo might be failing to inject the root .env variables. You can bypass this by executing the commands directly from the prisma package directory in PowerShell: cd packages / prisma $ env: DATABASE_URL = " postgresql://postgres:YOUR_PASSWORD@localhost:5432/postgres " ; $ env: DATABASE_DIRECT_URL = " postgresql://postgres:YOUR_PASSWORD@localhost:5432/postgres " npx prisma db push cd .. / .. Run mailhog to view emails sent during development NOTE: Required when E2E_TEST_MAILHOG_ENABLED is "1" docker pull mailhog/mailhog docker run -d -p 8025:8025 -p 1025:1025 mailhog/mailhog Run (in development mode) yarn dev Setting up your first user Approach 1 Open Prisma Studio to look at or modify the database content: yarn db-studio Click on the User model to add a new user record. Fill out the fields email , username , password , and set metadata to empty {} (remembering to encrypt your password with BCrypt ) and click Save 1 Record to create your first user. New users are set on a TRIAL plan by default. You might want to adjust this behavior to your needs in the packages/prisma/schema.prisma file. Open a browser to http://localhost:3000 and login with your just created, first user. Approach 2 Seed the local db by running cd packages/prisma yarn db-seed The above command will populate the local db with dummy users. E2E-Testing Be sure to set the environment variable NEXTAUTH_URL to the correct value. If you are running locally, as the documentation within .env.example mentions, the value should be http://localhost:3000 . # In a terminal just run: yarn test-e2e # To open the last HTML report run: yarn playwright show-report test-results/reports/playwright-html-report Resolving issues E2E test browsers not installed Run npx playwright install to download test browsers and resolve the error below when running yarn test-e2e : Executable doesn't exist at /Users/alice/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium Upgrading from earlier versions Pull the current version: git pull Check if dependencies got added/updated/removed yarn Apply database migrations by running one of the following commands: In a development environment, run: yarn workspace @calcom/prisma db-migrate (This can clear your development database in some cases) In a production environment, run: yarn workspace @calcom/prisma db-deploy Check for .env variables changes yarn predev Start the server. In a development environment, just do: yarn dev For a production build, run for example: yarn build yarn start Enjoy the new version. Deployment Docker The Docker image can be found on DockerHub at https://hub.docker.com/r/calcom/cal.diy . Note for ARM Users : Use the {version}-arm suffix for pulling images. Example: docker pull calcom/cal.diy:v5.6.19-arm . Requirements Make sure you have docker & docker compose installed on the server / system. Both are installed by most docker utilities, including Docker Desktop and Rancher Desktop. Note: docker compose without the hyphen is now the primary method of using docker-compose, per the Docker documentation. Running Cal.diy with Docker Compose Clone the repository git clone --recursive https://github.com/calcom/cal.diy.git Change into the directory cd cal.diy Prepare your configuration: Rename .env.example to .env and then update .env cp .env.example .env Most configurations can be left as-is, but for configuration options see Important Run-time variables below. Required Secret Keys Before starting, you must generate secure values for NEXTAUTH_SECRET and CALENDSO_ENCRYPTION_KEY . Using the default secret placeholder in production is a security risk. Generate NEXTAUTH_SECRET (cookie encryption key): openssl rand -base64 32 Generate CALENDSO_ENCRYPTION_KEY (must be 32 bytes for AES256): openssl rand -base64 24 Update your .env file with these values: NEXTAUTH_SECRET = <your_generated_secret> CALENDSO_ENCRYPTION_KEY = <your_generated_key> Push Notifications (VAPID Keys) If you see an error like: Error: No key set vapidDetails.publicKey This means your environment variables for Web Push are missing. You must generate and set NEXT_PUBLIC_VAPID_PUBLIC_KEY and VAPID_PRIVATE_KEY . Generate them with: npx web-push generate-vapid-keys Then update your .env file: NEXT_PUBLIC_VAPID_PUBLIC_KEY = your_public_key_here VAPID_PRIVATE_KEY = your_private_key_here Do not commit real keys to .env.example — only placeholders. Update the appropriate values in your .env file, then proceed. (optional) Pre-Pull the images by running the following command: docker compose pull Start Cal.diy via docker compose To run the complete stack, which includes a local Postgres database, Cal.diy web app, and Prisma Studio: docker compose up -d To run Cal.diy web app and Prisma Studio against a remote database, ensure that DATABASE_URL is configured for an available database and run: docker compose up -d calcom studio To run only the Cal.diy web app, ensure that DATABASE_URL is configured for an available database and run: docker compose up -d calcom Note: to run in attached mode for debugging, remove -d from your desired run command. Open a browser to http://localhost:3000 , or your defined NEXT_PUBLIC_WEBAPP_URL. The first time you run Cal.diy, a setup wizard will initialize. Define your first user, and you're ready to go! Note for first-time setup (Calendar integration) : During the setup wizard, you may encounter a "Connect your Calendar" step that appears to be required. If you do not wish to connect a calendar at this time, you can skip this step by navigating directly to the dashboard at <NEXT_PUBLIC_WEBAPP_URL>/event-types . Calendar integrations can be added later from the Settings > Integrations page. Updating Cal.diy Stop the Cal.diy stack docker compose down Pull the latest changes docker compose pull Update env vars as necessary. Re-start the Cal.diy stack docker compose up -d Building from source with Docker Clone the repository git clone https://github.com/calcom/cal.diy.git Change into the directory cd cal.diy Rename .env.example to .env and then update .env For configuration options see Build-time variables below. Update the appropriate values in your .env file, then proceed. Build the Cal.diy docker image: Note: Due to application configuration requirements, an available database is currently required during the build process. a) If hosting elsewhere, configure the DATABASE_URL in the .env file, and skip the next step b) If a local or temporary database is required, start a local database via docker compose. docker compose up -d database Build Cal.diy via docker compose (DOCKER_BUILDKIT=0 must be provided to allow a network bridge to be used at build time. This requirement will be removed in the future) DOCKER_BUILDKIT=0 docker compose build calcom Start Cal.diy via docker compose To run the complete stack, which includes a local Postgres database, Cal.diy web app, and Prisma Studio: docker compose up -d To run Cal.diy web app and Prisma Studio against a remote database, ensure that DATABASE_URL is configured for an available database and run: docker compose up -d calcom studio To run only the Cal.diy web app, ensure that DATABASE_URL is configured for an available database and run: docker compose up -d calcom Note: to run in attached mode for debugging, remove -d from your desired run command. Open a browser to http://localhost:3000 , or your defined NEXT_PUBLIC_WEBAPP_URL. The first time you run Cal.diy, a setup wizard will initialize. Define your first user, and you're ready to go! Configuration Important Run-time variables These variables must also be provided at runtime Variable Description Required Default DATABASE_URL database url with credentials - if using a connection pooler, this setting should point there required postgresql://unicorn_user:magical_password@database:5432/calendso NEXT_PUBLIC_WEBAPP_URL Base URL of the site. NOTE: if this value differs from the value used at build-time, there will be a slight delay during container start (to update the statically built files). optional http://localhost:3000 NEXTAUTH_URL Location of the auth server. By default, this is the Cal.diy docker instance itself. optional {NEXT_PUBLIC_WEBAPP_URL}/api/auth NEXTAUTH_SECRET Cookie encryption key. Must match build variable. Generate with: openssl rand -base64 32 required secret CALENDSO_ENCRYPTION_KEY Authentication encryption key (32 bytes for AES256). Must match build variable. Generate with: openssl rand -base64 24 required secret Build-time variables If building the image yourself, these variables must be provided at the time of the docker build, and can be provided by updating the .env file. Currently, if you require changes to these variables, you must follow the instructions to build and publish your own image. Variable Description Required Default DATABASE_URL database url with credentials - if using a connection pooler, this setting should point there required postgresql://unicorn_user:magical_password@database:5432/calendso MAX_OLD_SPACE_SIZE Needed for Nodejs/NPM build options required 4096 NEXTAUTH_SECRET Cookie encryption key required secret CALENDSO_ENCRYPTION_KEY Authentication encryption key required secret NEXT_PUBLIC_WEBAPP_URL Base URL injected into static files optional http://localhost:3000 NEXT_PUBLIC_WEBSITE_TERMS_URL custom URL for terms and conditions website optional NEXT_PUBLIC_WEBSITE_PRIVACY_POLICY_URL custom URL for privacy policy website optional CALCOM_TELEMETRY_DISABLED Allow Cal.diy to collect anonymous usage data (set to 1 to disable) optional Troubleshooting SSL edge termination If running behind a load balancer which handles SSL certificates, you will need to add the environmental variable NODE_TLS_REJECT_UNAUTHORIZED=0 to prevent requests from being rejected. Only do this if you know what you are doing and trust the services/load-balancers directing traffic to your service. Failed to commit changes: Invalid 'prisma.user.create()' Certain versions may have trouble creating a user if the field metadata is empty. Using an empty json object {} as the field value should resolve this issue. Also, the id field will autoincrement, so you may also try leaving the value of id as empty. CLIENT_FETCH_ERROR If you experience this error, it may be the way the default Auth callback in the server is using the WEBAPP_URL as a base url. The container does not necessarily have access to the same DNS as your local machine, and therefore needs to be configured to resolve to itself. You may be able to correct this by configuring NEXTAUTH_URL=http://localhost:3000/api/auth , to help the backend loop back to itself. docker-calcom-1 | @calcom/web:start: [next-auth][error][CLIENT_FETCH_ERROR] docker-calcom-1 | @calcom/web:start: https://next-auth.js.org/errors#client_fetch_error request to http://testing.localhost:3000/api/auth/session failed, reason: getaddrinfo ENOTFOUND testing.localhost { docker-calcom-1 | @calcom/web:start: error: { docker-calcom-1 | @calcom/web:start: message: 'request to http://testing.localhost:3000/api/auth/session failed, reason: getaddrinfo ENOTFOUND testing.localhost', docker-calcom-1 | @calcom/web:start: stack: 'FetchError: request to http://testing.localhost:3000/api/auth/session failed, reason: getaddrinfo ENOTFOUND testing.localhost\n' + docker-calcom-1 | @calcom/web:start: ' at ClientRequest.<anonymous> (/calcom/node_modules/next/dist/compiled/node-fetch/index.js:1:65756)\n' + docker-calcom-1 | @calcom/web:start: ' at ClientRequest.emit (node:events:513:28)\n' + docker-calcom-1 | @calcom/web:start: ' at ClientRequest.emit (node:domain:489:12)\n' + docker-calcom-1 | @calcom/web:start: ' at Socket.socketErrorListener (node:_http_client:494:9)\n' + docker-calcom-1 | @calcom/web:start: ' at Socket.emit (node:events:513:28)\n' + docker-calcom-1 | @calcom/web:start: ' at Socket.emit (node:domain:489:12)\n' + docker-calcom-1 | @calcom/web:start: ' at emitErrorNT (node:internal/streams/destroy:157:8)\n' + docker-calcom-1 | @calcom/web:start: ' at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n' + docker-calcom-1 | @calcom/web:start: ' at processTicksAndRejections (node:internal/process/task_queues:83:21)', docker-calcom-1 | @calcom/web:start: name: 'FetchError' docker-calcom-1 | @calcom/web:start: }, docker-calcom-1 | @calcom/web:start: url: 'http://testing.localhost:3000/api/auth/session', docker-calcom-1 | @calcom/web:start: message: 'request to http://testing.localhost:3000/api/auth/session failed, reason: getaddrinfo ENOTFOUND testing.localhost' docker-calcom-1 | @calcom/web:start: } Railway You can deploy Cal.diy on Railway . The team at Railway also have a detailed blog post on deploying on their platform. Northflank You can deploy Cal.diy on Northflank . The team at Northflank also have a detailed blog post on deploying on their platform. Vercel Currently Vercel Pro Plan is required to be able to Deploy this application with Vercel, due to limitations on the number of serverless functions on the free plan. Render Elestio License Cal.diy is fully open source, licensed under the MIT License . Unlike Cal.com's "Open Core" model, Cal.diy has no commercial/enterprise code . The entire codebase is available under the same open-source license. Enabling Content Security Policy Set CSP_POLICY="non-strict" env variable, which enables Strict CSP except for unsafe-inline in style-src . If you have custom changes in your instance, you may need to modify your code to make it CSP-compatible. Currently, strict CSP is enabled only on the login page. On other SSR pages, it is enabled in report-only mode to detect potential issues. It is not yet supported on SSG pages. Integrations Obtaining the Google API Credentials Open Google API Console . If you don't have a project in your Google Cloud subscription, you'll need to create one before proceeding further. Under Dashboard pane, select Enable APIS and Services. In the search box, type calendar and select the Google Calendar API search result. Enable the selected API. Next, go to the OAuth consent screen from the side pane. Select the app type (Internal or External) and enter the basic app details on the first page. In the second page on Scopes, select Add or Remove Scopes. Search for Calendar.event and select the scope with scope value .../auth/calendar.events , .../auth/calendar.readonly and select Update. In the third page (Test Users), add the Google account(s) you'll be using. Make sure the details are correct on the last page of the wizard and your consent screen will be configured. Now select Credentials from the side pane and then select Create Credentials. Select the OAuth Client ID option. Select Web Application as the Application Type. Under Authorized redirect URI's, select Add URI and then add the URI <Cal.diy URL>/api/integrations/googlecalendar/callback and <Cal.diy URL>/api/auth/callback/google replacing Cal.diy URL with the URI at which your application runs. The key will be created and you will be redirected back to the Credentials page. Select the newly generated client ID under OAuth 2.0 Client IDs. Select Download JSON. Copy the contents of this file and paste the entire JSON string in the .env file as the value for GOOGLE_API_CREDENTIALS key. Adding google calendar to Cal.diy App Store After adding Google credentials, you can now add the Google Calendar app to the App Store. You can repopulate the App Store by running cd packages/prisma yarn seed-app-store You will need to complete a few more steps to activate Google Calendar App. Make sure to complete section "Obtaining the Google API Credentials". After that do the following Add extra redirect URL <Cal.diy URL>/api/auth/callback/google Under 'OAuth consent screen', click "PUBLISH APP" Obtaining Microsoft Graph Client ID and Secret Open Azure App Registration and select New registration Name your application Set Who can use this application or access this API? to Accounts in any organizational directory (Any Azure AD directory - Multitenant) Set the Web redirect URI to <Cal.diy URL>/api/integrations/office365calendar/callback replacing Cal.diy URL with the URI at which your application runs. Use Application (client) ID as the MS_GRAPH_CLIENT_ID attribute value in .env Click Certificates & secrets create a new client secret and use the value as the MS_GRAPH_CLIENT_SECRET attribute Obtaining Zoom Client ID and Secret Open Zoom Marketplace and sign in with your Zoom account. On the upper right, click "Develop" => "Build App". Select "General App" , click "Create". Name your App. Choose "User-managed app" for "Select how the app is managed". De-select the option to publish the app on the Zoom App Marketplace, if asked. Now copy the Client ID and Client Secret to your .env file into the ZOOM_CLIENT_ID and ZOOM_CLIENT_SECRET fields. Set the "OAuth Redirect URL" under "OAuth Information" as <Cal.diy URL>/api/integrations/zoomvideo/callback replacing Cal.diy URL with the URI at which your application runs. Also add the redirect URL given above as an allow list URL and enable "Subdomain check". Make sure, it says "saved" below the form. You don't need to provide basic information about your app. Instead click on "Scopes" and then on "+ Add Scopes". On the left, click the category "Meeting" and check the scope meeting:write:meeting . click the category "User" and check the scope user:read:settings . Click "Done". You're good to go. Now you can easily add your Zoom integration in the Cal.diy settings. Obtaining Daily API Credentials Open Daily.co and create an account. From within your dashboard, go to the developers tab. Copy your API key. Now paste the API key to your .env file into the DAILY_API_KEY field in your .env file. If you have the Daily Scale Plan set the DAILY_SCALE_PLAN variable to true in order to use features like video recording. Obtaining Basecamp Client ID and Secret Visit the 37 Signals Integrations Dashboard and sign in. Register a new application by clicking the Register one now link. Fill in your company details. Select Basecamp 4 as the product to integrate with. Set the Redirect URL for OAuth <Cal.diy URL>/api/integrations/basecamp3/callback replacing Cal.diy URL with the URI at which your application runs. Click on done and copy the Client ID and secret into the BASECAMP3_CLIENT_ID and BASECAMP3_CLIENT_SECRET fields. Set the BASECAMP3_CLIENT_SECRET env variable to {your_domain} ({support_email}) . Obtaining HubSpot Client ID and Secret Open HubSpot Developer and sign into your account, or create a new one. From within the home of the Developer account page, go to "Manage apps". Click "Create legacy app" button top right and select public app. Fill in any information you want in the "App info" tab Go to tab "Auth" Now copy the Client ID and Client Secret to your .env file into the HUBSPOT_CLIENT_ID and HUBSPOT_CLIENT_SECRET fields. Set the Redirect URL for OAuth <Cal.diy URL>/api/integrations/hubspot/callback replacing Cal.diy URL with the URI at which your application runs. In the "Scopes" section at the bottom of the page, make sure you select "Read" and "Write" for scopes called crm.objects.contacts and crm.lists . Click the "Save" button at the bottom footer. You're good to go. Now you can see any booking in Cal.diy created as a meeting in HubSpot for your contacts. Obtaining Webex Client ID and Secret See Webex Readme Obtaining ZohoCRM Client ID and Secret Open Zoho API Console and sign into your account, or create a new one. From within the API console page, go to "Applications". Click "ADD CLIENT" button top right and select "Server-based Applications". Fill in any information you want in the "Client Details" tab Go to tab "Client Secret" tab. Now copy the Client ID and Client Secret to your .env file into the ZOHOCRM_CLIENT_ID and ZOHOCRM_CLIENT_SECRET fields. Set the Redirect URL for OAuth <Cal.diy URL>/api/integrations/zohocrm/callback replacing Cal.diy URL with the URI at which your application runs. In the "Settings" section check the "Multi-DC" option if you wish to use the same OAuth credentials for all data centers. Click the "Save"/ "UPDATE" button at the bottom footer. You're good to go. Now you can easily add your ZohoCRM integration in the Cal.diy settings. Obtaining Zoho Calendar Client ID and Secret Follow these steps Obtaining Zoho Bigin Client ID and Secret Follow these steps Obtaining Pipedrive Client ID and Secret Follow these steps Rate Limiting with Unkey Cal.diy uses Unkey for rate limiting. This is an optional feature and is not required for self-hosting. If you want to enable rate limiting: Sign up for an account at unkey.com Create a Root key with permissions for ratelimit.create_namespace and ratelimit.limit Copy the root key to your .env file into the UNKEY_ROOT_KEY field Note: If you don't configure Unkey, Cal.diy will work normally without rate limiting enabled. Contributing We welcome contributions! Whether it's fixing a typo, improving documentation, or building new features, your help makes Cal.diy better. Important: Cal.diy is a community fork. Contributions to this repo do not flow to Cal.com's production platform. See CONTRIBUTING.md for details. Check out our Contributing Guide for detailed steps. Please follow our coding standards and commit message conventions to keep the project consistent. Even small improvements matter — thank you for helping us grow! Good First Issues We have a list of help wanted that contain small features and bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process. Contributors Translations Don't code but still want to contribute? help translate Cal.diy into your language. Acknowledgements Cal.diy is built on the foundation created by Cal.com and the many contributors to the original project. Special thanks to: Vercel Next.js Day.js Tailwind CSS Prisma
Free
Windows
macOS
Linux
bevy
bevy is a free, open-source alternative to Unity . What is Bevy? Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever! WARNING Bevy is still in the early stages of development. Important features are missing. Documentation is sparse. A new version of Bevy containing breaking changes to the API is released approximately once every 3 months . We provide migration guides , but we can't guarantee migrations will always be easy. Use only if you are willing to work in this environment. MSRV: Bevy relies heavily on improvements in the Rust language and compiler. As a result, the Minimum Supported Rust Version (MSRV) is generally close to "the latest stable release" of Rust. Design Goals Capable : Offer a complete 2D and 3D feature set Simple : Easy for newbies to pick up, but infinitely flexible for power users Data Focused : Data-oriented architecture using the Entity Component System paradigm Modular : Use only what you need. Replace what you don't like Fast : App logic should run quickly, and when possible, in parallel Productive : Changes should compile quickly ... waiting isn't fun About Features : A quick overview of Bevy's features. News : A development blog that covers our progress, plans and shiny new features. Docs Quick Start Guide : Bevy's official Quick Start Guide. The best place to start learning Bevy. Bevy Rust API Docs : Bevy's Rust API docs, which are automatically generated from the doc comments in this repo. Official Examples : Bevy's dedicated, runnable examples, which are great for digging into specific concepts. Community-Made Learning Resources : More tutorials, documentation, and examples made by the Bevy community. Community Before contributing or participating in discussions with the community, you should familiarize yourself with our Code of Conduct . Discord : Bevy's official discord server. Reddit : Bevy's official subreddit. GitHub Discussions : The best place for questions about Bevy, answered right here! Bevy Assets : A collection of awesome Bevy projects, tools, plugins and learning materials. Contributing If you'd like to help build Bevy, check out the Contributor's Guide . For simple problems, feel free to open an issue or PR and tackle it yourself! For more complex architecture decisions and experimental mad science, please open a GitHub Discussion so we can brainstorm together effectively! Getting Started We recommend checking out the Quick Start Guide for a brief introduction. Follow the Setup guide to ensure your development environment is set up correctly. Once set up, you can quickly try out the examples by cloning this repo and running the following commands: # Switch to the correct version (latest release, default is main development branch) git checkout latest # Runs the "breakout" example cargo run --example breakout To draw a window with standard functionality enabled, use: use bevy :: prelude :: * ; fn main ( ) { App :: new ( ) . add_plugins ( DefaultPlugins ) . run ( ) ; } Fast Compiles Bevy can be built just fine using default configuration on stable Rust. However for really fast iterative compiles, you should enable the "fast compiles" setup by following the instructions here . Bevy Cargo Features This list outlines the different cargo features supported by Bevy. These allow you to customize the Bevy feature set for your use-case. Thanks Bevy is the result of the hard work of many people. A huge thanks to all Bevy contributors, the many open source projects that have come before us, the Rust gamedev ecosystem , and the many libraries we build on. A huge thanks to Bevy's generous sponsors . Bevy will always be free and open source, but it isn't free to make. Please consider sponsoring our work if you like what we're building. This project is tested with BrowserStack. License Bevy is free, open source and permissively licensed! Except where noted (below and/or in individual files), all code in this repository is dual-licensed under either: MIT License ( LICENSE-MIT or http://opensource.org/licenses/MIT ) Apache License, Version 2.0 ( LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0 ) at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both. Some of the engine's code carries additional copyright notices and license terms due to their external origins. These are generally BSD-like, but exact details vary by crate: If the README of a crate contains a 'License' header (or similar), the additional copyright notices and license terms applicable to that crate will be listed. The above licensing requirement still applies to contributions to those crates, and sections of those crates will carry those license terms. The license field of each crate will also reflect this. The assets included in this repository (for our examples ) typically fall under different open licenses. These will not be included in your game (unless copied in by you), and they are not distributed in the published bevy crates. See CREDITS.md for the details of the licenses of those files. Your contributions Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Free
Windows
macOS
Linux
Android
iOS
OpenMontage
OpenMontage is a free, open-source alternative to Runway . Monty the Clapper — the official mascot of OpenMontage OpenMontage The first open-source, agentic video production system. Paste A Video · Quick Start · Try These Prompts · Pipelines · How It Works · Sponsors · Providers · Review Guide · Agent Guide Follow The Build Sponsors Want to support OpenMontage? Sponsor the project . Click to collapse Bloome lets multiple AI agents (Claude, ChatGPT, DeepSeek, and more) collaborate in one conversation for agentic video pipelines. It has zero setup, runs in the cloud, works on web and mobile, and lets you share a configured agent with your whole team. Try Bloome . Atlas Cloud is a full-modal AI inference platform that gives developers a single AI API for video generation, image generation, and LLM APIs. Instead of managing multiple vendor integrations, you connect once and get unified access to 300+ curated models across all modalities. Check out Atlas Cloud's new coding plan promotion for more budget-friendly API access. Turn your AI coding assistant into a full video production studio. Describe what you want in plain language — your agent handles research, scripting, asset generation, editing, and final composition. Important distinction: OpenMontage can make image-based videos, but it can also make a real video video for free/open-source workflows: the agent builds a corpus from free stock footage and open archives, retrieves actual motion clips, edits them into a timeline, and renders a finished piece. That is not the usual "animate a handful of stills and call it video" trick. signal-from-tomorrow_final_with_music_upload_v2.mp4 "SIGNAL FROM TOMORROW" — a cinematic sci-fi trailer fully produced through OpenMontage: concept, script, scene plan, Veo-generated motion clips, soundtrack, and Remotion composition. the_last_banana_v3_github.mp4 "THE LAST BANANA" — a 60-second Pixar-style animated short about a lonely banana who finds friendship with a kiwi. 6 Kling v3-generated motion clips (via fal.ai), Google Chirp3-HD narration, royalty-free piano music, TikTok-style word-level captions, and Remotion composition. Total cost: $1.33 . reimagine-your-universe-github.mp4 "Reimagine Your Universe" — a 50-second vertical transformation film in which one visual idea moves across objects, eras, materials, and scale. Five generated motion scenes, sparse Google Chirp narration, a Pixabay score, and a bespoke HyperFrames composition turn separate clips into one authored cinematic journey. Total cost: about $4 . products-come-to-life-github.mp4 "Products Come to Life" — a 60-second product film built from approved hero stills. Five hard-surface products separate into their own engineering and reassemble, with each still pinned as the first and last frame so the model invents motion without losing product identity. Image-to-video generation, bespoke sound, narration, and a custom composition complete the film. openmontage-model-showcase-github.mp4 "Imagine the Possibilities with OpenMontage" — seven generated worlds collected into one music-only showcase. Three image models supply campaign, fashion, and miniature-world artwork; four video models expand the journey through architecture, material transformation, a living greenhouse, and a creature encounter. OpenMontage animates the stills, edits the motion, unifies the soundtrack, and closes with Monty the Clapper. Source generation cost: about $5 . final-github-under-10mb.mp4 "How Salt Made History" — a 100-second cinematic documentary about the mineral that funded empires, shaped trade routes, sparked revolutions, and gave us the word “salary.” Real-world footage is woven together with original narration and hand-authored motion graphics for its etched title, etymology reveal, animated maps, historical timeline, and closing thesis. final-github-under-10mb.mp4 "One Prompt Built This Complete 3D World" — a continuous 60-second journey through one coherent, editable fantasy world. Distinct terrain regions, an inhabited village, waterways, ruins, dense vegetation, and a late hero-landmark reveal are assembled from textured 3D assets, then brought together with cinematic lighting, atmospheric music, and a planned camera path. Subscribe to @OpenMontage on YouTube to see new videos as they ship — every video includes the full prompt, pipeline, tools used, and cost so you can reproduce it yourself. Start From A Video You Already Love Starting from a reference video is often faster than starting from a blank prompt. OpenMontage can start from a YouTube video, Short, Reel, TikTok, or local clip and turn it into a grounded production plan: Paste a reference video The agent analyzes transcript, pacing, scenes, keyframes, and style You get 2-3 differentiated concepts, an honest tool path, cost estimates, and a sample before full production "Here's a YouTube Short I love. Make me something like this, but about quantum computing." What you get back is not "best guess prompt spaghetti." You get: What it keeps from the reference: pacing, hook style, structure, tone What it changes : topic, visual treatment, angle, narration approach What it will cost at your target duration, before asset generation starts What it will actually look like with your currently available tools Works with Claude Code, Cursor, Copilot, Windsurf, Codex — any AI coding assistant that can read files and run code. Watch It Happen — The Backlot Living Storyboard Chat tells you what the agent said . Backlot shows you what the production is actually doing — a local board that fills itself in as the pipeline runs. Stages light up, the script lands as a screenplay page, scene cards shimmer while assets generate, and every provider decision and dollar spent is on the wall. When a production starts, the agent opens it for you automatically. No setup, no reporting — the board derives everything from the project files the pipeline already writes. The storyboard is now a real approval gate. Asset generation pauses on a scene-by-scene contact sheet — takes, prompts, per-asset cost, quality scores — so you approve the visuals before the render, not after it's too late: Creative gates hold until you answer. The board shows what's waiting and why; you reply in chat: Every production on your machine, live-first, in the library: python -m backlot open # the library — every project on disk python -m backlot open < project-id > # one production's live board python scripts/backlot_simulate_run.py # no production yet? watch a simulated one live And when a run is done, hit ▶ REPLAY RUN — the whole production replays from its timestamps, scrubbable end to end. See backlot/README.md for how it works. Quick Start Prerequisites Python 3.10+ — python.org FFmpeg — brew install ffmpeg / sudo apt install ffmpeg / ffmpeg.org Node.js 18+ — nodejs.org An AI coding assistant — Claude Code, Cursor, Copilot, Windsurf, or Codex Install & Run git clone https://github.com/calesthio/OpenMontage.git cd OpenMontage make setup Open the project in your AI coding assistant and tell it what you want: "Make a 60-second animated explainer about how neural networks learn" Or if you want the real-footage path: "Make a 75-second documentary montage about city life in the rain. Use real footage only, no narration, elegiac tone, with music." That's it. The agent researches your topic with live web search, generates AI images, writes and narrates the script with voice direction, finds royalty-free background music automatically, burns in word-level subtitles, and renders the final video. Before you see anything, the system runs a multi-point self-review — ffprobe validation, frame sampling, audio level analysis, delivery promise verification, and subtitle checks. Every provider selection is scored across 7 dimensions with an auditable decision log. Every creative decision gets your approval. No make ? macOS/Linux: python3 -m venv .venv && source .venv/bin/activate && python -m pip install -r requirements.txt && cd remotion-composer && npm install && cd .. && python -m pip install piper-tts && cp .env.example .env Windows PowerShell: py -3 -m venv .venv; .\.venv\Scripts\Activate.ps1; python -m pip install -r requirements.txt; cd remotion-composer; npm install; cd ..; python -m pip install piper-tts; Copy-Item .env.example .env Windows: If npm install fails with ERR_INVALID_ARG_TYPE , use npx --yes npm install instead. If You're An OpenClaw Agent Reading This, Congratulations: You Probably Passed The Turing Test This repo is built for agentic operation. If you're an OpenClaw-style agent, here is the shortest path to becoming useful fast: Read the contract first Start with AGENT_GUIDE.md , then PROJECT_CONTEXT.md . Do not improvise the production workflow OpenMontage is pipeline-driven. Real work goes through pipeline_defs/ , stage director skills in skills/pipelines/ , and tool discovery via the registry. Check the actual capability envelope Run: python -c " from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2)) " python -c " from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.provider_menu(), indent=2)) " Treat every video request as a pipeline selection problem Pick the right pipeline first, then read the manifest, then read the stage skill, then use tools. Add API Keys (optional — more keys = more tools) # .env — every key is optional, add what you have # Image + video gateway: FAL_KEY=your-key # FLUX images + Google Veo, Kling, MiniMax video + Recraft images ATLASCLOUD_API_KEY=your-key # Atlas Cloud — Seedream/Nano Banana/GPT Image + Kling/Seedance/Hailuo video # Kling official direct API: KLING_API_KEY=your-key # Official Kling video, image, TTS, avatar, lip sync KLING_API_BASE_URL= # Optional; default Singapore API endpoint # Free stock media: PEXELS_API_KEY=your-key # Free stock footage and images PIXABAY_API_KEY=your-key # Free stock footage and images UNSPLASH_ACCESS_KEY=your-key # Free stock images # Music: SUNO_API_KEY=your-key # Full songs, instrumentals, any genre # Voice & images: ELEVENLABS_API_KEY=your-key # Premium TTS, AI music, sound effects OPENAI_API_KEY=your-key # OpenAI TTS, GPT Image 2 images XAI_API_KEY=your-key # xAI Grok image edits/generation + Grok video generation GOOGLE_API_KEY=your-key # Google Imagen images, Google TTS (700+ voices) # More video providers: ARK_API_KEY=your-key # Volcengine Ark direct — Seedance 2.0 Standard/Fast/Mini HEYGEN_API_KEY=your-key # HeyGen — VEO, Sora, Runway, Kling via single gateway RUNWAY_API_KEY=your-key # Runway Gen-4 direct Have a GPU? Unlock free local video generation make install-gpu # Then add to .env: VIDEO_GEN_LOCAL_ENABLED=true VIDEO_GEN_LOCAL_MODEL=wan2.1-1.3b # or wan2.1-14b, hunyuan-1.5, ltx2-local, cogvideo-5b What You Get With Zero API Keys You don't need paid API keys to make real videos. Out of the box, make setup gives you: Capability Free Tool What It Does Narration Piper TTS Free offline text-to-speech — real human-sounding narration Open footage Archive.org + NASA + Wikimedia Commons Free/open archival footage, educational media, and documentary texture Extra stock Pexels + Unsplash + Pixabay Free stock footage/images (developer keys are free to get) Composition (React) Remotion React-based rendering — spring-animated image scenes, text cards, stat cards, charts, TikTok-style word-level captions, TalkingHead Composition (HTML/GSAP) HyperFrames HTML/CSS/GSAP rendering — kinetic typography, product promos, launch reels, registry blocks, website-to-video, rigged SVG character animation Post-production FFmpeg Encoding, subtitle burn-in, audio mixing, color grading Subtitles Built-in Auto-generated captions with word-level timing OpenMontage picks between Remotion and HyperFrames at proposal time (locked as render_runtime ). Remotion is the default for data-driven explainers and anything using the existing React scene stack; HyperFrames is the default for motion-graphics-heavy briefs that express naturally as HTML + GSAP, including the character-animation pipeline's SVG/GSAP rig output. See skills/core/hyperframes.md for the full decision matrix. Two free-ish paths: Image-based video: Piper narrates your script, images provide the visuals, and Remotion animates them into a polished edit. Local character animation: SVG rigs, pose libraries, GSAP timelines, and HyperFrames render cartoon character acting to projects/<project-name>/renders/final.mp4 . Real-footage video: the documentary montage pipeline builds a CLIP-searchable corpus from Archive.org, NASA, Wikimedia Commons, and optional free-key sources like Pexels and Unsplash, then cuts together actual motion footage into a finished video. If you want the second one, prompt for a documentary montage , tone poem , or stock-footage collage , and explicitly say use real footage only . Try These Prompts Copy any of these into your AI coding assistant after setup. Each one runs a full production pipeline. Start from a reference video "Here's a YouTube short I love. Make me something like this, but about CRISPR for high school students." "Analyze this Reel and give me 3 original variants I could make for my own product launch." "I like the pacing and hook in this video. Keep that energy, but turn it into a 45-second explainer about black holes." Zero keys needed "Make a 45-second animated explainer about why the sky is blue" "Create a 60-second video about the history of the internet, with narration and captions" "Make a data-driven explainer about coffee consumption around the world" Free real-footage documentary path "Make a 90-second documentary montage about what a city feels like at 4am. Use real footage only, no narration, elegiac tone." "Create a 60-second Adam-Curtis-style archival collage about 1950s consumer optimism. Prefer Archive.org and Wikimedia footage." "Cut together a dreamlike montage about coming home in the rain using real stock footage only. Music yes, narration no." With an image/video provider configured (~$0.15–$1.50) "Create a 30-second Ghibli-style animated video of a magical floating library in the clouds at golden hour" "Make a 30-second anime-style animation of an underwater temple with bioluminescent coral and ancient ruins" "Create an animated explainer about how CRISPR gene editing works, using AI-generated visuals" "Make a product launch teaser for a fictional smart water bottle called AquaPulse" Full setup (~$1–$3) "Create a cinematic 30-second trailer for a sci-fi concept: humanity receives a warning from 1000 years in the future" "Make a 90-second animated explainer about quantum computing for middle school students, with a fun narrator voice and custom soundtrack" Want more? See the full Prompt Gallery for tested prompts with expected costs and output examples, or run make demo to render zero-key demo videos instantly. Pipelines Each pipeline is a complete production workflow, from idea to finished video. Pipeline What It Produces Best For Animated Explainer AI-generated explainer with research, narration, visuals, music Educational content, tutorials, topic breakdowns Animation Motion graphics, kinetic typography, animated sequences Social media, product demos, abstract concepts Avatar Spokesperson Avatar-driven presenter videos Corporate comms, training, announcements Cinematic Trailer, teaser, and mood-driven edits Brand films, teasers, promotional content Clip Factory Batch of ranked short-form clips from one long source Repurposing long content for social media Documentary Montage Thematic montage cut from a CLIP-indexed corpus of free stock footage and open archives (Pexels, Archive.org, NASA, Wikimedia, Unsplash) Video essays, mood pieces, retrieval-first B-roll edits, real-footage videos without paid generation APIs Hybrid Source footage + AI-generated support visuals Enhancing existing footage with graphics Localization & Dub Subtitle, dub, and translate existing video Multi-language distribution Podcast Repurpose Podcast highlights to video Podcast marketing, audiogram videos Screen Demo Polished software screen recordings and walkthroughs Product demos, tutorials, documentation Talking Head Footage-led speaker videos Presentations, vlogs, interviews Every pipeline follows the same structured flow: research -> proposal -> script -> scene_plan -> assets -> edit -> compose Each stage has a dedicated director skill — a markdown instruction file that teaches the agent exactly how to execute that stage. The agent reads the skill, uses the tools, self-reviews, checkpoints state, and asks for human approval at creative decision points. Web research is a first-class stage. Before writing a single word of script, the agent searches YouTube, Reddit, Hacker News, news sites, and academic sources. It gathers data points, audience questions, trending angles, and visual references — then cites everything in a structured research brief. Your videos are grounded in real, current information, not hallucinated facts. Why OpenMontage? Most AI video tools give you a single clip from a prompt. OpenMontage gives you an end-to-end production pipeline — the same structured process a real production team follows, automated by your AI agent. Most "free AI video" stacks quietly mean "animate still images." OpenMontage can do that too, but it can also build a finished video from real footage pulled from free/open sources, ranked semantically, edited intentionally, and rendered as a proper timeline. Edit your own talking-head footage. Generate a fully animated explainer from scratch. Cut a 2-hour podcast into a dozen social clips. Translate and dub your content into 10 languages. Build a cinematic brand teaser from stock footage and AI-generated scenes. If a production team can make it, OpenMontage can orchestrate it. 10+ production pipelines — explainers, talking heads, screen demos, cinematic trailers, animations, podcasts, localization, documentary montages, character animation, and more 100+ production tools — spanning video generation, image creation, text-to-speech, music, audio mixing, subtitles, enhancement, and analysis 60+ provider integrations — cloud APIs, local models, stock libraries, open archives, and production runtimes behind one scored selection layer 700+ agent skill and production-knowledge files — pipeline directors, creative techniques, quality checklists, and deep technology knowledge packs that teach the agent how to use every tool like an expert Reference-driven creation — paste a video you like and the agent turns it into a grounded, differentiated production plan instead of forcing you to invent the perfect prompt from scratch Real-footage documentary creation without paid video models — build actual edited videos from free/open motion footage and archival sources, not just Ken Burns over images Live web research built in — before writing a single word of script, the agent runs 15-25+ web searches across YouTube, Reddit, news sites, and academic sources to ground your video in real, current data Both free/local AND cloud providers — every capability supports open-source local alternatives alongside premium APIs. Use what you have. No vendor lock-in — swap providers freely. The scored selector ranks every provider across 7 dimensions (task fit, output quality, control, reliability, cost efficiency, latency, continuity) and picks the best match automatically. Production-grade quality gates — delivery promise enforcement blocks slideshow-looking renders, pre-compose validation catches broken plans before wasting GPU time, and mandatory post-render self-review (ffprobe + frame extraction + audio analysis) ensures the agent never presents garbage. Every provider choice, style decision, and fallback gets logged in an auditable decision trail. Budget governance built in — cost estimation before execution, spend caps, per-action approval thresholds. No surprise bills. How It Works OpenMontage uses an agent-first architecture . There is no code orchestrator. Your AI coding assistant IS the orchestrator. You: "Make an explainer video about how black holes form" | v Agent reads pipeline manifest (YAML) -- stages, tools, review criteria, success gates | v Agent reads stage director skill (Markdown) -- HOW to execute each stage | v Agent calls Python tools -- scored provider selection ranks every tool across 7 dimensions | v Agent self-reviews using reviewer skill -- schema validation, playbook compliance, quality checks | v Agent checkpoints state (JSON) -- resumable, with decision log and cost snapshot | v Agent presents for your approval -- you stay in control at every creative decision | v Pre-compose validation gate -- delivery promise, slideshow risk, renderer governance | v Render (Remotion or FFmpeg) -- composition engine matched to visual grammar | v Post-render self-review -- ffprobe, frame extraction, audio analysis, promise verification | v Final video output -- only if self-review passes Python provides tools and persistence. All creative decisions, orchestration logic, review criteria, and quality standards live in readable instruction files (YAML manifests + Markdown skills) that you can inspect and customize. Every decision is logged with alternatives considered, confidence scores, and the reasoning behind each choice. Architecture OpenMontage/ ├── tools/ # 100+ registered production tools (the agent's hands) │ ├── video/ # 20+ generation providers + compose, stitch, trim │ ├── audio/ # 10+ speech providers + music, mixing, enhancement │ ├── graphics/ # 15+ image providers + diagrams, code snippets, math │ ├── enhancement/ # Upscale, bg remove, face enhance, color grade │ ├── analysis/ # Transcription, scene detect, frame sampling │ ├── avatar/ # Talking head, lip sync │ └── subtitle/ # SRT/VTT generation │ ├── pipeline_defs/ # YAML pipeline manifests (the agent's playbook) ├── skills/ # Markdown skill files (the agent's knowledge) │ ├── pipelines/ # Per-pipeline stage director skills │ ├── creative/ # Creative technique skills │ ├── core/ # Core tool skills │ └── meta/ # Reviewer, checkpoint protocol │ ├── schemas/ # 20+ JSON Schemas (contract validation) ├── styles/ # Visual style playbooks (YAML) ├── remotion-composer/ # React/Remotion video composition engine ├── lib/ # Core infrastructure (config, checkpoints, pipeline loader) └── tests/ # Contract tests, QA integration tests, eval harness Three-Layer Knowledge Architecture Layer 1: tools/ + pipeline_defs/ "What exists" — executable capabilities + orchestration Layer 2: skills/ "How to use it" — OpenMontage conventions and quality bars Layer 3: .agents/skills/ "How it works" — external technology knowledge packs Each tool declares which Layer 3 skills it relies on. The agent reads Layer 1 to know what's available, Layer 2 to know how OpenMontage wants it used, and Layer 3 for deep technical knowledge when needed. Supported Providers Full setup guide with pricing and free tiers: docs/PROVIDERS.md Video Generation — 20+ providers Provider Type Notes Kling (fal.ai) Cloud API High quality, fast via fal.ai gateway Kling Official Cloud API Official direct API with separate kling_official provider Atlas Cloud Cloud API Unified gateway for Seedance, MiniMax, Hunyuan, and other multimodal models Seedance 2.0 (Volcengine Ark) Cloud API Official direct API with separate seedance_ark provider Seedance 2.5 / 2.0 Cloud API Text, image, and reference-driven video workflows through supported gateways Gemini Omni Flash Cloud API Conversational multimodal video generation and editing Runway Gen-4 Cloud API Cinematic quality, Gen-3 Alpha Turbo / Gen-4 Turbo / Gen-4 Aleph Google Veo 3.1 Cloud API Premium cinematic video via Google GenAI or fal.ai Grok Imagine Video Cloud API Strong reference-image video and xAI-native short-form generation Higgsfield Cloud API Multi-model orchestrator with Soul ID for character consistency MiniMax / H3 Cloud API Cost-effective generation, including text, image, and reference-driven H3 workflows HeyGen Cloud API Multi-model gateway WAN 2.1 / 2.2 Local GPU Free local variants plus accelerated ComfyUI workflows Hunyuan Local GPU Free, high quality CogVideo Local GPU Free, 2B and 5B variants LTX-Video Local GPU / Modal Free locally, or self-hosted cloud Pexels Stock Free stock footage Pixabay Stock Free stock footage Wikimedia Commons Stock Free/open stock footage and archival video Image Generation — 15+ providers Provider Type Notes FLUX Cloud API State-of-the-art quality Google Imagen Cloud API Imagen 4 — high-quality, multiple aspect ratios Grok Imagine Image Cloud API Strong image edits, style transfer, and multi-image compositing GPT Image 2 Cloud API OpenAI's image model Seedream 5.0 Cloud API High-fidelity text-to-image and image editing through supported gateways Nano Banana 2 Cloud API Multimodal image generation and editing Atlas Cloud Cloud API Unified access to multiple image-generation model families Recraft Cloud API Design-focused generation Kling Official Cloud API Official direct API for Kling image generation and reference workflows Local Diffusion Local GPU Stable Diffusion, free Pexels Stock Free stock images Pixabay Stock Free stock images Unsplash Stock Free stock images ManimCE Local Mathematical animations Text-to-Speech — 10+ providers Provider Type Notes ElevenLabs Cloud API Premium voice quality Google TTS Cloud API 700+ voices, 50+ languages — best for localization Kling Official TTS Cloud API Official Kling narration when a voice_id is known OpenAI TTS Cloud API Fast, affordable Piper Local Completely free, offline Azure Speech Cloud API Fast multilingual speech services DashScope / Doubao / Fish Audio Cloud API Additional multilingual and expressive voice options Music, Sound & Post-Production Music & Sound: Provider Type Notes Suno AI Cloud API Full song generation with vocals, lyrics, any genre. Up to 8 minutes. ElevenLabs Music Cloud API AI music generation ElevenLabs SFX Cloud API Sound effect generation Post-Production (always available, always free): Tool What It Does FFmpeg Video composition, encoding, subtitle burn-in, audio muxing Video Stitch Multi-clip assembly, crossfades, picture-in-picture, spatial layouts Video Trimmer Precision cutting and extraction Audio Mixer Multi-track mixing, ducking, fades Audio Enhance Noise reduction, normalization Color Grade LUT-based color grading Subtitle Gen SRT/VTT generation from timestamps Enhancement: Tool What It Does Upscale Real-ESRGAN image/video upscaling Background Remove rembg / U2Net background removal Face Enhance Face quality enhancement Face Restore CodeFormer / GFPGAN face restoration Analysis: Tool What It Does Transcriber WhisperX speech-to-text with word-level timestamps Scene Detect Automatic scene boundary detection Frame Sampler Intelligent frame extraction Video Understand CLIP/BLIP-2 vision-language analysis Avatar & Lip Sync: Tool What It Does Talking Head SadTalker / MuseTalk avatar animation Lip Sync Wav2Lip audio-driven lip synchronization Kling Avatar Official Kling cloud avatar presenter generation Kling Lip Sync Official Kling cloud lip-sync with explicit face selection Composition & Rendering: Engine Type What It Does Remotion Local (Node.js) React-based programmatic video — spring-animated image scenes, stat reveals, section titles, hero cards, TikTok-style word-by-word captions, scene transitions (fade/slide/wipe/flip), Google Fonts, audio with fade curves, and the TalkingHead avatar composition. When no video generation providers are configured, the agent generates still images and Remotion turns them into fully animated video. HyperFrames Local (Node.js ≥ 22) HTML/CSS/GSAP programmatic video — kinetic typography, product promos, launch reels, custom motion graphics, registry blocks (data charts, grain overlays, shader transitions), website-to-video workflows, and rigged SVG character animation. Consumed via npx hyperframes ; no monorepo checkout needed. FFmpeg Local Core video assembly, encoding, subtitle burn, audio muxing, color grading Runtime is chosen at proposal ( render_runtime ) and locked through edit_decisions . Silent swaps between runtimes are a governance violation — see skills/core/hyperframes.md . Style System Style playbooks define the visual language for your productions: Playbook Best For Clean Professional Corporate, educational, SaaS Flat Motion Graphics Social media, TikTok, startups Minimalist Diagram Technical deep-dives, architecture Playbooks control typography, color palettes, motion styles, audio profiles, and quality rules. The agent reads the playbook and applies it consistently across all generated assets. Platform Output Profiles Built-in render profiles for every major platform: Profile Resolution Aspect Ratio YouTube Landscape 1920x1080 16:9 YouTube 4K 3840x2160 16:9 YouTube Shorts 1080x1920 9:16 Instagram Reels 1080x1920 9:16 Instagram Feed 1080x1080 1:1 TikTok 1080x1920 9:16 LinkedIn 1920x1080 16:9 Cinematic 2560x1080 21:9 Production Governance OpenMontage treats video production like real engineering — with quality gates, audit trails, and enforcement at every stage. Quality Gates Human approval gates are enforced, not suggested — proposal, script, scene plan, generated assets, and publish all pause for your sign-off. The checkpoint writer rejects a "completed" gated stage without recorded approval, and every superseded checkpoint is archived so the audit trail (including gate transitions) survives revisions. Review happens visually on the Backlot board . Pre-compose validation — blocks render if the delivery promise is violated (e.g. "motion-led" video with 80% still images), slideshow risk score is critical, or renderer family is missing. Catches broken plans before wasting GPU time. Post-render self-review — after every render, the runtime runs ffprobe validation, extracts frames at 4 positions to check for black frames and broken overlays, analyzes audio levels for silence and clipping, verifies the delivery promise was honored, and checks subtitle presence. If the review fails, the video is not presented. Slideshow risk scoring — 6-dimension analysis (repetition, decorative visuals, weak motion, shot intent, typography overreliance, unsupported cinematic claims) prevents "animated PowerPoint" outputs. Source media inspection — when users supply their own footage, the system probes every file (resolution, codec, audio channels, duration) and builds planning implications before a single creative decision is made. No hallucinating content from filenames. Scored Provider Selection Every tool selection (video generation, image generation, TTS, music) runs through a 7-dimension scoring engine: task fit (30%), output quality (20%), control features (15%), reliability (15%), cost efficiency (10%), latency (5%), continuity (5%). The winning provider and its score are logged in the decision trail with all alternatives considered. Selectors normalize loose brief context before scoring. If the agent only knows something like "Pixar-style animated short with character consistency," the selector expands that into scorer-friendly intent and style signals instead of requiring a perfectly pre-shaped task_context . Selector outputs also surface the chosen provider's agent_skills , so the agent can immediately read the right Layer 3 provider skill before writing prompts. Decision Audit Trail Every major creative and technical choice — provider selection, style/playbook choice, music track, voice selection, renderer family, any fallback or downgrade — is logged with alternatives considered, confidence scores, and reasoning. The cumulative decision log persists across all stages so you can trace exactly why the output looks the way it does. Budget Controls Estimate before execution — see what it will cost Reserve budget — lock funds before the call Reconcile after — record actual spend Configurable modes — observe (track only), warn (log overruns), cap (hard limit) Per-action approval — pause for confirmation above a threshold (default: $0.50) Total budget cap — default $10, fully configurable No surprise bills. The agent tells you what it will cost before it spends. Agent Compatibility OpenMontage works with any AI coding assistant that can read files and execute Python. Dedicated instruction files are included for: Platform Config File Claude Code CLAUDE.md Cursor CURSOR.md + .cursor/rules/ GitHub Copilot COPILOT.md + .github/copilot-instructions.md Codex CODEX.md Windsurf .windsurfrules All platform files point to the shared AGENT_GUIDE.md (operating guide and agent contract) and PROJECT_CONTEXT.md (architecture reference). Coming soon: Local LLM support via Ollama and LM Studio — run the full production pipeline without any cloud LLM. Contributing OpenMontage is built to be extended. The two most common contributions: Adding a New Tool Create a Python file in the appropriate tools/ subdirectory Inherit from BaseTool and implement the tool contract The registry auto-discovers it — no manual registration needed Add a skill file if the tool needs usage guidance Adding a New Pipeline Create a YAML manifest in pipeline_defs/ Create stage director skills in skills/pipelines/<your-pipeline>/ Reference existing tools — or add new ones if needed See docs/ARCHITECTURE.md for the full technical reference, docs/PROVIDERS.md for the complete provider guide (setup, pricing, free tiers), and AGENT_GUIDE.md for the agent contract. Join the Community We use GitHub Discussions to share work and ideas: Show and Tell — Share videos you've made, prompts that worked well, or creative workflows you've discovered Ideas — Suggest new pipelines, tools, style playbooks, or integrations Q&A — Ask questions about setup, pipelines, or troubleshooting Made something cool? Post it in Show and Tell — we'd love to see what you build. Contact For updates, releases, and behind-the-scenes build notes, follow @calesthioailabs . For bugs, feature requests, and workflow discussions, use GitHub Issues and GitHub Discussions so everything stays visible and actionable. Testing # Run contract tests (no API keys needed) make test-contracts # Run all tests make test Star History License GNU AGPLv3 OpenMontage — Production-grade video with real quality enforcement, orchestrated by your AI assistant. If this project looks useful to you, a ⭐ would really mean a lot — it helps others discover it too. If you'd like to go further, sponsor the project — OpenMontage is built nights and weekends, and your support makes that sustainable.
Free
Windows
macOS
Linux
twenty
twenty is a free, open-source alternative to Salesforce . The #1 Open-Source CRM Website · Documentation · Roadmap · Discord · Figma Why Twenty Twenty gives technical teams the building blocks for a custom CRM that meets complex business needs and quickly adapts as the business evolves. Twenty is the CRM you build, ship, and version like the rest of your stack. Learn more about why we built Twenty Installation Cloud The fastest way to get started. Sign up at twenty.com and spin up a workspace in under a minute, with no infrastructure to manage and always up to date. Build an app Scaffold a new app with the Twenty CLI: npx create-twenty-app my-app Define objects, fields, and views as code: import { defineObject , FieldType } from 'twenty-sdk/define' ; export default defineObject ( { nameSingular : 'deal' , namePlural : 'deals' , labelSingular : 'Deal' , labelPlural : 'Deals' , fields : [ { name : 'name' , label : 'Name' , type : FieldType . TEXT } , { name : 'amount' , label : 'Amount' , type : FieldType . CURRENCY } , { name : 'closeDate' , label : 'Close Date' , type : FieldType . DATE_TIME } , ] , } ) ; Then ship it to your workspace: npx twenty app:publish --private See the app development guide for objects, views, agents, and logic functions. Self-hosting Run Twenty on your own infrastructure with Docker Compose , or contribute locally via the local setup guide . Everything you need Twenty gives you the building blocks of a modern CRM (objects, views, workflows, and agents) and lets you extend them as code. Here's a tour of what's in the box. Want to go deeper? Read the User Guide for product walkthroughs, or the Documentation for developer reference. Learn more about apps in doc Learn more about version control in doc Learn more about primitives in doc Learn more about layouts in doc Learn more about AI in doc Learn more about CRM features in doc Stack TypeScript Nx NestJS , with BullMQ , PostgreSQL , Redis React , with Jotai , Linaria and Lingui Thanks Thanks to these amazing services that we use and recommend for code review (Greptile), catching bugs (Sentry) and translating (Crowdin). Join the Community Star the repo · Discord · Feature requests · Releases · X · LinkedIn · Crowdin · Contribute
Free
Windows
macOS
Linux
career-ops
career-ops is a free, open-source alternative to Teal . English | Español | Deutsch | Français | Português (Brasil) | 한국어 | 日本語 | 简体中文 | 繁體中文 | Українська | Русский | Polski | Dansk | தமிழ் | العربية | हिन्दी | Türkçe I spent months applying to jobs the hard way. So I engineered the system I wish I had. Companies use AI to filter candidates. I just gave candidates AI to choose companies. Now it's open source. FEATURED IN 740+ job listings evaluated · 100+ personalized CVs · 1 dream role landed Also runs on any agent-skill-standard CLI. See Supported CLIs . What Is This career-ops ( career-ops.org , also known as careerops ) turns any AI coding CLI into a full job search command center. Instead of manually tracking applications in a spreadsheet, you get an AI-powered pipeline that: Evaluates offers with a structured evaluation -- blocks A-F scored across 5 weighted dimensions, plus block G, a separate posting-legitimacy assessment that never affects the 1-5 score Generates tailored PDFs -- ATS-optimized CVs customized per job description Scans portals automatically (Greenhouse, Ashby, Lever, company pages) Processes in batch -- evaluate 10+ offers in parallel with sub-agents Tracks everything in a single source of truth with integrity checks Researches companies and finds the right person to contact -- applications get you in the queue; research gets you a conversation Important: This is NOT a spray-and-pray tool. career-ops is a filter -- it helps you find the few offers worth your time out of hundreds. The system strongly recommends against applying to anything scoring below 4.0/5. Your time is valuable, and so is the recruiter's. Always review before submitting. career-ops is agentic: whichever AI coding CLI you choose navigates career pages with Playwright, evaluates fit by reasoning about your CV vs the job description (not keyword matching), and adapts your resume per listing. Heads up: the first evaluations won't be great. The system doesn't know you yet. Feed it context -- your CV, your career story, your proof points, your preferences, what you're good at, what you want to avoid. The more you nurture it, the better it gets. Think of it as onboarding a new recruiter: the first week they need to learn about you, then they become invaluable. Built by someone who used it to evaluate 740+ job offers, generate 100+ tailored CVs, and land a Head of Applied AI role. Read the full case study . The CareerOps Manifesto career-ops is the first reference implementation of the CareerOps Manifesto . read it. if it says what you believe, sign it. your signature becomes a commit. Features Feature Description Auto-Pipeline Paste a URL, get a full evaluation + PDF + tracker entry A-G Evaluation Role summary, CV match, level strategy, comp research, personalization, interview prep (STAR+R) -- plus a Block G posting-legitimacy check that flags scams and ghost jobs, and a Work-Auth signal that flags an explicit no-sponsorship JD as a hard blocker Interview Story Bank Accumulates STAR+Reflection stories across evaluations -- 5-10 master stories that answer any behavioral question Negotiation Scripts Salary negotiation frameworks, geographic discount pushback, competing offer leverage ATS PDF Generation Keyword-injected CVs with Space Grotesk + DM Sans design Cover Letter Generator Research-backed cover letters with keyword mirroring, four interactive angle prompts (why/problems/approach/tone), draft-in-chat approval gate, and A4 PDF via the same HTML + Playwright pipeline as CVs. Auto-drafts on every evaluation; complete and generate on demand via /career-ops cover Application Email Drafts Formal recruiter/referral/cold application emails from a report or pasted JD, with subject line, attachment checklist, source-backed fit points, and a profile-driven contact block. Draft-only -- career-ops never sends, submits, or clicks anything. Portal Scanner 100+ companies pre-configured (Anthropic, OpenAI, ElevenLabs, Retool, n8n...) + custom queries across Ashby, Greenhouse, Lever, Wellfound Funded Company Discovery Review-first company:funded command surfaces recently funded companies and source diagnostics from structured public feeds without editing your data Batch Processing Parallel evaluation with headless CLI workers ( claude -p / opencode run ) Dashboard TUI Terminal UI to browse, filter, and sort your pipeline Human-in-the-Loop AI evaluates and recommends, you decide and act. The system never submits an application -- you always have the final call Pipeline Integrity Automated merge, dedup, status normalization, health checks Interview Suite Time-blocked prep plans, practice sessions with feedback, post-interview debriefs ( interview/ ), and a company red-flag detector ( interview-redflag ) Offer Stage Contract reading companion -- clause walk plus a lawyer question list ( offer-prep ) -- and a desired/advertised/actual salary-gap analyzer ( salary-gap.mjs ) Follow-ups & Replies Follow-up cadence calculator and seeded reminders ( followup-cadence.mjs , followup-seed.mjs ); employer reply classification into tracker updates ( reply-watch ) Pattern Analysis Rejection patterns and per-ATS-channel advance rates ( analyze-patterns.mjs ), lifetime funnel stats ( stats.mjs ), repost/ghost-job detection ( detect-reposts.mjs ) Plugin System Opt-in integrations (Gmail, Notion, Apify + a community registry), disabled by default -- see docs/PLUGINS.md Beyond the CV Company research ( deep ) surfaces AI strategy, recent moves, engineering culture, and the angle your profile should take. Contact discovery ( contacto ) identifies the hiring manager, recruiter, or team peer worth reaching out to and drafts a ≤300-character LinkedIn message tuned to each contact type. Formal application email drafts ( email ) turn an evaluated report or pasted JD into a subject line, body, and attachment checklist without sending, submitting, or clicking anything. Applications get you in the queue; research gets you a conversation. Quick Start Fastest way — one command: npx @santifer/career-ops init 💡 npx ships with Node.js — it runs the installer once, without installing anything globally. No Node yet? Install it first. (Already using a Claude Code / Gemini / Codex CLI? Then you already have it.) This clones the latest release into ./career-ops and installs dependencies. Then: cd career-ops claude # or codex / qwen / opencode / agy / grok — open your AI CLI here On first launch, career-ops walks you through setup — your CV, profile and target roles — just by chatting. Nothing to edit by hand. Prefer to set it up manually? (git clone) git clone https://github.com/santifer/career-ops.git cd career-ops && npm install npx playwright install chromium # only needed for PDF generation # 2. Check setup npm run doctor # Validates all prerequisites # 3. Configure cp config/profile.example.yml config/profile.yml # Edit with your details cp templates/portals.example.yml portals.yml # Customize companies # 4. Add your CV # Create cv.md in the project root with your CV in markdown # 5. Open your AI CLI in this directory claude # or codex / opencode / qwen / agy / grok # Then ask your CLI to adapt the system to you: # "Change the archetypes to backend engineering roles" # "Translate the modes to English" # "Add these 5 companies to portals.yml" # "Update my profile with this CV I'm pasting" # 6. Start using # Paste a job URL or JD text to trigger auto-pipeline # If your CLI supports slash commands, use /career-ops (or its CLI-specific alias) # In Codex, ask for the same mode in plain language, e.g.: # "Run the career-ops scan mode" # "Run the career-ops pipeline mode for data/pipeline.md" # "Run the career-ops pdf mode for the latest evaluated role" # "Run the career-ops tracker mode and summarize the current statuses" Global install npm i -g @santifer/career-ops This installs the career-ops binary globally so you can run it directly instead of via npx . Unlike npx @santifer/career-ops init (which bootstraps a project directory), the global install gives you a persistent career-ops command available anywhere in your terminal. Which one should you use? npx @santifer/career-ops init — best for first use; creates a dedicated project folder. npm i -g @santifer/career-ops — best once you have a project folder and want to run career-ops commands directly. The system is designed to be customized by your AI coding CLI itself. Modes, archetypes, scoring weights, negotiation scripts -- just ask it to change them. It reads the same files it uses, so it knows exactly what to edit. See docs/SETUP.md for the full setup guide, docs/RUNNING_ON_A_BUDGET.md for instructions on running career-ops cheaply using custom or local models (and docs/FREE_TIER.md for running it at zero cost on Antigravity CLI's free tier), docs/AUTOMATION.md for scheduling recurring scans and a zero-token triage-to-shortlist recipe, docs/APPLY_AUTOFILL.md for details on the ATS auto-fill flow, and docs/FAQ.md for answers to common setup questions. Design principles live in ARCHITECTURE.md ; runtime flows in docs/ARCHITECTURE.md . Antigravity CLI Integration career-ops supports Antigravity CLI natively, the same way it supports Claude Code and OpenCode. All slash commands are available through the shared skill entrypoint, using the same modes/*.md evaluation logic. Google has transitioned consumer Gemini CLI access to Antigravity CLI. GEMINI.md is now a no-op compatibility guard so Antigravity does not duplicate the full project instructions when it reads both AGENTS.md and GEMINI.md . Native Antigravity CLI # 1. Run in the career-ops directory cd career-ops agy # 2. Use the unified /career-ops command with subcommands: /career-ops " Senior AI Engineer at Anthropic... " /career-ops pipeline /career-ops scan /career-ops pdf /career-ops tracker The skill is defined using the open standard in .agents/skills/career-ops/SKILL.md and symlinked/referenced for each supported CLI (e.g. .claude/ , .cursor/ , .qwen/ , .antigravitycli/ , .grok/ ). Codex Integration career-ops supports Codex through the same shared router, but the invocation model is different from CLIs that auto-register slash commands. For the full guide, see docs/CODEX.md . Interactive Codex cd career-ops codex Slash commands are not guaranteed in Codex. If /career-ops is unavailable, ask Codex to run the mode directly in plain language: Evaluate this JD with career-ops auto-pipeline: https://company.com/jobs/123 Run the career-ops scan mode and summarize new matches. Run the career-ops pipeline mode for data/pipeline.md. Run the career-ops pdf mode for the latest evaluated role. Run the career-ops tracker mode and summarize the current statuses. One-shot Codex ( codex exec ) codex exec " Evaluate this JD with career-ops auto-pipeline: https://company.com/jobs/123 " codex exec " Run career-ops scan mode in this repo and summarize new matches. " codex exec " Run career-ops pipeline mode for data/pipeline.md. " codex exec " Run career-ops pdf mode for the latest evaluated role. " codex exec " Run career-ops tracker mode and summarize the current statuses. " Grok Build CLI Integration career-ops supports Grok Build CLI natively, the same way it supports Claude Code and OpenCode. AGENTS.md is auto-loaded as project rules, and all slash commands are available through the shared skill entrypoint. Native Grok Build CLI # 1. Run in the career-ops directory cd career-ops grok # 2. Use the unified /career-ops command with subcommands: /career-ops " Senior AI Engineer at Anthropic... " /career-ops pipeline /career-ops scan /career-ops pdf /career-ops tracker For headless batch workers, use grok -p "prompt" (add --yolo to auto-approve tool executions). Standalone Gemini API Script (No CLI install needed) # 1. Get a free API key at https://aistudio.google.com/apikey cp .env.example .env # Edit .env, set GEMINI_API_KEY=your_key_here # 2. Install dependencies npm install # 3. Evaluate a job description node gemini-eval.mjs " We are looking for a Senior AI Engineer... " node gemini-eval.mjs --file ./jds/my-job.txt node agent-inbox.mjs add " ... " # queue a request for the next session npm run gemini:eval -- " JD text here " Free tier: Both options work without billing. Native CLI uses Google OAuth; the API script uses gemini-3.6-flash (rate limits are model- and tier-dependent; see Google AI docs for current quotas). Usage career-ops uses a shared command router. In CLIs that register slash commands, it looks like this: /career-ops → Show all available commands /career-ops {paste a JD} → Full auto-pipeline (evaluate + PDF + tracker) /career-ops scan → Scan portals for new offers /career-ops pdf → Generate ATS-optimized CV /career-ops cover → Cover letter generator (paste JD or /career-ops cover {slug}) /career-ops email → Formal application email draft (draft-only; never sends, submits, or clicks) /career-ops batch → Batch evaluate multiple offers /career-ops tracker → View application status /career-ops apply → Fill application forms with AI /career-ops outcome → Record application outcome & archive artifacts /career-ops pipeline → Process pending URLs /career-ops contacto → Find hiring manager / recruiter / peer + draft a ≤300-char LinkedIn message per contact type /career-ops deep → Generate a structured 6-axis research prompt (AI strategy, recent moves, culture, challenges, competitors, candidate angle) /career-ops training → Evaluate a course/cert /career-ops project → Evaluate a portfolio project Or just paste a job URL or description directly -- career-ops auto-detects it and runs the full pipeline. In Codex, slash commands are not guaranteed. Use the same mode names in a prompt instead, or call them from codex exec . How It Works You paste a job URL or description │ ▼ ┌──────────────────┐ │ Archetype │ Classifies: LLMOps / Agentic / PM / SA / FDE / Transformation │ Detection │ └────────┬─────────┘ │ ┌────────▼─────────┐ │ A-G Evaluation │ Match, gaps, comp research, STAR stories, legitimacy │ (reads cv.md) │ └────────┬─────────┘ │ ┌────┼────┐ ▼ ▼ ▼ Report PDF Tracker .md .pdf entry Pre-configured Portals The scanner comes with 100+ companies ready to scan and 45+ search queries across major job boards. Copy templates/portals.example.yml to portals.yml and add your own: AI Labs: Anthropic, OpenAI, Mistral, Cohere, LangChain, Pinecone Voice AI: ElevenLabs, PolyAI, Parloa, Hume AI, Deepgram, Vapi, Bland AI AI Platforms: Retool, Airtable, Vercel, Temporal, Glean, Arize AI Contact Center: Ada, LivePerson, Sierra, Decagon, Talkdesk, Genesys Enterprise: Salesforce, Twilio, Gong, Dialpad LLMOps: Langfuse, Weights & Biases, Lindy, Cognigy, Speechmatics Automation: n8n, Zapier, Make.com European: Factorial, Attio, Tinybird, Clarity AI, Travelperk Job boards searched: 55+ provider modules cover ATS APIs, board-wide feeds, XML/RSS feeds, markdown feeds, and local parsers. See Supported job boards for the full table. By default node scan.mjs (a.k.a. npm run scan ) trusts what each ATS feed returns. Some companies leave stale postings in their public API even after the role is closed, so those expired entries can leak into pipeline.md . Pass --verify to launch Playwright after the API pass and drop expired postings before they hit the pipeline: node scan.mjs --verify # zero-token discovery + Playwright liveness check The verification is sequential and only runs against new offers (after dedup), so the cost stays bounded. Dashboard TUI The built-in terminal dashboard lets you browse your pipeline visually: npm run serve:dashboard # launch the TUI npm run build:dashboard # optional: build the standalone binary Features: 6 filter tabs, 4 sort modes, grouped/flat view, lazy-loaded previews, inline status changes. There is also an experimental web UI (alpha, opt-in — nothing runs unless you start it): see web/README.md . Project Structure career-ops/ ├── AGENTS.md # Canonical agent instructions (all CLIs) ├── CLAUDE.md # Claude Code wrapper (imports AGENTS.md) ├── CODEX.md # Codex wrapper (imports AGENTS.md) ├── OPENCODE.md # OpenCode wrapper (imports AGENTS.md) ├── GEMINI.md # Legacy no-op guard to avoid Antigravity duplicate context ├── cv.md # Your CV (create this) ├── article-digest.md # Your proof points (optional) ├── config/ │ └── profile.example.yml # Template for your profile ├── modes/ # Skill modes │ ├── _shared.md # Shared context (customize this) │ ├── oferta.md # Single evaluation │ ├── pdf.md # PDF generation │ ├── cover.md # Cover letter generation │ ├── email.md # Formal application email drafts │ ├── scan.md # Portal scanner │ ├── batch.md # Batch processing │ └── ... ├── templates/ │ ├── cv-template.html # ATS-optimized CV template │ ├── portals.example.yml # Scanner config template │ └── states.yml # Canonical statuses ├── batch/ │ ├── batch-prompt.md # Self-contained worker prompt │ └── batch-runner.sh # Orchestrator script ├── dashboard/ # Go TUI pipeline viewer ├── data/ # Your tracking data (gitignored) ├── reports/ # Evaluation reports (gitignored) ├── output/ # Generated PDFs (gitignored) ├── fonts/ # Space Grotesk + DM Sans ├── docs/ # Setup, customization, budget guide, architecture └── examples/ # Sample CV, report, proof points Tech Stack Agent : AI coding CLI with shared skills and modes ( AGENTS.md + CLI wrapper) PDF : Playwright + HTML template Cover letters : HTML template + Playwright (A4 PDF, same pipeline as CVs) Scanner : Playwright + Greenhouse API + WebSearch Dashboard : Go + Bubble Tea + Lipgloss (Catppuccin Mocha theme) Data : Markdown tables + YAML config + TSV batch files Also Open Source cv-santiago -- The portfolio website (santifer.io) with AI chatbot, LLMOps dashboard, and case studies. If you need a portfolio to showcase alongside your job search, fork it and make it yours. FAQ What is career-ops? career-ops is an open-source, CLI-agnostic job-search command center. It turns any AI coding CLI into a pipeline that evaluates job offers against your CV, generates ATS-tailored PDFs, finds the right person to contact, and tracks everything in one place — while you keep the final decision. It is the first reference implementation of the CareerOps Manifesto. More at career-ops.org . Can I run career-ops for free, or on a cheaper / local model? Yes. career-ops is CLI-agnostic and runs on free and local models — via OpenRouter free models, Ollama, or any OpenAI-compatible endpoint — so you are not tied to a paid subscription. See docs/RUNNING_ON_A_BUDGET.md for the full setup. I pay for Claude Pro/Max but career-ops is burning API credits. Why? Because an ANTHROPIC_API_KEY in your environment takes precedence over your logged-in subscription: the CLI uses the key and bills per token. Run echo $ANTHROPIC_API_KEY , and if it prints anything, remove it from your shell profile, restart the terminal and run /login . Batch mode is the exception, since claude -p workers do not use the interactive login: run claude setup-token once and export the result as CLAUDE_CODE_OAUTH_TOKEN . Full walkthrough in docs/RUNNING_ON_A_BUDGET.md . Which AI CLIs does career-ops work with? career-ops runs on any major AI coding CLI — Claude Code, Codex, Gemini / Antigravity, OpenCode, Grok, Qwen and more — through the open Agent Skill Standard, so it is never locked to a single vendor. Use the CLI you already have. How do I install career-ops on Windows? career-ops runs on Windows. If skills fail to load with a symlink error during install, the fix is in docs/FAQ.md . Full steps are in docs/SETUP.md . Does career-ops auto-apply to jobs for me? No. career-ops is a filter, not a spray-and-pray auto-applier. The AI evaluates, ranks and drafts; you review and decide. It never submits, sends, or clicks anything — you always have the final call. That human-in-the-loop design is the whole point. Is career-ops free and open source? Yes. career-ops is free and open source, and for the candidate it always will be — it is the first reference implementation of the CareerOps Manifesto . Read it, and if it says what you believe, sign it. About the Author I'm Santiago Fernández de Valderrama Aparicio (santifer) -- Head of Applied AI, former founder (built and sold a business that still runs with my name on it). I built career-ops to manage my own job search. It worked: I used it to land my current role. Curious how this repo is maintained in ~4 hours a week? Read Agentic maintenance: how career-ops is run by a fleet of AI agents . My portfolio and other open source projects → santifer.io Wikidata: Santiago Fernández de Valderrama Aparicio · career-ops . Disclaimer career-ops is a local, open-source tool, NOT a hosted service. By using this software, you acknowledge: You control your data. Your CV, contact info, and personal data stay on your machine and are sent directly to the AI provider you choose (Anthropic, OpenAI, etc.). We do not collect, store, or have access to any of your data. You control the AI. The default prompts instruct the AI not to auto-submit applications, but AI models can behave unpredictably. If you modify the prompts or use different models, you do so at your own risk. Always review AI-generated content for accuracy before submitting. You comply with third-party ToS. You must use this tool in accordance with the Terms of Service of the career portals you interact with (Greenhouse, Lever, Workday, LinkedIn, etc.). Do not use this tool to spam employers or overwhelm ATS systems. No guarantees. Evaluations are recommendations, not truth. AI models may hallucinate skills or experience. The authors are not liable for employment outcomes, rejected applications, account restrictions, or any other consequences. See LEGAL_DISCLAIMER.md for full details. This software is provided under the MIT License "as is", without warranty of any kind. Contributors Every person who has shipped code, docs, translations or tests is listed in CONTRIBUTORS.md — including non-code contributions, which the graph above cannot show. Got hired using career-ops? Share your story! License & Trademark The code is licensed under MIT . The "career-ops" name and brand are governed by the Trademark Policy , permissive for community use, reserved for commercial product naming and endorsement. Let's Connect
Free
Windows
macOS
Linux
docusaurus
docusaurus is a free, open-source alternative to GitBook . Docusaurus Introduction Docusaurus is a project for building, deploying, and maintaining open source project websites easily. Short on time? Check out our 5-minute tutorial ⏱️ ! Tip : use docusaurus.new to test Docusaurus immediately in a playground. Simple to Start Docusaurus is built in a way so that it can get running in as little time as possible. We've built Docusaurus to handle the website build process so you can focus on your project. Localizable Docusaurus ships with localization support via CrowdIn. Empower and grow your international community by translating your documentation. Customizable While Docusaurus ships with the key pages and sections you need to get started, including a home page, a docs section, a blog , and additional support pages, it is also customizable to ensure you have a site that is uniquely yours . Installation Use the initialization CLI to create your site: npm init docusaurus@latest Read the docs for any further information. Contributing We've released Docusaurus because it helps us better scale and supports the many OSS projects at Meta. We hope that other organizations can benefit from the project. We are thankful for any contributions from the community. Code of Conduct Meta has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated. Contributing guide Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Docusaurus. Beginner-friendly bugs To help you get your feet wet and get you familiar with our contribution process, we have a list of beginner-friendly bugs that might contain smaller issues to tackle first. This is a great place to get started. Contact We have a few channels for contact: Discord : #general for those using Docusaurus. #contributors for those wanting to contribute to the Docusaurus core. @docusaurus X GitHub Issues Contributors This project exists thanks to all the people who contribute. [ Contribute ]. Backers Thank you to all our backers! 🙏 Become a backer Sponsors Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor License Docusaurus is MIT licensed . The Docusaurus documentation (e.g., .md files in the /docs folder) is Creative Commons licensed . Special thanks BrowserStack supports us with free access for open source . Rocket Validator helps us find HTML markup and accessibility issues .
Free
Windows
macOS
Linux
Android
iOS
godot
godot is a free, open-source alternative to Unity . Godot Engine 2D and 3D cross-platform game engine Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools , so that users can focus on making games without having to reinvent the wheel. Games can be exported with one click to a number of platforms, including the major desktop platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as Web-based platforms and consoles . Free, open source and community-driven Godot is completely free and open source under the very permissive MIT license . No strings attached, no royalties, nothing. The users' games are theirs, down to the last line of engine code. Godot's development is fully independent and community-driven, empowering users to help shape their engine to match their expectations. It is supported by the Godot Foundation not-for-profit. Before being open sourced in February 2014 , Godot had been developed by Juan Linietsky and Ariel Manzur for several years as an in-house engine, used to publish several work-for-hire titles. Getting the engine Binary downloads Official binaries for the Godot editor and the export templates can be found on the Godot website . Compiling from source See the official docs for compilation instructions for every supported platform. Community and contributing Godot is not only an engine but an ever-growing community of users and engine developers. The main community channels are listed on the homepage . The best way to get in touch with the core engine developers is to join the Godot Contributors Chat . To get started contributing to the project, see the contributing guide . This document also includes guidelines for reporting bugs. Documentation and demos The official documentation is hosted on Read the Docs . It is maintained by the Godot community in its own GitHub repository . The class reference is also accessible from the Godot editor. We also maintain official demos in their own GitHub repository as well as a list of awesome Godot community resources . There are also a number of other learning resources provided by the community, such as text and video tutorials, demos, etc. Consult the community channels for more information.
Free
Windows
macOS
Linux
cc-switch
cc-switch is a free, open-source software / service you can self-host or use without paying. CC Switch The All-in-One Manager for Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw & Hermes Agent 🌐 The Only Official Website: ccswitch.io English | 中文 | 日本語 | Deutsch | Changelog ❤️Sponsor Want to appear here? Click to collapse Kimi K3 is Moonshot AI's most capable model and the world's first open 3T-class model. With 2.8 trillion parameters, native vision, and a 1-million-token context window, K3 delivers frontier performance across long-horizon coding, knowledge work, and reasoning. CC Switch makes it easy to configure and switch to Kimi across agentic tools. Click here to start using Kimi New user top-up bonus : register via this link and complete your first top-up to receive 10% of the amount as bonus API credit, up to CNY ¥1,000. Doing mostly coding work? Try the Kimi Code subscription . Thanks to PackyCode for sponsoring this project! PackyCode is a reliable and efficient API relay service provider, offering relay services for Claude Code, Codex, Gemini, and more. PackyCode provides special discounts for our software users: register using this link and enter the "cc-switch" promo code during first recharge to get 10% off. Thanks to ZetaAPI for sponsoring this project! ZetaAPI focuses on real model fidelity, no watered-down responses, no quality degradation, and pricing as low as 35% of official rates. The platform does not mix traffic, secretly replace models with lower-quality alternatives, or use fake model routing. It supports Claude Code, Codex, Gemini, ChatGPT, and other mainstream AI models, helping users significantly reduce API costs while maintaining reliable model quality. At the same time, ZetaAPI provides enterprise-grade SLA-backed stability, standard API compatibility, one API key for multiple models, fast integration, and pay-as-you-go billing, making it suitable for AI products, coding agents, internal business tools, customer service systems, content generation, and automation workflows. If any model is verified to be inconsistent with its stated quality, ZetaAPI backs it with a 10x compensation guarantee, giving users a more stable, transparent, and trustworthy experience. Register via this link and use the promo code CC-SWITCH during your first recharge to enjoy an exclusive 10% discount on your first top-up, just for CC Switch users! Thanks to APINEBULA for sponsoring this project! APINEBULA, an enterprise-grade AI aggregation platform under Galaxy Video Bureau, leverages extensive platform resources to provide developers, teams, and enterprises with stable, cost-effective access to large language model APIs. The platform integrates leading, full-powered models like Claude, GPT, and Gemini, allowing you to connect to the world's top AI models through a single API, with prices starting as low as 10% of the original cost. Designed for AI programming, Agent development, and business system integration, APINEBULA supports enterprise-grade high concurrency, formal contracts, corporate bank transfers, and invoicing services. APINEBULA provides special discounts for our software users: register using this link and enter the "ccswitch" promo code during your first recharge to get 10% off . Thanks to AICodeMirror for sponsoring this project! AICodeMirror provides official high-stability relay services for Claude Code / Codex / Gemini CLI, with enterprise-grade concurrency, fast invoicing, and 24/7 dedicated technical support. Claude Code / Codex / Gemini official channels at 38% / 2% / 9% of original price, with extra discounts on top-ups! AICodeMirror offers special benefits for CC Switch users: register via this link to enjoy 20% off your first top-up, and enterprise customers can get up to 25% off! Thanks to PatewayAI for sponsoring this project! PatewayAI is an API relay service provider built for heavy AI developers, focused on directly relaying official high-quality model APIs. It offers the full Claude lineup and the Codex series, 100% sourced from official channels — no dilution, no fakes, verification welcome. Billing is transparent and every token-level invoice can be audited line by line. It also supports enterprise-grade concurrency and provides a dedicated management platform for enterprise customers — formal contracts and invoicing are available; visit the official website for contact details. Register now via this link to receive $3 in trial credit. Top-ups go as low as 60% of the original price, with a two-way referral bonus of up to $150! Thanks to Fenno.ai for sponsoring this project! Fenno.ai is a stable and efficient API relay service provider, currently focused on Codex relay. It is compatible with the OpenAI and Anthropic protocols and can be flexibly used from Codex, Claude Code, OpenCode, and other mainstream coding tools. It reliably supports enterprise-grade workloads of hundreds of billions of tokens per day, with corporate (B2B) settlement and invoicing for both domestic and overseas entities. Fenno.ai offers an exclusive benefit for CC Switch users: subscribe via this link to the $1.99 Trial Plan worth $50 in credits (valid for 7 days), and earn up to 20% in referral rewards — invite more, earn more! Thanks to RunAPI for sponsoring this project! RunAPI is a high-performance and reliable AI model API gateway — one API key gives you access to 150+ mainstream models including OpenAI, Claude, Gemini, DeepSeek, and Grok, with prices as low as 10% of the official rate and excellent stability. It works seamlessly with Claude Code, OpenClaw, and other tools. Exclusive benefit for CC Switch users: register via this link and enjoy a 10% discount on your first top-up! Thanks to Shengsuanyun for sponsoring this project! Shengsuanyun is a super factory serving AI Native Teams — an industrial-grade AI task parallel execution platform. Its model marketplace aggregates Claude, ChatGPT, Gemini, and other domestic and international LLM and multimedia model capabilities with direct supply. Absolutely no reverse engineering or dilution — platform-wide model SLA availability reaches 99.7%, with monitoring dashboards showing green across the board. It also offers enterprise-grade custom gateways for fine-grained team cost and permission management, smart routing, security protection, and BYOK (Bring Your Own Key) hosting. The platform charges on a pay-per-use and tokens plan (coming soon) basis, with invoicing available. Register via this link as a new user to receive ¥10 in credits plus a 10% bonus on your first top-up. Thanks to AIGoCode for sponsoring this project! AIGoCode is an all-in-one platform that integrates Claude Code, Codex, and the latest Gemini models, providing you with stable, efficient, and highly cost-effective AI coding services. The platform offers flexible subscription plans, zero risk of account suspension, direct access with no VPN required, and lightning-fast responses. AIGoCode has prepared a special benefit for CC Switch users: if you register via this link , you'll receive an extra 10% bonus credit on your first top-up! Thanks to AICoding for sponsoring this project! AICoding — Global AI Model API Relay Service at Unbeatable Prices! Claude Code at 19% of original price, GPT at just 1%! Trusted by hundreds of enterprises for cost-effective AI services. Supports Claude Code, GPT, Gemini and major domestic models, with enterprise-grade high concurrency, fast invoicing, and 24/7 dedicated technical support. CC Switch users who register via this link get 10% off their first top-up! Thanks to SubRouter for sponsoring this project! SubRouter is a marketplace and smart routing platform for AI service operators. Merchants can launch operating sites, publish packages, manage users, models, and pricing, while users discover services and access reliable AI models through one unified API. Register via this link ! Thanks to APIKEY.FUN for sponsoring this project! APIKEY.FUN is a professional enterprise-grade AI relay platform dedicated to providing stable, efficient, and low-cost AI model API access for enterprises and individual developers. The platform supports popular mainstream models such as Claude, OpenAI, and Gemini, with prices as low as 7% of official rates. Register through this project's exclusive link to enjoy an exclusive offer of up to permanent 5% off top-ups . This project is sponsored by Claude API . Direct Claude API access — connect Claude Code and Agent apps in 3 minutes. New users can claim a free trial credit.Powered by official Anthropic API keys + AWS Bedrock official channels. No reverse engineering, no model degradation. Full support for Opus / Sonnet / Haiku model lineup, with official capabilities preserved including Tool Use, 1M context window, and more. Built for Claude Code power users, Agent engineers, and enterprise engineering teams. Invoicing and dedicated team support available. Click here to register! Thanks to code0.ai for sponsoring this project! code0.ai is an AI coding service platform built for developers, supporting Claude Code, Codex, Gemini, and other mainstream AI coding capabilities. It helps individual developers and teams use AI Agents more stably and efficiently for coding, debugging, refactoring, and automation workflows. ccswitch users can contact customer support via the code0.ai website to claim test credits and experience a reliable AI coding service. Thanks to TeamoRouter for sponsoring this project! TeamoRouter is an enterprise-grade Agentic LLM gateway built for developers, AI teams, and businesses. Without requiring any subscriptions, it lets you access Claude Code, Codex, Gemini CLI, OpenAI Codex, and other popular AI agents through a single unified API, while offering API pricing at discounts of up to 90%. Unlike typical API relay services, TeamoRouter aggregates hundreds of official model providers and trusted infrastructure partners, including OpenAI, Anthropic, Vertex, Azure, and AWS bedrock. Every provider is verified for 100% Agent protocol compatibility, cache performance, and request traceability, ensuring stable quality instead of reverse-engineered or diluted endpoints. The platform delivers near-official TTFT, 99.6% SLA, enterprise-scale throughput up to 5,000 QPM, and industry-leading cache hit rates that dramatically reduce token costs for long-running agent workflows. TeamoRouter also offers enterprise features including centralized billing, team management, BYOK, smart routing, usage analytics, dynamic provider optimization, and dedicated support. For an even simpler experience, Teamo Desktop lets you use Claude Code, Codex, Gemini CLI, and other popular AI agents with one-click setup—no API key management or manual gateway configuration required. Register via this link as a new user to receive 10% off your first top-up. Thanks to the open-source AI infrastructure project new-api for its strong support of this project! new-api is an open-source AI infrastructure project from QuantumNous and one of the leading unified LLM access-and-distribution projects by activity and adoption, focused on helping developers, teams, and enterprises build manageable, scalable AI service platforms at lower cost. As a fellow project rooted in the open-source ecosystem, new-api hopes to sponsor and support the continued growth of more outstanding open-source projects. 🌟 Star new-api to show your support: https://github.com/QuantumNous/new-api . Website: https://www.newapi.ai/ . Thanks to ClaudeCN for sponsoring this project! ClaudeCN is an enterprise-grade AI gateway platform operated by a registered company. It delivers high-availability commercial API access to popular models including Claude, GPT, and DeepSeek, and is built around formal enterprise procurement workflows — corporate bank transfers, signed contracts, and full compliance. Register via this link ! Thanks to Dola seed for sponsoring this project! Dola Seed 2.0 is a full‑modal general large model independently developed by ByteDance for the global market. Built on a unified multimodal architecture, it supports joint understanding and generation of text, images, audio, and video. It natively enables agent collaboration, with strong reasoning, long‑task execution, tool integration, and coding capabilities. It is widely applicable to smart cockpits, personal assistants, education, customer support, marketing, retail, and other scenarios. It excels in multimodal perception, end‑to‑end complex task delivery, stable interaction, and data security, and is readily accessible and deployable via the ModelArk platform.Register via this link to get 500,000 tokens of free inference quota per model. >>中国大陆地区的开发者请点击这里 Thanks to SiliconFlow for sponsoring this project! SiliconFlow is a high-performance AI infrastructure and model API platform, providing fast and reliable access to language, speech, image, and video models in one place. With pay-as-you-go billing, broad multimodal model support, high-speed inference, and enterprise-grade stability, SiliconFlow helps developers and teams build and scale AI applications more efficiently. Register via this link and complete real-name verification to receive ¥16 in bonus credit, usable across models on the platform. SiliconFlow is also now compatible with OpenClaw, allowing users to connect a SiliconFlow API key and call major AI models for free. Thanks to A6API for sponsoring this project! A6API is a one-stop AI model API aggregation platform covering Claude, GPT, Gemini, Codex, and other mainstream models. Multiple vendors can list their supply on the platform, so the same model can be quoted competitively by several upstream providers. Smart routing automatically picks the more stable, lower-priced route available and fails over automatically, helping you reduce failed requests, cut costs, and improve stability. Whether you are an individual developer, an AI product team, or a studio, you can integrate quickly through a unified interface — compatible with all formats, with low migration cost. New users who register via this link receive free trial credits: try it first, then use it at a low price. Atlas Cloud is a full-modal AI inference platform that gives developers a single AI API to access video generation, image generation, and LLM APIs. Instead of managing multiple vendor integrations, you connect once and get unified access to 300+ curated models across all modalities. Check out Atlas Cloud's new coding plan promotion for more budget-friendly API access! Thanks to Compshare for sponsoring this project! Compshare is UCloud's AI cloud platform, providing stable and comprehensive domestic and international model APIs with just one key. Featuring cost-effective monthly and per-use domestic-model Coding Plan packages, alongside stable officially-relayed overseas models. Supports Claude Code, Codex, and API access. Enterprise-grade high concurrency, 24/7 technical support, and self-service invoicing. Users who register via this link will receive a free 5 CNY platform trial credit! Thanks to CCSub for sponsoring this project! CCSub is a stable, affordable AI API relay platform — your drop-in replacement for a Claude.ai subscription. One API key gives you access to Claude Opus 4.8, Sonnet, Haiku, GPT-5, Gemini, and DeepSeek at roughly 30% of direct API cost, with no VPN required from anywhere in the world. Compatible with Claude Code, Codex, Cursor, Cline, Continue, Windsurf, and all major AI coding tools. Register via this link and get $5 free credit on sign-up. Thanks to SSSAiCode for sponsoring this project! SSSAiCode is a stable and reliable API relay service, dedicated to providing stable, reliable, and affordable Claude and Codex model services, with same-day fast invoicing. SSSAiCode offers a special deal for CC Switch users: register via this link to enjoy $10 extra credit on every top-up! Thanks to Micu API for sponsoring this project! Micu API is a global LLM relay service provider dedicated to delivering the best cost-performance ratio with high stability. Backed by a registered enterprise for core assurance, eliminating any risk of service discontinuation, with fast official invoicing support! We champion "zero cost to try": top up from as low as ¥1 with no minimum, and get fee-free refunds anytime! Micu API offers an exclusive deal for CC Switch users: register via this link and enter promo code "ccswitch" when topping up to enjoy a 10% discount ! Thank you to Right Code for sponsoring this project! Right Code reliably provides routing services for models such as Claude Code, Codex, and Gemini, with both pay-as-you-go and monthly subscription billing options available. Invoices are available upon top-up, and enterprise and team users can receive dedicated one-on-one support. Right Code also offers an exclusive discount for CC Switch users: register via this link , and with every top-up you will receive pay-as-you-go credit equivalent to 5% of the amount paid. Thanks to ETok.ai for sponsoring this project! ETok.ai is dedicated to building a one-stop AI programming tool service platform. We offer professional Claude Code packages and technical community services, with support for Google Gemini and OpenAI Codex. Through carefully designed plans and a professional tech community, we provide developers with reliable service guarantees and continuous technical support, making AI-assisted programming a true productivity tool. Click here to register! Thanks to Cubence for sponsoring this project! Cubence is a reliable and efficient API relay service provider, offering relay services for Claude Code, Codex, Gemini, and more with flexible billing options including pay-as-you-go and monthly plans. Cubence provides special discounts for CC Switch users: register using this link and enter the "CCSWITCH" promo code during recharge to get 10% off every top-up! Thanks to Crazyrouter for sponsoring this project! Crazyrouter is a high-performance AI API aggregation platform — one API key for 300+ models including Claude Code, Codex, Gemini CLI, and more. All models at 55% of official pricing with auto-failover, smart routing, and unlimited concurrency. Crazyrouter offers an exclusive deal for CC Switch users: register via this link and contact customer support to claim $2 free credit , plus enter promo code `CCSWITCH` on your first top-up for an extra 30% bonus credit ! Thanks to DMXAPI for sponsoring this project! DMXAPI provides global large model API services to 200+ enterprise users. One API key for all global models. Features include: instant invoicing, unlimited concurrency, starting from $0.15, 24/7 technical support. GPT/Claude/Gemini all at 32% off, domestic models 20-50% off, Claude Code exclusive models at 66% off! Register here Why CC Switch? Modern AI-powered coding relies on tools like Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, and Hermes — but each has its own configuration format. Switching API providers means manually editing JSON, TOML, or .env files, and there is no unified way to manage MCP and Skills across multiple tools. CC Switch gives you a single desktop app to manage all supported AI tools. Instead of editing config files by hand, you get a visual interface to import providers with one click, switch between them instantly, with 50+ built-in provider presets, unified MCP and Skills management, and system tray quick switching — all backed by a reliable SQLite database with atomic writes that protect your configs from corruption. One App, Eight Tools — Manage Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, and Hermes from a single interface No More Manual Editing — 50+ provider presets including AWS Bedrock, NVIDIA NIM, and community relays; just pick and switch Unified MCP & Skills Management — One panel to manage MCP servers and Skills across Claude, Codex, Gemini, Grok Build, OpenCode, and Hermes with bidirectional sync System Tray Quick Switch — Switch providers instantly from the tray menu, no need to open the full app Cloud Sync — Sync provider data across devices via Dropbox, OneDrive, iCloud, or WebDAV servers Cross-Platform — Native desktop app for Windows, macOS, and Linux, built with Tauri 2 Built-in Utilities — Includes various utilities for first-launch login confirmation, signature bypass, plugin extension sync, and more Screenshots Main Interface Add Provider Features Full Changelog | Release Notes Provider Management 8 supported tools, 50+ presets — Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, Hermes; copy your key and import with one click Universal providers — One config syncs to Claude Code, Codex, and Gemini CLI One-click switching, system tray quick access, drag-and-drop sorting, import/export Proxy & Failover Local proxy with hot-switching — Format conversion, auto-failover, circuit breaker, provider health monitoring, and request rectifier App-level takeover — Independently proxy Claude, Codex, Gemini, or Grok Build, down to individual providers MCP, Prompts & Skills Unified MCP panel — Manage MCP servers across Claude, Codex, Gemini, Grok Build, OpenCode, and Hermes with bidirectional sync and Deep Link import Prompts — Markdown editor with cross-app sync (CLAUDE.md / AGENTS.md / GEMINI.md) and backfill protection Skills — One-click install from GitHub repos or ZIP files, custom repository management, with symlink and file copy support Usage & Cost Tracking Usage dashboard — Track spending, requests, and tokens with trend charts, detailed request logs, and custom per-model pricing Session Manager & Workspace Browse, search, and restore conversation history across supported session sources Workspace editor (OpenClaw) — Edit agent files (AGENTS.md, SOUL.md, etc.) with Markdown preview System & Platform Cloud sync — Custom config directory (Dropbox, OneDrive, iCloud, NAS) and WebDAV server sync Deep Link ( ccswitch:// ) — Import providers, MCP servers, prompts, and skills via URL Dark / Light / System theme, auto-launch, auto-updater, atomic writes, auto-backups, i18n (zh/zh-TW/en/ja) FAQ Which AI tools does CC Switch support? CC Switch supports eight tools: Claude Code , Claude Desktop , Codex , Gemini CLI , Grok Build , OpenCode , OpenClaw , and Hermes . Each tool has dedicated provider presets and configuration management. Do I need to restart the terminal after switching providers? For most tools, yes — restart your terminal or the CLI tool for changes to take effect. The exception is Claude Code , which currently supports hot-switching of provider data without a restart. My plugin configuration disappeared after switching providers — what happened? CC Switch provides a "Shared Config Snippet" feature to pass common data (beyond API keys and endpoints) between providers. Go to "Edit Provider" → "Shared Config Panel" → click "Extract from Current Provider" to save all common data. When creating a new provider, check "Write Shared Config" (enabled by default) to include plugin data in the new provider. All your configuration items are preserved in the default provider imported when you first launched the app. macOS installation CC Switch for macOS is code-signed and notarized by Apple. You can download and install it directly — no extra steps needed. We recommend using the .dmg installer. Why can't I delete the currently active provider? CC Switch follows a "minimal intrusion" design principle — even if you uninstall the app, your CLI tools will continue to work normally. The system always keeps one active configuration, because deleting all configurations would make the corresponding CLI tool unusable. If you rarely use a specific CLI tool, you can hide it in Settings. To switch back to official login, see the next question. How do I switch back to official login? Add an official provider from the preset list. After switching to it, run the Log out / Log in flow, and then you can freely switch between the official provider and third-party providers. Codex supports switching between different official providers, making it easy to switch between multiple Plus or Team accounts. Where is my data stored? Database : ~/.cc-switch/cc-switch.db (SQLite — providers, MCP, prompts, skills) Local settings : ~/.cc-switch/settings.json (device-level UI preferences) Backups : ~/.cc-switch/backups/ (auto-rotated, keeps 10 most recent) Skills : ~/.cc-switch/skills/ (symlinked to corresponding apps by default) Skill Backups : ~/.cc-switch/skill-backups/ (created automatically before uninstall, keeps 20 most recent) Linux (Wayland + NVIDIA): clicks don't register and the window black-screens on resize The AppImage forces GDK_BACKEND=x11 (XWayland) to avoid a historical native-Wayland crash. On newer Wayland + NVIDIA setups this can leave the web content area unclickable (the title-bar buttons still work) and black-screen on resize. Launch with the opt-in escape hatch to switch back to native Wayland: CC_SWITCH_GDK_BACKEND=wayland ./CC-Switch- * .AppImage If you launch from a desktop icon, add it to the .desktop Exec= line (e.g. env CC_SWITCH_GDK_BACKEND=wayland /path/to/AppImage ) or set it in your session environment. The variable is generic: on tiling Wayland compositors (sway/Hyprland) where clicks don't register, try CC_SWITCH_GDK_BACKEND=x11 instead. Leaving it unset keeps the default behavior. Documentation For detailed guides on every feature, check out the User Manual — covering provider management, MCP/Prompts/Skills, proxy & failover, and more. Quick Start Basic Usage Add Provider : Click "Add Provider" → Choose a preset or create custom configuration Switch Provider : Main UI: Select provider → Click "Enable" System Tray: Click provider name directly (instant effect) Takes Effect : Restart your terminal or the corresponding CLI tool to apply changes (Claude Code does not require a restart) Back to Official : Add an "Official Login" preset, restart the CLI tool, then follow its login/OAuth flow MCP, Prompts, Skills & Sessions MCP : Click the "MCP" button → Add servers via templates or custom config → Toggle per-app sync Prompts : Click "Prompts" → Create presets with Markdown editor → Activate to sync to live files Skills : Click "Skills" → Browse GitHub repos → One-click install to supported apps Sessions : Click "Sessions" → Browse, search, and restore conversation history across supported session sources Note : On first launch, you can manually import existing CLI tool configs as the default provider. Download & Installation System Requirements Windows : Windows 10 and above macOS : macOS 12 (Monterey) and above Linux : Ubuntu 22.04+ / Debian 11+ / Fedora 34+ and other mainstream distributions Windows Users Download the latest CC-Switch-v{version}-Windows.msi installer or CC-Switch-v{version}-Windows-Portable.zip portable version from the Releases page. macOS Users Method 1: Install via Homebrew (Recommended) brew install --cask cc-switch Update: brew upgrade --cask cc-switch Method 2: Manual Download Download CC-Switch-v{version}-macOS.dmg (recommended) or .zip from the Releases page. Note : CC Switch for macOS is code-signed and notarized by Apple. You can install and open it directly. Arch Linux Users Install via paru (Recommended) paru -S cc-switch-bin Linux Users Download the latest Linux build from the Releases page: CC-Switch-v{version}-Linux.deb (Debian/Ubuntu) CC-Switch-v{version}-Linux.rpm (Fedora/RHEL/openSUSE) CC-Switch-v{version}-Linux.AppImage (Universal) Flatpak : Not included in official releases. You can build it yourself from the .deb — see flatpak/README.md for instructions. Architecture Overview Design Principles ┌─────────────────────────────────────────────────────────────┐ │ Frontend (React + TS) │ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │ │ │ Components │ │ Hooks │ │ TanStack Query │ │ │ │ (UI) │──│ (Bus. Logic) │──│ (Cache/Sync) │ │ │ └─────────────┘ └──────────────┘ └──────────────────┘ │ └────────────────────────┬────────────────────────────────────┘ │ Tauri IPC ┌────────────────────────▼────────────────────────────────────┐ │ Backend (Tauri + Rust) │ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │ │ │ Commands │ │ Services │ │ Models/Config │ │ │ │ (API Layer) │──│ (Bus. Layer) │──│ (Data) │ │ │ └─────────────┘ └──────────────┘ └──────────────────┘ │ └─────────────────────────────────────────────────────────────┘ Core Design Patterns SSOT (Single Source of Truth): All data stored in ~/.cc-switch/cc-switch.db (SQLite) Dual-layer Storage : SQLite for syncable data, JSON for device-level settings Dual-way Sync : Write to live files on switch, backfill from live when editing active provider Atomic Writes : Temp file + rename pattern prevents config corruption Concurrency Safe : Mutex-protected database connection avoids race conditions Layered Architecture : Clear separation (Commands → Services → DAO → Database) Key Components ProviderService : Provider CRUD, switching, backfill, sorting McpService : MCP server management, import/export, live file sync ProxyService : Local proxy mode with hot-switching and format conversion SessionManager : Conversation history browsing across supported session sources ConfigService : Config import/export, backup rotation SpeedtestService : API endpoint latency measurement Development Guide Environment Requirements Node.js 18+ pnpm 8+ Rust 1.85+ Tauri CLI 2.8+ Development Commands # Install dependencies pnpm install # Dev mode (hot reload) pnpm dev # Type check pnpm typecheck # Format code pnpm format # Check code format pnpm format:check # Run frontend unit tests pnpm test:unit # Run tests in watch mode (recommended for development) pnpm test:unit:watch # Build application pnpm build # Build debug version pnpm tauri build --debug Rust Backend Development cd src-tauri # Format Rust code cargo fmt # Run clippy checks cargo clippy # Run backend tests cargo test # Run specific tests cargo test test_name # Run tests with test-hooks feature cargo test --features test-hooks Testing Guide Frontend Testing : Uses vitest as test framework Uses MSW (Mock Service Worker) to mock Tauri API calls Uses @testing-library/react for component testing Running Tests : # Run all tests pnpm test:unit # Watch mode (auto re-run) pnpm test:unit:watch # With coverage report pnpm test:unit --coverage Tech Stack Frontend : React 18 · TypeScript · Vite · TailwindCSS 3.4 · TanStack Query v5 · react-i18next · react-hook-form · zod · shadcn/ui · @dnd-kit Backend : Tauri 2.8 · Rust · serde · tokio · thiserror · tauri-plugin-updater/process/dialog/store/log Testing : vitest · MSW · @testing-library/react Project Structure ├── src/ # Frontend (React + TypeScript) │ ├── components/ │ │ ├── providers/ # Provider management │ │ ├── mcp/ # MCP panel │ │ ├── prompts/ # Prompts management │ │ ├── skills/ # Skills management │ │ ├── sessions/ # Session Manager │ │ ├── proxy/ # Proxy mode panel │ │ ├── openclaw/ # OpenClaw config panels │ │ ├── settings/ # Settings (Terminal/Backup/About) │ │ ├── deeplink/ # Deep Link import │ │ ├── env/ # Environment variable management │ │ ├── universal/ # Cross-app configuration │ │ ├── usage/ # Usage statistics │ │ └── ui/ # shadcn/ui component library │ ├── hooks/ # Custom hooks (business logic) │ ├── lib/ │ │ ├── api/ # Tauri API wrapper (type-safe) │ │ └── query/ # TanStack Query config │ ├── locales/ # Translations (zh/zh-TW/en/ja) │ ├── config/ # Presets (providers/mcp) │ └── types/ # TypeScript definitions ├── src-tauri/ # Backend (Rust) │ └── src/ │ ├── commands/ # Tauri command layer (by domain) │ ├── services/ # Business logic layer │ ├── database/ # SQLite DAO layer │ ├── proxy/ # Proxy module │ ├── session_manager/ # Session management │ ├── deeplink/ # Deep Link handling │ └── mcp/ # MCP sync module ├── tests/ # Frontend tests └── assets/ # Screenshots & partner resources Contributing Issues and suggestions are welcome! Before submitting PRs, please ensure: Pass type check: pnpm typecheck Pass format check: pnpm format:check Pass unit tests: pnpm test:unit For new features, please open an issue for discussion before submitting a PR. PRs for features that are not a good fit for the project may be closed. Star History License MIT © Jason Young
Free
Windows
macOS
Linux
langchain
langchain is a free, open-source alternative to OpenAI Assistants API . The agent engineering platform. LangChain is a framework for building agents and LLM-powered applications. It helps you chain together interoperable components and third-party integrations to simplify AI application development — all while future-proofing decisions as the underlying technology evolves. Tip Just getting started? Check out Deep Agents — a higher-level package built on LangChain for agents that have built-in capabilites for common usage patterns such as planning, subagents, file system usage, and more. Quickstart uv add langchain from langchain . chat_models import init_chat_model model = init_chat_model ( "openai:gpt-5.5" ) result = model . invoke ( "Hello, world!" ) If you're looking for more advanced customization or agent orchestration, check out LangGraph , our framework for building controllable agent workflows. For an equivalent JS/TS library, check out LangChain.js . Tip For developing, debugging, and deploying AI agents and LLM applications, see LangSmith . LangChain ecosystem While the LangChain framework can be used standalone, it also integrates seamlessly with any LangChain product, giving developers a full suite of tools when building LLM applications. Deep Agents — Build agents that can plan, use subagents, and leverage file systems for complex tasks LangGraph — Build agents that can reliably handle complex tasks with our low-level agent orchestration framework Integrations — Chat & embedding models, tools & toolkits, and more LangSmith — Agent evals, observability, and debugging for LLM apps LangSmith Deployment — Deploy and scale agents with a purpose-built platform for long-running, stateful workflows Why use LangChain? LangChain helps developers build applications powered by LLMs through a standard interface for models, embeddings, vector stores, and more. Real-time data augmentation — Easily connect LLMs to diverse data sources and external/internal systems, drawing from LangChain's vast library of integrations with model providers, tools, vector stores, retrievers, and more Model interoperability — Swap models in and out as your engineering team experiments to find the best choice for your application's needs. As the industry frontier evolves, adapt quickly — LangChain's abstractions keep you moving without losing momentum Rapid prototyping — Quickly build and iterate on LLM applications with LangChain's modular, component-based architecture. Test different approaches and workflows without rebuilding from scratch, accelerating your development cycle Production-ready features — Deploy reliable applications with built-in support for monitoring, evaluation, and debugging through integrations like LangSmith. Scale with confidence using battle-tested patterns and best practices Vibrant community and ecosystem — Leverage a rich ecosystem of integrations, templates, and community-contributed components. Benefit from continuous improvements and stay up-to-date with the latest AI developments through an active open-source community Flexible abstraction layers — Work at the level of abstraction that suits your needs — from high-level chains for quick starts to low-level components for fine-grained control. LangChain grows with your application's complexity Resources Documentation — conceptual overviews and guides LangChain ecosystem overview — how LangChain, LangGraph, and Deep Agents fit together API reference — complete reference for all public classes, functions, and types Discussions — community forum for technical questions, ideas, and feedback LangChain Academy — comprehensive, free courses on LangChain libraries and products, made by the LangChain team Contributing Guide — how to contribute and find good first issues Code of Conduct — community guidelines and standards
Free
Windows
macOS
Linux
Android
iOS
Find free open source alternatives of following paid software:
VMware
VMware is a virtualization platform for IT teams to manage servers and workloads.
Amazon ElastiCache
Amazon ElastiCache is a managed in-memory caching service for improving application performance.
DNS Ad Blocking
Free open-source alternatives to DNS Ad Blocking.
AI Copilot
Free open-source alternatives to AI Copilot.
DNS Filtering
Free open-source alternatives to DNS Filtering.
AI Video Generation
Open-source alternatives to AI video generation.
Game Engines
Free open-source alternatives to game engines.
Job Search Tools
Free open-source alternatives to job search tools
In-Memory Database
Free open-source alternatives to In-Memory Database.
Spokeo
Free open-source alternatives to Spokeo.
CMS
Free open-source alternatives to CMS.
Database
Free open-source database alternatives.
AI Video Production
Open-source alternatives to AI video production.
LangGraph Platform
Free open-source alternatives to LangGraph.
LLM Framework
An LLM framework is a developer toolkit for building applications powered by large language models.
Agent Development
Agent Development is a platform for building and deploying autonomous AI agents.
Total Commander
Total Commander is a Windows file manager with a dual-pane interface and FTP support.
LazyApply
LazyApply automates job applications by auto-filling and submitting forms.
AI Development
AI Development is a tool for creating, training, and deploying machine learning models.
AdGuard DNS
AdGuard DNS is a DNS-based service that blocks ads, trackers, and malicious websites.
Prev
Next
Find us on
Indie.Deals