Commit
156d3d8
@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.So how's the project status? Send me an infographic.
@dtinth Foundations done: spec, single-file CLI, assets, Vue fix. Next up is parity with legacy, then plan/apply. Want me to push
next and start on parity?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…
Sounds great.
@dtinth Updated docs/SPEC.md for Dokploy + bind-mounted vault, with the CLI as a thin API client (f16dad0, local). Still waiting on a yes to push
next and start on legacy parity.Yes, pls push and start on legacy parity!
@dtinth Parity done and pushed: https://github.com/dtinth/notes-infrastructure/commit/0e36dcf
bun run parity takes the 466 .md notes from the live dt.in.th repo as a vault and builds into a copy of it:
- tree.json, sitegraph.json, index.json, sitemap.txt, recent.xml, every .md…GitHubReach parity with the legacy static site output · dtinth/notes-infrastructure@0e36dcfPorts note indexing, the public tree, sitegraph, search index, search keys and the full static site build (pages, .md copies, alias pages, 404, api/*, RSS, CNAME and friends) from legacy. `bun run...
Yes please!
On it: plan/apply against Supabase, behind an interface with an in-memory fake and tests. No live Supabase access here, so I will test against the fake and leave a read-only
notes plan for you to run against the real one.You have rootless Docker. Can you work on this autonomously and update progress as you go?
6/7 done (7712869, CI green): the backoffice at /admin/. Drove it with Playwright against local Supabase: signed in, edited JavaScript.md (Ctrl+S), opened the plan, applied all 4. The save got auto-committed and pushed to the vault remote, and the apply rebuilt and pushed the…
dt.in.thThai Pangsakulyanont
Nice. Place match the design system. See https://github.com/dtinth/claw for more examples.
GitHubGitHub - dtinth/claw: Tools to provide my coding agents fine-grained access to my repositoriesTools to provide my coding agents fine-grained access to my repositories - dtinth/claw
Nice. Do an adversarial security review pls.
On it: adversarial security review of next (server auth, API, git/token handling, path traversal, preview iframe, Docker). Will post findings and fixes.
Review pass done, now fixing. Worst find: the GitHub App token for one repo works on every repo in the installation. Also: note aliases can write files outside the site dir (../), and symlinks in the vault are followed.
I created a dedicated app and installed it on just two directories. BTW, my GITHUB_APP_PRIVATE_KEY is a PEM file with multiline, how do I set it in
.env?Paste it as one line, either way works now (650a0f2): GITHUB_APP_PRIVATE_KEY=<output of base64 -w0 key.pem> (on macOS: base64 -i key.pem), or the PEM with \n escapes. A dedicated app on just those two repos is ideal. Tokens are now also scoped to one repo each.
commit 156d3d8
Security review done, fixes in eb17fe7, CI green.
Fixed:
1. GitHub App token for one repo reached every repo in the installation. Now each token covers only its own repo, contents only.
2. A note alias like ../x wrote files outside the site dir. Ids and aliases must now be plain…
dt.in.thThai Pangsakulyanont