Commit

bc0c9c3

Last round, I think: Q25 Distribution: the CLI is published as a compiled Bun binary on GitHub Releases of this repo, and the vault pins it in mise.toml via the github: backend. pitchfork.toml in the vault runs notes serve. -> Yes. Q26 Cutover check: before switching,…
Fair. Bundled JS (bun build --target=bun, #!/usr/bin/env bun, bun via mise), with backoffice assets inlined so it's one file. If shiki wasm won't inline, ship a tarball instead. Writing docs/SPEC.md now.
@dtinth docs/SPEC.md is done, committed as the first commit on (local only). It covers the 3 layers, plan/apply, the frontend contract, sync, secrets and cutover. Push to origin so you can read it there?
Well, you don't have push access right now, so I will have to grant you access. But I will do that later. For now, please work on the local copy. But are you ready to start prototyping in the meantime? Maybe you can see if you can get Bun building and bundling and compiling to…
@dtinth Prototype works, committed on next (00f1eea, local). bun run build makes dist/notes.js: one 10.8 MB file with a #!/usr/bin/env bun shebang. Copied alone (no node_modules) next to an example vault, it indexes notes (private/listed/unlisted, sha256 versions) and builds…
@dtinth Done (69db93a, local). Slight change of plan: no repacking needed. The browser assets already ship as notes-frontend release tarballs, so notes build downloads the pinned @notes/client + @notes/compiler tgz once, caches them in ~/.cache/notes, and copies compiler/,…
Yes please. It's already in ghq. Access to both repos granted. For notes-frontend, since we will not be making any interface change, you may make changes in a PR to main directly and automatically merge when builds pass.
I took a look. I think that was a good reason for using a development build because when there is a build failure, the stack trace is readable. Is the dev notice suppressable without hijacking console?
@dtinth Yes, without hijacking console. Only the esm-browser build prints that notice. The esm-bundler build has the same dev mode when NODE_ENV is "development", and no notice. PR #2 updated: alias to vue.runtime.esm-bundler.js and define NODE_ENV=development. Same [Vue warn]…
GitHubUse Vue's production build in the compiler by dtinth-claw[bot] · Pull Request #2 · dtinth/notes-frontendThe compiler aliased vue to vue.runtime.esm-browser.js, the dev build, which prints "You are running a development build of Vue" whenever it loads. This shows up every time the compiler r...
@dtinth Main build passed, release v0.0.261020163032 is out. Bumped it on next (local), rebuilt dist/notes.js, and a clean-dir run builds the example site with no Vue notice.
I am thinking about deployment and start doubting my own decisions. With Dokploy, deploying a new version of the server is just a matter of pushing to the repo. Dokploy also allows bind mount, so I can bind mount the vault into the server container. Only uid needs to match. What…
I think it's better. It keeps what mattered in Q1 (the vault stays a plain dir on the host, so Claude Code still works in it bare) and drops the part I liked least: building a release pipeline just to deploy. What changes: - Q25: no bundled-JS release needed for the server. A Dockerfile in this repo, and Dokploy builds on push. The single-file bundle can stay for a host CLI if we want one. - Q21: Dokploy gives the domain + HTTPS directly. - Secrets go in Dokploy env, still outside the vault. - The site clone and package cache go in a named volume. Watch out for: - uid: run as your host uid (compose user: or a build arg), or commits come out root-owned. - git in the image, plus safe.directory for the mount. - The server's auto-commit and your agents' git commands share one working tree, so they can hit index.lock. Same as bare though: retry on lock. - File watching works fine through a bind mount on Linux. Agents would run notes plan by calling the server's API instead of a local process. I'd make the CLI a thin client for that. Go with it?

commit bc0c9c3