Welcome to Kelp, a lean Perl web framework designed to make web development simple, efficient, and powerful. Whether you're building a small personal project or a complex application, Kelp delivers the tools required to turn your idea into a fully functional website. At the same time, its minimalist design and modular architecture results in faster performance and outstanding extensibility. With Kelp, you can focus on writing clean, maintainable code without the bloat of unnecessary features. Our intuitive routing system, flexible configuration options, and seamless integration with the Plack ecosystem make developing with Perl a pleasurable experience.

Much like Perl itself, Kelp tries to move forward without breaking backward compatibility. Recently released major version 2 of the framework brought an astonishing number of new features, bug fixes and performance improvements without causing any major disturbances to existing applications. It values your time as a developer and lets you sit back and enjoy a functional and stable website for years.

What makes Kelp different from the other web frameworks? From all the fine web frameworks in the Perl ecosystem, the majority bring their own deployment code and aim to write their own processing mechanisms. Kelp, on the other hand, is heavily Plack-centric. It uses Plack as its foundation layer, and it builds the web framework on top of it. Kelp::Request is an extension of Plack::Request, Kelp::Response is an extension of Plack::Response and the application can be run natively through plackup.

This approach of extending current CPAN code puts well tested tools in the hands of the application developer, while keeping familiar syntax and work flow. It also creates less friction when running in a pure Plack environment, making Kelp one of the fastest Perl web frameworks.

Besides Plack itself, Kelp uses only a few popular, trusted CPAN modules for its internals. At the same time, its core does not deliver features you might not need. Solutions to many common problems already exist either as Plack application or middleware, or as a Kelp third party module. The framework does its best to keep a lean profile and a small footprint, and it's completely object manager agnostic.

The Kelp project is distributed through CPAN. To install it, you can use your local CPAN client - cpanm Kelp - or download and build a tarball from MetaCPAN. To get started, read our extensive manual. If you have any questions, we're happy to help - you can either create a GitHub issue, ask on GitHub discussions or ask on our Google group.