TopFreeAlternative

- Free open source alternatives of paid software.

Paid software

Latest free open-source software collection:

redis logo
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/ .
FreeWindowsmacOSLinux
firecracker logo
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 .
FreeLinux
AdGuardHome logo
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.
FreeWindowsmacOSLinux
server logo
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/
FreeWindowsmacOSLinuxAndroidiOS
maigret logo
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
FreeWindowsmacOSLinux
CopilotKit logo
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 .
FreeAndroidiOS
spacedrive logo
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.
FreeWindowsmacOSLinuxAndroidiOS
langgraph logo
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.
FreeWindowsmacOSLinux
openscreen logo
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.
FreeWindowsmacOSLinux
hyperswitch logo
hyperswitch is a free, open-source alternative to Stripe . Composable Open-Source Payments Infrastructure 📁 Table of Contents What Can I Do with Hyperswitch? Quickstart (Local Setup) Cloud Deployment Hosted Sandbox (No Setup Required) Why Hyperswitch? Architectural Overview Our Vision Community & Contributions Feature Requests & Bugs Versioning License Team Behind Hyperswitch What Can I Do with Hyperswitch? Hyperswitch offers a modular, open-source payments infrastructure designed for flexibility and control. Apart from our Payment Suite offering, this solution allows businesses to pick and integrate only the modules they need on top of their existing payment stack — without unnecessary complexity or vendor lock-in. Each module is independent and purpose-built to optimize different aspects of payment processing. Learn More About The Payment Modules Details Cost Observability Advanced observability tools to audit, monitor, and optimize your payment costs. Detect hidden fees, downgrades, and penalties with self-serve dashboards and actionable insights. Read more Revenue Recovery Combat passive churn with intelligent retry strategies tuned by card bin, region, method, and more. Offers fine-grained control over retry algorithms, penalty budgets, and recovery transparency. Read more Vault A PCI-compliant vault service to store cards, tokens, wallets, and bank credentials. Provides a unified, secure, and reusable store of customer-linked payment methods. Also supports bring-your-own-vault to connect existing providers including VGS and TokenEx without re-tokenizing or migrating stored cards. Read more Intelligent Routing Route each transaction across Stripe, Adyen, Braintree, Worldpay, Checkout.com, and 120+ others to the PSP with the highest predicted auth rate. Reduce retries, avoid downtime, and minimize latency while maximizing first attempt success. Read more Reconciliation Automate 2-way and 3-way reconciliation with backdated support, staggered scheduling, and customizable outputs. Reduces manual ops effort and increases audit confidence. Read more Alternate Payment Methods Drop-in widgets for PayPal, Apple Pay, Google Pay, Samsung Pay, Pay by Bank, and BNPL providers like Klarna. Maximizes conversions with seamless one-click checkout. Read more Quickstart Local Setup via Docker # One-click local setup git clone --depth 1 --branch latest https://github.com/juspay/hyperswitch cd hyperswitch scripts/setup.sh This script: Detects Docker/Podman Offers multiple deployment profiles: Standard : App server + Control Center Full : Includes monitoring + schedulers Minimal : Standalone App server Provides access links when done If you need further help, check out our video tutorial . 👉 After setup, configure a connector and test a payment . Hosted Sandbox (No Setup Required) Hyperswitch offers a fully hosted sandbox environment that requires no setup. You can explore the Control Center, configure payment connectors, and test payments directly from the UI. What you can do in the Hosted Sandbox Access the full Control Center Configure payment connectors View logs, routing rules, and retry strategies Try payments directly from the UI Cloud Deployment You can deploy to AWS, GCP, or Azure using Helm Charts. Cloud Deployment Instructions . Architectural Overview Why Hyperswitch? Hyperswitch is a commercial open-source payments stack purpose-built for scale, flexibility, and developer experience. Designed with a modular architecture, Hyperswitch lets you pick only the components you need—whether it’s routing, retries, vaulting, or observability—without vendor lock-in or bloated integrations. Built in Rust for performance and reliability, Hyperswitch connects to Stripe, Adyen, Braintree, Worldpay, Checkout.com, Cybersource, and 120+ processors — exposing smart routing and retry logic, and provides a visual workflow builder in the Control Center. Whether you're integrating a full payment suite or augmenting an existing stack with a single module, Hyperswitch meets you where you are. Common starting points: teams moving from a single Stripe/ Stripe connect or Braintree integration to multi-PSP routing, merchants replacing a payment gateway with direct acquirer connections to TSYS, JP Morgan Payments, or other acquirers, and merchants rearchitecting their payments platform through Hyperswitch while keeping their existing VGS, TokenEx or other existing vault intact. “Linux for Payments” — Hyperswitch is a well-architected reference for teams who want to own their payments stack. We believe in: Embracing Payment Diversity: Innovation comes from enabling choice—across payment methods, processors, and flows. Open Source by Default: Transparency drives trust and builds better, reusable software. Community-Driven Development: Our roadmap is shaped by real-world use cases and contributors. Systems-Level Engineering: We hold ourselves to a high bar for reliability, security, and performance. Maximizing Value Creation: For developers, customers, and partners alike. Community-Driven, Enterprise-Tested: Hyperswitch is built in the open with real-world feedback from developers and contributors, and maintained by Juspay, the team powering payment infrastructure for 400+ leading enterprises worldwide. Supported Connectors Hyperswitch integrates with 100+ payment processors out of the box. Each connector has a dedicated guide covering credentials setup, webhook configuration, supported payment methods, and common failure modes. Processor Type Guide Global Payments Payment Gateway View → Stripe Payment Gateway View → Paypal Payment Gateway View → Adyen Payment Gateway View → Bank of America Payment Gateway View → 👉 Browse all available connectors → Hyperswitch Ecosystem Mapping Hyperswitch is built as a set of modular services and SDKs that work together. The Rust app server in this repo is the core, and the repositories below extend it with dashboards, client SDKs, and deployment tooling. 1. Core backend services The Rust services that process payments. The app server is the center of gravity; the vault and encryption service handle sensitive-data operations alongside it. hyperswitch-prism is a separate, lighter entry point: a unified connector library that can be used directly against payment processors without running the full switch. decision-engine is another standalone service: a routing control plane that selects the best gateway per transaction and can run independently of any orchestrator. hyperswitch card-vault encryption-service prism decision-engine Language Rust Rust Rust Rust Rust Role App server. Routing, retries, vaulting, observability. PCI-compliant card storage. Encryption, decryption, KMS. Unified connector library, 100+ processors. Routing control plane. Rule-based and success-rate gateway selection. Standalone, works with any orchestrator. Depends on card-vault, encryption-service encryption-service None None None 2. Dashboard Merchant-facing UIs for configuring connectors, routing, and viewing transactions. Both require the hyperswitch backend to be running. control-center control-center-embedded Language ReScript TypeScript Role Full merchant dashboard. Connectors, routing rules, analytics, API keys. Embeddable Hyperswitch components for partners and merchants surfacing Hyperswitch UI inside their own apps. Depends on hyperswitch backend hyperswitch backend 3. Web checkout SDKs How a browser talks to Hyperswitch. hyperswitch-client-core is the shared core, pulled in as a git submodule by every client SDK (web and mobile). hyperswitch-sdk-utils holds shared assets that merchants doing Headless Implementations consume directly. hyperswitch-web client-core react-hyper-js sdk-utils Language ReScript ReScript ReScript ReScript Distribution npm git submodule npm git submodule Role Primary web SDK. ReScript-built React library for unified checkout. Shared SDK core consumed transitively by every client SDK. Idiomatic React wrapper around the Hyper JS loader. Shared utilities and assets used across client-core and hyperswitch-web. Depends on hyperswitch backend None hyperswitch-web None 4. Mobile SDKs Native SDKs for embedding Hyperswitch checkout into mobile apps. All are built on top of hyperswitch-client-core , pulled in as a git submodule. Android iOS React Native Flutter Repository hyperswitch-sdk-android hyperswitch-sdk-ios react-native-hyperswitch flutter_hyperswitch Language Kotlin Swift TypeScript Dart Distribution Maven CocoaPods (SPM in progress) npm pub.dev Status Officially supported Officially supported Officially supported Officially supported Important An older repo, hyperswitch-sdk-react-native , is being deprecated and has already been removed from npm. Use react-native-hyperswitch instead. 5. Deployment & infrastructure Tooling for running Hyperswitch, from local development through production. hyperswitch-suite hyperswitch-helm Tooling Terraform (HCL) Helm charts Role Umbrella full-suite deployment that wires the core, vault, control-center, and web together. Recommended starting point for the full stack. Kubernetes deployments for GCP, Azure, or any K8s-compatible platform. Contributing We welcome contributors from around the world to help build Hyperswitch. Whether you're fixing bugs, improving documentation, or adding new features, your help is appreciated. Please read our contributing guidelines to get started. Join the conversation on Slack or explore open issues on GitHub . Feature requests & Bugs For new product features, enhancements, roadmap discussions, or to share queries and ideas, visit our GitHub Discussions For reporting a bug, please read the issue guidelines and search for existing and closed issues . If your problem or idea is not addressed yet, please open a new issue . Versioning Check the CHANGELOG.md file for details. Copyright and License This product is licensed under the Apache 2.0 License .
FreeWindowsmacOSLinuxAndroidiOS
payload logo
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
FreeLinux
cal.diy logo
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
FreeWindowsmacOSLinux
bevy logo
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.
FreeWindowsmacOSLinuxAndroidiOS
OpenMontage logo
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.
FreeWindowsmacOSLinux
twenty logo
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
FreeWindowsmacOSLinux
career-ops logo
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
FreeWindowsmacOSLinux
docusaurus logo
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 .
FreeWindowsmacOSLinuxAndroidiOS
rtk logo
rtk is a free, open-source software / service you can self-host or use without paying. High-performance CLI proxy that cuts up to 90% of the bash output your agent reads Website • Install • Troubleshooting • Architecture • Discord English • Francais • 中文 • 日本語 • 한국어 • Espanol • Português rtk filters and compresses command outputs before they reach your LLM context. Single Rust binary, 100+ supported commands, <10ms overhead. What RTK Does RTK intercepts shell commands and compresses their output before your agent reads it. Operation What RTK does to the output ls / tree Tree format with file counts instead of one line per entry cat / read Smart file reading: signatures and structure over full bodies grep / rg Truncates long lines, groups matches by file git status Compact stat format, grouped by state git diff Reduced context, headers stripped git log Hash, author and subject only git add/commit/push Confirmation line instead of full progress output cargo test / npm test Failures only, passing tests collapsed to a count ruff check Grouped by rule and file pytest Failures only, traceback trimmed go test NDJSON parsed, failures only docker ps Essential fields only How Savings Work RTK cuts up to 90% of the bash output your agent reads. That is what RTK measures, and it is not the same as cutting your bill by 90%. Bash output is one contributor to input tokens , alongside your prompt, the system prompt and conversation history. Input tokens are in turn only part of the bill , which also counts output tokens. The reduction dilutes at every step. The token counts RTK reports are estimated as bytes / 4 — RTK ships no tokenizer, so the percentages are reliable but the absolute token numbers are approximate . Full explanation: How RTK Savings Work Installation Homebrew (recommended) brew install rtk Quick Install (Linux/macOS) curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh Installs to ~/.local/bin . Add to PATH if needed: echo ' export PATH="$HOME/.local/bin:$PATH" ' >> ~ /.bashrc # or ~/.zshrc Cargo cargo install --git https://github.com/rtk-ai/rtk Pre-built Binaries Download from releases : macOS: rtk-x86_64-apple-darwin.tar.gz / rtk-aarch64-apple-darwin.tar.gz Linux: rtk-x86_64-unknown-linux-musl.tar.gz / rtk-aarch64-unknown-linux-gnu.tar.gz Windows: rtk-x86_64-pc-windows-msvc.zip Windows users : Extract the zip and place rtk.exe somewhere in your PATH (e.g. C:\Users\<you>\.local\bin ). Run RTK from Command Prompt , PowerShell , or Windows Terminal — do not double-click the .exe (it will flash and close). The full hook system works natively on Windows (and in WSL ). See Windows setup below for details. Verify Installation rtk --version # Should show "rtk 0.28.2" rtk gain # Should show the savings dashboard Name collision warning : Another project named "rtk" (Rust Type Kit) exists on crates.io. If rtk gain fails, you have the wrong package. Use cargo install --git above instead. Quick Start # 1. Install for your AI tool rtk init -g # Claude Code / Copilot (default) rtk init -g --gemini # Gemini CLI rtk init -g --codex # Codex (OpenAI) rtk init -g --agent cursor # Cursor rtk init -g --agent windsurf # Windsurf rtk init --agent cline # Cline / Roo Code rtk init --agent kilocode # Kilo Code rtk init --agent antigravity # Google Antigravity rtk init --agent kimi # Kimi AI rtk init -g --agent pi # Pi rtk init --agent hermes # Hermes rtk init -g --agent droid # Factory Droid # 2. Restart your AI tool, then test git status # Automatically rewritten to rtk git status Hook-based agents rewrite Bash commands (e.g., git status -> rtk git status ) before execution. Plugin-based agents, including Hermes, use their plugin API to rewrite commands before execution. The agent receives compact output without needing to call rtk explicitly. Important: the hook only runs on Bash tool calls. Claude Code built-in tools like Read , Grep , and Glob do not pass through the Bash hook, so they are not auto-rewritten. To get RTK's compact output for those workflows, use shell commands ( cat / head / tail , rg / grep , find ) or call rtk read , rtk grep , or rtk find directly. How It Works Without rtk: With rtk: Claude --git status--> shell --> git Claude --git status--> RTK --> git ^ | ^ | | | full raw output | | compact output | filter | +-----------------------------------+ +------- (filtered) ---+----------+ Four strategies applied per command type: Smart Filtering - Removes noise (comments, whitespace, boilerplate) Grouping - Aggregates similar items (files by directory, errors by type) Truncation - Keeps relevant context, cuts redundancy Deduplication - Collapses repeated log lines with counts Commands Percentages below are reductions in bash output , not reductions in your bill. See How Savings Work . Files rtk ls . # Compact directory tree rtk read file.rs # Smart file reading rtk read file.rs -l aggressive # Signatures only (strips bodies) rtk smart file.rs # 2-line heuristic code summary rtk find " *.rs " . # Compact find results rtk grep " pattern " . # Grouped search results rtk diff file1 file2 # Condensed diff (exit 1 if files differ) Git rtk git status # Compact status rtk git log -n 10 # One-line commits rtk git diff # Condensed diff rtk git add # -> "ok" rtk git commit -m " msg " # -> "ok abc1234" rtk git push # -> "ok main" rtk git pull # -> "ok 3 files +10 -2" GitHub CLI rtk gh pr list # Compact PR listing rtk gh pr view 42 # PR details + checks rtk gh issue list # Compact issue listing rtk gh run list # Workflow run status Test Runners rtk jest # Jest compact (failures only) rtk vitest # Vitest compact (failures only) rtk playwright test # E2E results (failures only) rtk pytest # Python tests (-90%) rtk go test # Go tests (NDJSON, -90%) rtk cargo test # Cargo tests (-90%) rtk rake test # Ruby minitest (-90%) rtk rspec # RSpec tests (JSON, -60%+) rtk err < cmd > # Filter errors only from any command rtk test < cmd > # Generic test wrapper - failures only (-90%) Build & Lint rtk lint # ESLint grouped by rule/file rtk lint biome # Supports other linters rtk tsc # TypeScript errors grouped by file rtk next build # Next.js build compact rtk prettier --check . # Files needing formatting rtk cargo build # Cargo build (-80%) rtk cargo clippy # Cargo clippy (-80%) rtk ruff check # Python linting (JSON, -80%) rtk golangci-lint run # Go linting (JSON, -85%) rtk rubocop # Ruby linting (JSON, -60%+) rtk sbt test # ScalaTest output (-90%) rtk sbt compile # Compilation errors only (-75%) rtk sbt run # Strip SBT preamble noise Package Managers rtk pnpm list # Compact dependency tree rtk uv run pytest # Preserve uv env, keep program output rtk pip list # Python packages (auto-detect uv) rtk pip outdated # Outdated packages rtk bundle install # Ruby gems (strip Using lines) rtk prisma generate # Schema generation (no ASCII art) AWS rtk aws sts get-caller-identity # One-line identity rtk aws ec2 describe-instances # Compact instance list rtk aws lambda list-functions # Name/runtime/memory (strips secrets) rtk aws logs get-log-events # Timestamped messages only rtk aws cloudformation describe-stack-events # Failures first rtk aws dynamodb scan # Unwraps type annotations rtk aws iam list-roles # Strips policy documents rtk aws s3 ls # Truncated with tee recovery Containers rtk docker ps # Compact container list rtk docker images # Compact image list rtk docker logs < container > # Deduplicated logs rtk docker compose ps # Compose services rtk kubectl pods # Compact pod list rtk kubectl logs < pod > # Deduplicated logs rtk kubectl services # Compact service list rtk oc get pods # OpenShift pod summary rtk oc get services # OpenShift service list rtk oc logs < pod > # Deduplicated logs Infrastructure as Code rtk pulumi preview # Strip header/URL/duration noise rtk pulumi up # Compact apply output rtk pulumi destroy # Compact destroy output rtk pulumi refresh # Drift summary rtk pulumi stack # Stack metadata (strips owner/timestamps) Data & Analytics rtk json config.json # Structure without values rtk deps # Dependencies summary rtk env -f AWS # Filtered env vars rtk log app.log # Deduplicated logs rtk curl < url > # Truncate + save full output rtk wget < url > # Download, strip progress bars rtk summary < long command > # Heuristic summary rtk proxy < command > # Raw passthrough + tracking Token Savings Analytics rtk gain # Summary stats rtk gain --graph # ASCII graph (last 30 days) rtk gain --history # Recent command history rtk gain --daily # Day-by-day breakdown rtk gain --all --format json # JSON export for dashboards rtk discover # Find missed savings opportunities rtk discover --all --since 7 # All projects, last 7 days rtk session # Show RTK adoption across recent sessions Global Flags -u, --ultra-compact # ASCII icons, inline format (further output reduction) -v, --verbose # Increase verbosity (-v, -vv, -vvv) Examples Directory listing: # ls -la (45 lines) # rtk ls (12 lines) drwxr-xr-x 15 user staff 480 ... my-project/ -rw-r--r-- 1 user staff 1234 ... +-- src/ (8 files) ... | +-- main.rs +-- Cargo.toml Git operations: # git push (15 lines) # rtk git push (1 line) Enumerating objects: 5, done. ok main Counting objects: 100% (5/5), done. Delta compression using up to 8 threads ... Test output: # cargo test (200+ lines on failure) # rtk test cargo test (~20 lines) running 15 tests FAILED: 2/15 tests test utils::test_parse ... ok test_edge_case: assertion failed test utils::test_format ... ok test_overflow: panic at utils.rs:18 ... Auto-Rewrite Hook The most effective way to use rtk. The hook transparently intercepts Bash commands and rewrites them to rtk equivalents before execution. Result : 100% rtk adoption across all conversations and subagents, with no per-command context overhead. Scope note: this only applies to Bash tool calls. Claude Code built-in tools such as Read , Grep , and Glob bypass the hook, so use shell commands or explicit rtk commands when you want RTK filtering there. Setup rtk init -g # Install hook + RTK.md (recommended) rtk init -g --opencode # OpenCode plugin (instead of Claude Code) rtk init -g --auto-patch # Non-interactive (CI/CD) rtk init -g --hook-only # Hook only, no RTK.md rtk init --show # Verify installation After install, restart Claude Code . Windows RTK works fully on native Windows. Since v0.37.2 the auto-rewrite hook runs as a native binary command ( rtk hook claude ) — no Unix shell, bash, or jq required — so commands are rewritten transparently on Command Prompt, PowerShell, and Windows Terminal, just like on Linux and macOS. Native Windows # 1. Download and extract rtk-x86_64-pc-windows-msvc.zip from releases # 2. Add rtk.exe to your PATH (e.g. C:\Users\<you>\.local\bin) # 3. Initialize — installs the native binary hook rtk init - g Upgrading from an older install? If you set RTK up before v0.37.2 you may still have the legacy rtk-rewrite.sh shell hook (which does need a Unix shell). Re-run rtk init -g to migrate to the native binary hook. Prerequisites : some filters shell out to ripgrep ( rg ). Install it and keep it on your PATH (e.g. winget install BurntSushi.ripgrep.MSVC ) to avoid Binary 'rg' not found on PATH warnings. Important : Do not double-click rtk.exe — it is a CLI tool that prints usage and exits immediately. Always run it from a terminal (Command Prompt, PowerShell, or Windows Terminal). WSL WSL also works and behaves exactly like Linux: # Inside WSL curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh rtk init -g Feature Native Windows WSL Filters (cargo, git, etc.) Full Full Auto-rewrite hook Yes (native binary) Yes rtk init -g Hook mode Hook mode rtk gain / analytics Full Full Supported AI Tools RTK supports 16 AI coding tools. Each integration rewrites shell commands to rtk equivalents, reducing the bash output the agent reads where the agent supports command interception. Tool Install Method Claude Code rtk init -g PreToolUse hook (native binary) GitHub Copilot (VS Code) rtk init -g --copilot PreToolUse hook — transparent rewrite GitHub Copilot CLI rtk init -g --copilot PreToolUse deny-with-suggestion (CLI limitation) Cursor rtk init -g --agent cursor preToolUse hook (hooks.json) Gemini CLI rtk init -g --gemini BeforeTool hook Codex rtk init -g --codex AGENTS.md + RTK.md instructions Windsurf rtk init -g --agent windsurf .windsurfrules (project-scoped) Cline / Roo Code rtk init --agent cline .clinerules (project-scoped) OpenCode rtk init -g --opencode Plugin TS (tool.execute.before) OpenClaw openclaw plugins install ./openclaw Plugin TS (before_tool_call) Pi rtk init -g --agent pi (global) TypeScript extension (tool_call) Hermes rtk init --agent hermes Python plugin adapter (terminal command mutation via rtk rewrite ) Mistral Vibe rtk init -g --agent vibe pre_tool hook (hooks.toml) Kilo Code rtk init --agent kilocode .kilocode/rules/rtk-rules.md (project-scoped) Google Antigravity rtk init --agent antigravity .agents/rules/antigravity-rtk-rules.md (project-scoped) Kimi AI rtk init --agent kimi AGENTS.md (project-scoped) Factory Droid rtk init -g --agent droid (or per-project) PreToolUse hook in ~/.factory/hooks.json (matcher Execute ) For per-agent setup details, override controls, and graceful degradation, see the Supported Agents guide . The Hermes plugin source and tests live in hooks/hermes/ ; installed Hermes runtime files still live under ~/.hermes/plugins/rtk-rewrite/ . Configuration ~/.config/rtk/config.toml (macOS: ~/Library/Application Support/rtk/config.toml ): [ hooks ] exclude_commands = [ " curl " , " playwright " ] # skip rewrite for these [ tee ] enabled = true # save raw output on failure (default: true) mode = " failures " # "failures", "always", or "never" When a command fails, RTK saves the full unfiltered output so the LLM can read it without re-executing: FAILED: 2/15 tests [full output: ~/.local/share/rtk/tee/1707753600_cargo_test.log] For the full config reference (all sections, env vars, per-project filters), see the Configuration guide . Uninstall rtk init -g --uninstall # Remove hook, RTK.md, settings.json entry cargo uninstall rtk # Remove binary brew uninstall rtk # If installed via Homebrew Documentation rtk-ai.app/guide — full user guide (installation, supported agents, what gets optimized, analytics, configuration, troubleshooting) INSTALL.md — detailed installation reference ARCHITECTURE.md — system design and technical decisions CONTRIBUTING.md — contribution guide SECURITY.md — security policy Privacy & Telemetry RTK can collect anonymous, aggregate usage metrics once per day. Telemetry is disabled by default and requires explicit opt-in consent (GDPR Art. 6, 7) during rtk init or via rtk telemetry enable . This data helps us build a better product: identifying which commands need filters, which filters need improvement, and how much value RTK delivers. For the full list of fields, data handling, and contributor guidelines, see docs/TELEMETRY.md . What is collected and why: Category Data Why Identity Salted device hash (SHA-256, not reversible) Count unique installations without tracking individuals Environment RTK version, OS, architecture, install method Know which platforms to support and test Usage volume Command count (24h), total commands, estimated tokens saved (24h/30d/total) Measure adoption and value delivered Quality Top 5 passthrough commands (0% reduction), parse failure count, commands with <30% reduction Identify missing filters and weak ones to improve Ecosystem Command category distribution (e.g. git 45%, cargo 20%, js 15%) Prioritize filter development for popular ecosystems Retention Days since first use, active days in last 30 Understand engagement and detect churn Adoption AI agent hook type (claude/gemini/codex), custom TOML filter count Track integration coverage and DSL adoption Configuration Whether config.toml exists, number of excluded commands, project count Understand user maturity and customization patterns Features Usage counts for meta-commands (gain, discover, proxy, verify) Know which RTK features are valued vs unused Economics Estimated USD value, derived from the estimated tokens saved and a fixed internal constant Quantify the value RTK provides to users All data is aggregate counts or anonymized command names (first 3 words, no arguments). Top commands report only tool names (e.g. "git", "cargo"), never full command lines. What is NOT collected: source code, file paths, command arguments, secrets, environment variables, personal data, or repository contents. Manage telemetry: rtk telemetry status # Check current consent state rtk telemetry enable # Give consent (interactive prompt) rtk telemetry disable # Withdraw consent — stops all collection immediately rtk telemetry forget # Withdraw consent + delete all local data + request server-side erasure Override via environment: export RTK_TELEMETRY_DISABLED=1 # Blocks telemetry regardless of consent Star History StarMapper Core team Patrick Szymkowiak — Founder GitHub · LinkedIn Florian Bruniaux — Core contributor GitHub · LinkedIn Adrien Eppling — Core contributor GitHub · LinkedIn Nicolas Le Cam — Core contributor Github · LinkedIn Takayuki Maeda — Core contributor GitHub · LinkedIn Contributing Contributions welcome! Please open an issue or PR on GitHub . Join the community on Discord . License Apache License 2.0 - see LICENSE for details. Disclaimer See DISCLAIMER.md .
FreeWindowsmacOSLinux

Find free open source alternatives of following paid software: