{"id":33191345,"url":"https://github.com/Lanayx/Oxpecker","last_synced_at":"2025-11-21T00:02:09.865Z","repository":{"id":215661383,"uuid":"737445704","full_name":"Lanayx/Oxpecker","owner":"Lanayx","description":"Backend and Frontend F# frameworks","archived":false,"fork":false,"pushed_at":"2025-11-11T23:21:45.000Z","size":1763,"stargazers_count":378,"open_issues_count":7,"forks_count":23,"subscribers_count":11,"default_branch":"develop","last_synced_at":"2025-11-11T23:25:13.377Z","etag":null,"topics":["asp-net-core","fsharp","htmx","solidjs","web"],"latest_commit_sha":null,"homepage":"https://lanayx.github.io/Oxpecker/","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lanayx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["lanayx"]}},"created_at":"2023-12-31T04:00:03.000Z","updated_at":"2025-11-06T07:29:03.000Z","dependencies_parsed_at":"2024-01-14T20:06:59.657Z","dependency_job_id":"f83d16f1-f2c8-44c0-ad3c-be906fca25af","html_url":"https://github.com/Lanayx/Oxpecker","commit_stats":{"total_commits":390,"total_committers":9,"mean_commits":"43.333333333333336","dds":0.02051282051282055,"last_synced_commit":"230ceef724818a7a0248443f9778c117bb767ed9"},"previous_names":["lanayx/oxpecker"],"tags_count":82,"template":false,"template_full_name":null,"purl":"pkg:github/Lanayx/Oxpecker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanayx%2FOxpecker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanayx%2FOxpecker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanayx%2FOxpecker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanayx%2FOxpecker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lanayx","download_url":"https://codeload.github.com/Lanayx/Oxpecker/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lanayx%2FOxpecker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285532343,"owners_count":27187706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-20T02:00:05.334Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net-core","fsharp","htmx","solidjs","web"],"created_at":"2025-11-16T06:00:41.329Z","updated_at":"2025-11-21T00:02:09.860Z","avatar_url":"https://github.com/Lanayx.png","language":"F#","funding_links":["https://github.com/sponsors/lanayx","https://github.com/sponsors/Lanayx"],"categories":["Web Frameworks"],"sub_categories":["Creating Type Providers"],"readme":"---\n---\n\n# Oxpecker\n\n![Oxpecker](https://github.com/Lanayx/Oxpecker/raw/develop/images/oxpecker.png)\n\n**Welcome to Oxpecker!** An F# library designed to supercharge your web development with ASP.NET Core, HTMX, and Solid.js. Oxpecker began as a functional wrapper for ASP.NET Core Endpoint routing (think F#-friendly \"Minimal APIs\") and has evolved into a comprehensive fullstack solution. Our monorepo includes all related projects, with documentation conveniently located in `README.md` files for each project.\n\n🚀 **Performance Alert!** Oxpecker is recognized as one of the fastest .NET web frameworks in several categories [in the TechEmpower benchmark](https://www.techempower.com/benchmarks/#section=data-r23\u0026p=zik0zj-zik0zj-zijocf-zik0zj-zik0zj-18y67).\n\nThe server-side core of Oxpecker is a refined version of the acclaimed [Giraffe](https://github.com/giraffe-fsharp/Giraffe), largely maintaining Giraffe's successful API (hence the name!). Key enhancements include optimized core types, better performance, simplified handler logic, and the removal of outdated functionalities.\n\n## Why Choose Oxpecker?\n\n*   **Blazing Fast:** Benefit from top-tier performance, as validated by TechEmpower benchmarks.\n*   **Functional \u0026 F#-Friendly:** Enjoy an idiomatic F# experience on top of ASP.NET Core.\n*   **Fullstack Power:** Seamlessly integrate backend and frontend with HTMX and Solid.js.\n*   **Modern ASP.NET Core:** Leverages native Endpoint routing for robust and flexible web applications.\n*   **Rich Feature Set:** From view engines to HTMX integration, Oxpecker has you covered.\n\n## Dive Deeper - Features:\n\n*   Native [ASP.NET Core Endpoint routing](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/routing) integration\n*   Fast ViewEngine with a convenient DSL for HTML\n*   OpenAPI integration\n*   HTMX integration\n*   Strongly typed route parameters\n*   Endpoint handlers and endpoint middlewares, offering flexible composition\n*   Effortless JSON binding and serialization\n*   Simplified Form binding\n*   Built-in Model validation\n*   Easy URL parameters binding\n*   Response caching capabilities\n*   Streaming support\n*   Authorization mechanisms\n*   eTag support\n*   Comprehensive IResult support\n*   A wealth of useful **HttpContext** extensions\n\n## Get Started Quickly:\n\nReady to build something amazing?\n*   [Empty template](https://github.com/Lanayx/Oxpecker/blob/main/examples/Empty) - Your basic starting point for server apps.\n*   [Empty Solid template](https://github.com/Lanayx/Oxpecker/blob/main/examples/EmptySolid) - For frontend Solid.js based applications.\n\n## Explore Our Examples:\n\nSee Oxpecker in action:\n*   [Fullstack CRUD](https://github.com/Lanayx/Oxpecker/blob/develop/examples/CRUD) - Example with functional DI on the backend.\n*   [HTMX Contact App](https://github.com/Lanayx/Oxpecker/tree/develop/examples/ContactApp) - A sample HTMX application.\n*   [ASP.NET WeatherApp (Oxpecker style)](https://github.com/Lanayx/Oxpecker/tree/develop/examples/WeatherApp)\n*   [Frontend SPA (TodoList)](https://github.com/Lanayx/Oxpecker/tree/develop/examples/TodoList) - SPA application without a backend.\n*   [MCP Server \u0026 Client](https://github.com/Lanayx/Oxpecker/tree/develop/examples/MCP) - Model Context Protocol example.\n*   [Feature Showcase](https://github.com/Lanayx/Oxpecker/blob/develop/examples/Basic) - A dump of different server features all in one place.\n\n## Learn More - Articles \u0026 Insights:\n\nMedium posts from the creator:\n*   [Oxpecker Introduction](https://medium.com/@lanayx/the-oxpecker-ef9df3dfb918)\n*   [7 reasons to try Oxpecker.ViewEngine](https://medium.com/@lanayx/7-reasons-to-try-oxpecker-viewengine-af642b4d191c)\n*   [Oxpecker vs Blazor](https://medium.com/@lanayx/blazor-vs-oxpecker-067cbcda9f99)\n*   [Oxpecker.Solid introduction](https://medium.com/@lanayx/oxpecker-goes-full-stack-45beb1f3da34)\n\n## Comprehensive Documentation:\n\n*   [Oxpecker](https://lanayx.github.io/Oxpecker/src/Oxpecker/)\n*   [Oxpecker.ViewEngine](https://lanayx.github.io/Oxpecker/src/Oxpecker.ViewEngine/)\n*   [Oxpecker.Htmx](https://lanayx.github.io/Oxpecker/src/Oxpecker.Htmx/)\n*   [Oxpecker.OpenApi](https://lanayx.github.io/Oxpecker/src/Oxpecker.OpenApi/)\n*   [Oxpecker.Solid](https://lanayx.github.io/Oxpecker/src/Oxpecker.Solid/)\n*   [Migrating from Giraffe](https://lanayx.github.io/Oxpecker/MigrateFromGiraffe)\n\n## Contributing \u0026 Development Lifecycle:\n\n*   **`develop` branch:** This is our active development branch. Projects are linked using project references. Please send your Pull Requests here!\n*   **`main` branch:** This is our production branch. Projects and examples use NuGet (or npm) packages. Releases are published from this branch.\n\nWe welcome contributions! Check out the `develop` branch to get started.\n\n## Oxpecker community space\n\nIf you have developed a library that extends Oxpecker functionality, but it can't go into the main repo, you can submit it as a separate repository under [Oxpecker-Community GitHub organization](https://github.com/Oxpecker-Community).\n\n## Official Packages:\n\nFind Oxpecker on NuGet:\n*   [Oxpecker](https://www.nuget.org/packages/Oxpecker)\n*   [Oxpecker.ViewEngine](https://www.nuget.org/packages/Oxpecker.ViewEngine)\n*   [Oxpecker.Htmx](https://www.nuget.org/packages/Oxpecker.Htmx)\n*   [Oxpecker.OpenApi](https://www.nuget.org/packages/Oxpecker.OpenApi)\n*   [Oxpecker.Solid](https://www.nuget.org/packages/Oxpecker.Solid)\n*   [Oxpecker.Solid.FablePlugin](https://www.nuget.org/packages/Oxpecker.Solid.FablePlugin)\n\n## ❤️ Support Oxpecker's Growth!\n\nOxpecker is a passion project, and your support can make a huge difference! If you find Oxpecker valuable, or if you'd like to see it continue to evolve and improve, please consider becoming a sponsor.\n\nYour contributions help us:\n*   Dedicate more time to development and new features.\n*   Improve documentation and examples.\n*   Provide faster community support.\n*   Keep the project healthy and actively maintained.\n\n👉 **[Become a Sponsor on GitHub](https://github.com/sponsors/Lanayx)**\n\nEvery bit of support is greatly appreciated and helps us build a better future for F# web development with Oxpecker!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLanayx%2FOxpecker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLanayx%2FOxpecker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLanayx%2FOxpecker/lists"}