📈 GH Trending Explorer 🎲 Surprise me

← all repos

planety / prologue

git clone https://github.com/planety/prologue.git v0.6.8 · 9mo ago 🔥 on GitHub Trending today

Powerful and flexible web framework written in Nim

+0
stars, 24h · #23,687
+1
stars, 7 days · #32,151
+~10
stars, 30 days · #26,818
1.4k
★ total · +0% this week
54
forks · 41 open issues

Star history (as recorded here)

2026-10-20 · 1,358 ★ 2026-10-23 · 1,359 ★
LanguageNim
LicenseApache-2.0
Created2020-01-11 (6y ago)
Last push1mo ago
Watchers24
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-23 — #1 weekly in nim · +1 ★
  • 2026-10-22 — #1 daily in nim · +1 ★
  • 2026-10-21 — #1 daily in nim
  • 2026-10-20 — #1 daily in nim

GitHub topics

Links

README excerpt
# Prologue
What's past is prologue.
## Purpose
`Prologue` is a powerful and flexible web framework written in Nim.
It is ideal for building elegant and high performance web services.
**Reduce magic. Reduce surprise.**
## Documentation
 Documentation 
 Index Page 
 Core API 
 Index Page 
 Search Page 
 Full API 
 Index Page 
 Search Page 
Welcome to write your own experience with Prologue at our wiki. To get familiar with the code structure, use DeepWiki: 
## Features
- Core
 - [x] Configure and Settings
 - [x] Context
 - [x] Param and Query Data
 - [x] Form Data
 - [x] Static Files
 - [x] Middleware
 - [x] Powerful Routing System(based on nest)
 - [x] Cookie
 - [x] Startup and Shutdown Events
 - [x] URL Building
 - [x] Error Handler
- Plugin
 - [x] I18n
 - [x] Basic Authentication
 - [x] Minimal OpenAPI support
 - [x] Websocket support
 - [x] Mocking test
 - [x] CORS Response
 - [x] Data Validation
 - [x] Session
 - [x] Cache
 - [x] Signing
 - [x] Command line tools
 - [x] Cross-Site Request Forgery
 - [x] Clickjacking Protection
## Installation
First you should install Nim language which is an elegant and high performance language. Follow the instructions and set environment variables correctly.
Then you can use `nimble` command to install `prologue`.
 [code] 
### Chronos Backend
Prologue can use chronos instead of asyncdispatch via the kairos HTTP server:
 [code] 
Or without nimble, pass `-d:asyncBackend=chronos` to the compiler. No code changes needed — your handlers work with both backends.
## Usages
### Hello World
 [code] 
Run **app.nim** ( `nim c -r app.nim` ). Now the server is running at `localhost:8080`.
### More examples
- HelloWorld
- ToDoList
- ToDoApp
- Blog
- Additional examples repository
### Extensions
If you need more extensions, you can refer to awesome prologue and awesome nim.
## Donations
Thanks for supporting me!
https://github.com/sponsors/planety
## Stars