ihp  by digitallyinduced

Type-safe web framework for productive development

Created 8 years ago
5,259 stars

Top 9.5% on SourcePulse

GitHubView on GitHub
Project Summary

Summary IHP is a batteries-included, type-safe web framework built on Haskell and Nix, designed for long-term productivity and programmer happiness. It enables teams to build serious web applications rapidly and confidently by catching errors at compile time and providing a managed, zero-friction development environment.

How It Works IHP leverages Haskell's strong type system for compile-time guarantees across routing, database queries, and HTML rendering via its HSX templating engine. It integrates AI-driven development workflows, using the type system as a safety net for AI-generated code. Nix manages all dependencies, including GHC and PostgreSQL, ensuring identical development environments for all team members. Key features include a visual Schema Designer, code generators, live reload, and built-in authentication.

Quick Start & Requirements Install via Nix: nix profile install nixpkgs#ihp-new. Create a project with ihp-new myproject and set up the environment with cd myproject && devenv up. Nix is the primary dependency. Official quick-start and full installation guides are available.

Highlighted Details

  • Type Safety: End-to-end type safety for routing, queries, and HSX HTML templates.
  • AI-Driven Development: Optimized for AI code generation, with the compiler verifying AI output.
  • Developer Experience: Visual Schema Designer, IDE code generators, live reload, and auto-refresh.
  • Deployment: Declarative NixOS deployment (deploy-to-nixos) ensures environment parity and zero-downtime restarts.

Maintenance & Community In production since 2017, IHP is used by teams building serious web applications. Community support is available via Slack and a Forum. Contribution guidelines are detailed in CONTRIBUTING.md.

Licensing & Compatibility The README does not explicitly state the project's license, creating uncertainty regarding commercial use and compatibility.

Limitations & Caveats The primary adoption blocker is the lack of a clearly stated open-source license. The framework's reliance on Nix and Haskell may present a learning curve for teams unfamiliar with these technologies.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
95
Issues (30d)
16
Star History
49 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.