diff --git a/.claude/settings.local.json b/.claude/settings.local.json
deleted file mode 100644
index af5f4de..0000000
--- a/.claude/settings.local.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "permissions": {
- "allow": [
- "Bash(cd:*)",
- "WebFetch(domain:github.com)",
- "WebFetch(domain:raw.githubusercontent.com)",
- "WebFetch(domain:api.github.com)",
- "Bash(xargs grep:*)",
- "Bash(jfr summary:*)",
- "Bash(jfr print:*)",
- "Bash(sort -t= -k4 -rn)",
- "Bash(sed 's/.*objectClass = //')",
- "Bash(sed 's/ \\(.*//')",
- "Bash(sed 's/^\\\\s*//')",
- "Bash(jar tf:*)",
- "Bash(javap -c -p /c/Users/elorc/.m2/repository/dev/relism/fpr-core/1.1.0/fpr-core-1.1.0.jar!/dev/relism/fpr/core/internal/runtime/FrozenRouter.class)",
- "Read(//c/tmp/**)",
- "Bash(jar xf:*)",
- "Bash(javap -c -p dev/relism/fpr/core/internal/runtime/FrozenRouter.class)",
- "Bash(javap -c -p dev/relism/fpr/core/internal/runtime/RouteSearch.class)"
- ]
- }
-}
diff --git a/.gitignore b/.gitignore
index e3d1024..ee23e88 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,6 +39,7 @@ build/
.DS_Store
CLAUDE.md
+.claude/
### Local / scratch ###
flash/src/main/java/dev/relism/Main.java
diff --git a/README.md b/README.md
index c912e82..760fd5d 100644
--- a/README.md
+++ b/README.md
@@ -1,83 +1 @@
# Flash
-
-A high-performance HTTP/1.1 server library for Java 21+, built for low-latency workloads.
-
-## Features
-
-- **Virtual threads** — one virtual thread per connection via `Executors.newVirtualThreadPerTaskExecutor()`
-- **Zero-allocation hot path** — header buffer reused across keep-alive requests; `ByteView` slices avoid copies
-- **Fast routing** — `fpr-core` compiles routes into a byte-level finite automaton at first request; path params via `PathParams`
-- **Two-tier router** — mounted sub-routers matched by longest prefix, then `FastPathRouterImpl` fallback
-- **Middleware chain** — composable `Middleware` lambdas fused at registration time (no per-request allocation)
-- **Chunked transfer** — `ChunkedInputStream` de-chunks on the fly, keeps socket positioned for pipelining
-- **Request body** — `bytes()` for full materialization or `stream()` for zero-copy streaming
-
-## Requirements
-
-- Java 21+
-- Maven 3.8+
-
-## Build
-
-```bash
-mvn clean package -DskipTests
-```
-
-## Quick start
-
-```java
-HttpServer server = new HttpServer(
- HttpServerConfiguration.builder().port(8080).build()
-);
-
-server.get("/hello", (req, res) -> "Hello, world!");
-
-server.register(new MyHandler()); // @Route(path="/...", method=GET)
-
-server.start().thenRun(() -> System.out.println("Listening on :8080"));
-```
-
-## Handler styles
-
-**Lambda:**
-```java
-server.get("/ping", (req, res) -> "pong");
-```
-
-**Class-based (`@Route`):**
-```java
-@Route(path = "/users/{id}", method = HttpMethod.GET)
-public class GetUser extends RequestHandler {
- @Override
- public Object handle(Request req, Response res) {
- String id = req.pathParam("id");
- return "{\"id\":\"" + id + "\"}";
- }
-}
-```
-
-**Middleware:**
-```java
-Middleware cors = next -> (req, res) -> {
- res.header("Access-Control-Allow-Origin", "*");
- return next.handle(req, res);
-};
-server.register(new GetUser(), cors);
-```
-
-## Maven dependency
-
-```xml
-
-
- relism-releases
- https://maven.relism.dev/releases
-
-
-
-
- dev.relism
- flash
- 1.0-SNAPSHOT
-
-```