
Lavandula is a lightweight, fast, and intuitive C web framework designed for building small web applications quickly. It focuses on simplicity, performance, and productivity.
#include "lavandula.h"
appRoute(home, ctx) {
return ok("Hello, World", TEXT_PLAIN);
}
int main() {
App app = createApp();
get(&app, "/home", home);
runApp(&app);
}
See /examples for more.
⚠️ Notice: Lavandula is still in early development and not ready for production use.
Expect frequent breaking changes and incomplete documentation.
To install Lavandula, follow these steps.
git clone https://github.com/ashtonjamesd/lavandula.git
cd lavandula
./install.sh
You should see the following:
[SUCCESS] 🎉 Lavandula installation completed!
Quick Start:
lavu new my-project # Create a new project
cd my-project
lavu run # Run your project
Documentation:
GitHub: https://github.com/ashtonjamesd/lavandula
You should now be able to run the Lavu CLI tool and begin writing your application. Refer to this document for how to use Lavu.
lavu new myProject
This will set up an application folder structure and copy the Lavandula /src directory into the created folder structure. This allows you to easily compile the framework and your app together.
Output:
Setting up Lavandula project 'myProject'...
-> Created myProject/lavandula.yml
...
🎉 Lavandula project 'myProject' setup finished successfully!
Next steps:
1. cd myProject
2. lavu run
lavu run
Your application will run on http://localhost:3000/.
Read the docs
Contributions are welcome. Feel free to submit pull requests or open issues for feature requests or bugs.
Some places to start: - Possible memory leaks - Application security - Outdated and unfinished documentation (API changes warrant a docs update)
Lavandula is registered under the MIT License.
$ claude mcp add lavandula \
-- python -m otcore.mcp_server <graph>