···3232nix run .#watch-tailwind3333```34343535+To authenticate with the appview, you will need redis and3636+OAUTH JWKs to be setup:3737+3838+```3939+# oauth jwks should already be setup by the nix devshell:4040+echo $TANGLED_OAUTH_JWKS4141+{"crv":"P-256","d":"tELKHYH-Dko6qo4ozYcVPE1ah6LvXHFV2wpcWpi8ab4","kid":"1753352226","kty":"EC","x":"mRzYpLzAGq74kJez9UbgGfV040DxgsXpMbaVsdy8RZs","y":"azqqXzUYywMlLb2Uc5AVG18nuLXyPnXr4kI4T39eeIc"}4242+4343+# if not, you can set it up yourself:4444+go build -o genjwks.out ./cmd/genjwks4545+export TANGLED_OAUTH_JWKS="$(./genjwks.out)"4646+4747+# run redis in at a new shell to store oauth sessions4848+redis-server4949+```5050+3551## running a knot36523753An end-to-end knot setup requires setting up a machine with···8670```bash8771git remote add local-dev git@nixos-shell:user/repo8872git push local-dev main7373+```7474+7575+## running a spindle7676+7777+The above VM should already be running a spindle on7878+`localhost:6555`. You can head to the spindle dashboard on7979+`http://localhost:3000/spindles`, and register a spindle8080+with hostname `localhost:6555`. It should instantly be8181+verified. You can then configure each repository to use this8282+spindle and run CI jobs.8383+8484+Of interest when debugging spindles:8585+8686+```8787+# service logs from journald:8888+journalctl -xeu spindle8989+9090+# CI job logs from disk:9191+ls /var/log/spindle9292+9393+# debugging spindle db:9494+sqlite3 /var/lib/spindle/spindle.db9595+9696+# litecli has a nicer REPL interface:9797+litecli /var/lib/spindle/spindle.db8998```