Skip to content
/ bits Public

Commit 53b9e0f

Browse files
committed
Update README
1 parent 59a6003 commit 53b9e0f

1 file changed

Lines changed: 25 additions & 74 deletions

File tree

README.org

Lines changed: 25 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ done
7373
#+end_src
7474

7575
#+results:
76-
: ✅ https://bits.page.test
7776
: ✅ http://localhost:3000
77+
: ✅ https://bits.page.test
7878
: ✅ https://charlie.bits.page.test
7979
: ✅ https://charlie.bits.page.test
8080
: ✅ https://jcf.bits.page.test
@@ -112,6 +112,7 @@ done
112112
- [[file:decisions/20260212183128-vanilla-js-over-clojurescript-for-bits-js.org][Vanilla JS over ClojureScript for bits.js]]
113113
- [[file:decisions/20260214190732-datahike-vs-datomic-for-distributed-coordination-appendix-crypto-shredding.org][Crypto-Shredding for GDPR Compliance]]
114114
- [[file:decisions/20260214190732-datahike-vs-datomic-for-distributed-coordination.org][Datahike vs Datomic for distributed coordination]]
115+
- [[file:decisions/20260220174238-body-style-indentation-for-ui-component-functions.org][Body-style indentation for UI component functions]]
115116

116117
** Dev tasks
117118
#+begin_src sh :results output verbatim :exports results
@@ -132,17 +133,18 @@ Available recipes:
132133
css # Regenerate Tailwind CSS from template
133134
fmt # Format project files
134135
lint # Run lints
136+
locales-build # Build translation bundles from .po files
137+
locales-extract # Extract translatable strings to .pot file
135138
market # Run the marketing site
136139
mkcert # Create self-signed SSL certificates via mkcert
137140
nrepl *args
141+
perf *args # Run tests with performance tracing output
138142
setup # Setup a local development environment
139143
tailwind # Watch source code for Tailwind classes
140144
test *args # Run tests
141145

142146
[docs]
143147
decide +title # Create a new decision record
144-
execute *args # Execute a prompt in a new Claude Code session
145-
prompt +title # Create a new prompt
146148

147149
[iac]
148150
apply dir # Apply one or all Terraform projects
@@ -168,17 +170,17 @@ echo "$(git describe --always --dirty --abbrev=7) @ $(date +"%Y/%m/%d %H:%M")"
168170
Language Files Lines Code Comments Blanks
169171
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
170172
Astro 10 165 139 0 26
171-
Clojure 61 5760 4587 402 771
173+
Clojure 63 6036 4798 431 807
172174
CSS 2 84 69 4 11
173175
Dockerfile 1 72 50 6 16
174-
Edn 2 119 106 1 12
176+
Edn 2 130 116 1 13
175177
HCL 12 389 323 13 53
176-
JavaScript 5 310 255 20 35
178+
JavaScript 5 317 262 20 35
177179
JSON 4 59 59 0 0
178-
Just 1 370 241 65 64
180+
Just 1 258 164 51 43
179181
MDX 1 56 0 39 17
180-
Nix 3 501 413 14 74
181-
Org 13 2124 1877 6 241
182+
Nix 4 520 432 14 74
183+
Org 15 2375 2076 5 294
182184
SQL 4 43 37 0 6
183185
SVG 2 12 12 0 0
184186
TOML 1 46 41 0 5
@@ -190,81 +192,30 @@ echo "$(git describe --always --dirty --abbrev=7) @ $(date +"%Y/%m/%d %H:%M")"
190192
|- CSS 1 171 151 0 20
191193
(Total) 247 223 0 24
192194
─────────────────────────────────────────────────────────────────────────────────
193-
Markdown 1 352 0 228 124
195+
Markdown 1 353 0 229 124
194196
|- Clojure 1 238 152 50 36
195197
|- Org 1 19 12 0 7
196198
|- Rust 1 68 49 10 9
197-
(Total) 677 213 288 176
199+
(Total) 678 213 289 176
198200
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
199-
Total 131 16144 12660 860 2624
201+
Total 136 16597 13029 875 2693
200202
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
201203

202-
051e32a-dirty @ 2026/02/15 23:44
204+
a5eba27 @ 2026/02/21 19:56
203205
#+end_example
204206

