diff --git a/.gitignore b/.gitignore index d222f7e..f5bf174 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ *.orig .DS_Store site/dist/ +.netlify/ diff --git a/README.md b/README.md index a7ee190..dada40c 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ New books, one command (installs Rust and wanderbooks if needed, makes the books dir with the MCP server registered for it, and starts the agent): ```bash -curl -fsSL https://git.swaits.com/swaits/wanderbooks/raw/branch/main/install.sh | sh -s -- ~/Books/Acme +curl -fsSL https://wanderbooks.ai/install.sh | sh -s -- ~/Books/Acme ``` Already installed: `wanderbooks new ~/Books/Acme`. In a books dir, `just` diff --git a/install.sh b/install.sh index 80b7e32..dd5c969 100755 --- a/install.sh +++ b/install.sh @@ -1,7 +1,7 @@ #!/bin/sh # wanderbooks installer. One line on a new machine: # -# curl -fsSL https://git.swaits.com/swaits/wanderbooks/raw/branch/main/install.sh | sh -s -- ~/Books/Acme +# curl -fsSL https://wanderbooks.ai/install.sh | sh -s -- ~/Books/Acme # # Linux and macOS. On Windows, run it inside WSL2 (Ubuntu): the GUI opens as # a normal window on Windows 11. diff --git a/justfile b/justfile index 44ae4ab..57ce8de 100644 --- a/justfile +++ b/justfile @@ -2,6 +2,9 @@ set shell := ["bash", "-cu"] +# The Netlify CLI, fetched on demand. +netlify := "npx --yes netlify-cli@27" + # List recipes default: @just --list @@ -41,6 +44,10 @@ site: cp site/index.html install.sh site/dist/ cp -r site/assets site/dist/ -# Publish the website: just publish user@host:/var/www/wanderbooks -publish dest: site - rsync -av --delete site/dist/ "{{dest}}" +# Deploy the website to wanderbooks.ai (Netlify; `netlify login` once first) +deploy: site + {{netlify}} deploy --prod --dir site/dist --no-build + +# Deploy a preview of the website and print its URL +deploy-preview: site + {{netlify}} deploy --dir site/dist --no-build diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..83c0939 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,17 @@ +# wanderbooks.ai: the static site in site/, plus install.sh at the root. +# `just site` builds the same thing locally; `just deploy` publishes it. +[build] + command = "rm -rf site/dist && mkdir -p site/dist && cp site/index.html install.sh site/dist/ && cp -r site/assets site/dist/" + publish = "site/dist" + +# curl | sh reads plain text; never let a CDN cache an old installer for long. +[[headers]] + for = "/install.sh" + [headers.values] + Content-Type = "text/plain; charset=utf-8" + Cache-Control = "public, max-age=300" + +[[headers]] + for = "/assets/*" + [headers.values] + Cache-Control = "public, max-age=86400" diff --git a/site/index.html b/site/index.html index 98a76c4..3a71f10 100644 --- a/site/index.html +++ b/site/index.html @@ -5,6 +5,12 @@ wanderbooks — own your books, hire an AI bookkeeper + + + + + + @@ -117,7 +123,7 @@ footer { padding: 72px 0 48px; color: var(--faint); font-size: 14px; display: fl

wanderbooks is real double-entry accounting that lives in a folder you own, kept by an AI bookkeeper you talk to. It finds your receipts, records and categorizes everything, fixes its mistakes the way an accountant would, and hands your CPA a clean package. No subscription. No lock-in. Every number traceable to its receipt.

$ - curl -fsSL https://git.swaits.com/swaits/wanderbooks/raw/branch/main/install.sh | sh -s -- ~/Books/YourCompany + curl -fsSL https://wanderbooks.ai/install.sh | sh -s -- ~/Books/YourCompany

One line installs everything, makes your books, and starts your bookkeeper. Linux and macOS; Windows via WSL2. Free and open source; you bring Claude.

@@ -250,10 +256,10 @@ footer { padding: 72px 0 48px; color: var(--faint); font-size: 14px; display: fl