update readme

This commit is contained in:
chloe caruso 2025-06-13 00:29:30 -07:00
parent a41569983f
commit a7220a7e74

View file

@ -17,6 +17,10 @@ that assist building websites. these tools power https://paperclover.net.
- Static asset serving with ETag and build-time compression.
- Dynamic server side rendering from within backend code.
- Databases with a typed SQLite wrapper.
- TODO: Integrated unit and end-to-end test runner. Along with other built-in
codebase checks (tsc, lint), all tests run automatically in the background.
Test caching uses the same incremental system the build does, so changing a
library file knows to re-test all of the pages that import it.
- Built on the battle-tested Node.js runtime. Partial support for Deno and Bun.
[1]: https://next.markojs.com
@ -45,21 +49,19 @@ npm install
# production generation
node run generate
node .clover/out/server
# live development environment
node repl
# "development" watch mode
node run watch
```
`repl.js` will open a read-eval-print-loop where plugin state is cached (on my
2014 dev laptop, startup time is 600-1000ms). every file in `framework` and
`src` besides `hot.ts` can be edited and quickly re-run. for example, to run
`framework/generate.ts`, you can type "generate" into the shell. since
top-level await is not supported (plugins are built on `require` as Node has
poor module support), CLIs can include a `main` function, which is executed
when the REPL runs it.
TODO: in the future, the repl will have a "dev" command which will do the incremental
site build + host, possibly immediatly on opening the repl.
<!-- `repl.js` will open a read-eval-print-loop where plugin state is cached (on my -->
<!-- 2014 dev laptop, startup time is 600-1000ms). every file in `framework` and -->
<!-- `src` besides `hot.ts` can be edited and quickly re-run. for example, to run -->
<!-- `framework/generate.ts`, you can type "generate" into the shell. since -->
<!-- top-level await is not supported (plugins are built on `require` as Node has -->
<!-- poor module support), CLIs can include a `main` function, which is executed -->
<!-- when the REPL runs it. -->
## Contributions