205-
* Prompts
206-
We maintain version-controlled prompt docs that describe sessions with language
207-
models where we plan, generate, and review functionality.
208-
209-
** =TODO=
210-
#+begin_src sh :results output table :colnames '("Status" "Date" "Title") :exports results
211-
fd --type file '\.org$' .claude/prompts | sort | while read -r file; do
212-
title=$(awk -F':[[:space:]]*' '/^#\+title:/ { print $2; exit }' "$file")
213-
st=$(awk -F':[[:space:]]*' '/^#\+status:/ { print toupper($2); exit }' "$file" | xargs)
214-
date=$(awk -F':[[:space:]]*' '/^#\+date:/ { print $2; exit }' "$file" | xargs)
215-
[[ $st = "DONE" ]] || echo -e "=$st=\t=$date=\t[[file:$file][$title]]" || true
216-
done
217-
#+end_src
218-
219-
#+results:
220-
| Status | Date | Title |
221-
|---------+--------------+-----------------------------------------|
222-
| =TODO= | =2026-02-10= | [[file:.claude/prompts/20260210220005-demo-creators.org][Demo Creators]] |
223-
| =DOING= | =2026-02-13= | [[file:.claude/prompts/20260213223741-shop-tab.org][Shop Tab]] |
224-
| =TODO= | =2026-02-13= | [[file:.claude/prompts/20260213223744-about-tab.org][About Tab]] |
225-
| =TODO= | =2026-02-13= | [[file:.claude/prompts/20260213223747-purchase-flow.org][Purchase Flow]] |
226-
| =TODO= | =2026-02-13= | [[file:.claude/prompts/20260213223749-posts-feed.org][Posts Feed]] |
227-
| =DOING= | =2026-02-14= | [[file:.claude/prompts/20260214141211-session-auth-security.org][Session and Auth Security]] |
228-
| == | =2026-02-15= | [[file:.claude/prompts/20260215131107-gdpr-excision-per-tenant-databases.org][GDPR Excision with Per-Tenant Databases]] |
229-
| =TODO= | =2026-02-15= | [[file:.claude/prompts/20260215184852-presence-system.org][Presence System]] |
230-
231-
** =DONE=
232-
#+begin_src sh :results output table :colnames '("Status" "Date" "Title") :exports results
233-
fd --type file '\.org$' .claude/prompts | sort | while read -r file; do
234-
title=$(awk -F':[[:space:]]*' '/^#\+title:/ { print $2; exit }' "$file")
235-
st=$(awk -F':[[:space:]]*' '/^#\+status:/ { print toupper($2); exit }' "$file" | xargs)
236-
date=$(awk -F':[[:space:]]*' '/^#\+date:/ { print $2; exit }' "$file" | xargs)
237-
[[ $st = "DONE" ]] && echo -e "=$st=\t=$date=\t[[file:$file][$title]]" || true
238-
done
239-
#+end_src
240-
241-
#+results:
242-
| Status | Date | Title |
243-
|--------+--------------+-------------------------------------------------|
244-
| =DONE= | =2026-02-10= | [[file:.claude/prompts/20260210220001-prompt-workflow.org][Prompt Workflow]] |
245-
| =DONE= | =2026-02-10= | [[file:.claude/prompts/20260210220002-tenancy-routing.org][Tenancy Routing]] |
246-
| =DONE= | =2026-02-10= | [[file:.claude/prompts/20260210220003-fonts-and-theme.org][Fonts and Theme]] |
247-
| =DONE= | =2026-02-10= | [[file:.claude/prompts/20260210220004-creator-profile-page.org][Creator Profile Page]] |
248-
| =DONE= | =2026-02-12= | [[file:.claude/prompts/20260212174601-asset-pipeline.org][Asset Pipeline]] |
249-
| =DONE= | =2026-02-12= | [[file:.claude/prompts/20260212180101-sse-retry-delay.org][SSE Retry Delay Configuration]] |
250-
| =DONE= | =2026-02-14= | [[file:.claude/prompts/20260214191109-migrate-from-datahike-to-datomic-pro.org][Migrate from Datahike to Datomic Pro]] |
251-
| =DONE= | =2026-02-15= | [[file:.claude/prompts/20260215141122-remove-redundant-indirection-around-datomic-api.org][Remove redundant indirection around Datomic API]] |
252-
253-
** TODOs
207+
* TODOs
254208
#+begin_src sh :results output verbatim :exports results
255209
rg --glob '!README.org' 'TODO|FIXME' </dev/null | sort
256210
#+end_src
257211

258212
#+results:
259-
#+begin_example
260-
src/bits/app.clj:;; TODO Use Malli (or clojure.spec) to coerce and parse/validate configuration.
261-
src/bits/asset.clj:;; TODO Make content-type explicit or more intelligent.
262-
src/bits/auth.clj:;; TODO: I18n - user-facing strings need locale-aware source
263-
src/bits/brotli.clj: ;; TODO: Default buffer size for brotli library, needs to be tuned.
264-
src/bits/middleware.clj: ;; TODO Rename :sid to :session/id
265-
src/bits/service.clj: ;; TODO Improve 404 response
266-
src/bits/ui.clj: ;; TODO: I18n - error presentation
267-
src/bits/ui.clj:;; TODO: I18n - user-facing strings need locale-aware source
268-
src/bits/ui/creator.clj: ;; TODO: Real data from database
269-
test/bits/session_test.clj: ;; FIXME Remove `:sid` from `data`.
270-
#+end_example
213+
: src/bits/app.clj:;; TODO Use Malli (or clojure.spec) to coerce and parse/validate configuration.
214+
: src/bits/asset.clj:;; TODO Make content-type explicit or more intelligent.
215+
: src/bits/brotli.clj: ;; TODO: Default buffer size for brotli library, needs to be tuned.
216+
: src/bits/middleware.clj: ;; TODO Rename :sid to :session/id
217+
: src/bits/module/creator.clj: ;; TODO: Real data from database
218+
: src/bits/module/creator.clj: ;; TODO Extract platform/realm domain
219+
: src/bits/morph.clj:;; FIXME Relocate `morphable`.
220+
: src/bits/ui.clj: ;; TODO: I18n - error presentation
221+
: test/bits/session_test.clj: ;; FIXME Remove `:sid` from `data`.

0 commit comments

Comments
 (0)