Retro Bulletin Board Systems on atproto. Web app and TUI.
atbbs.xyz
python
tui
atproto
bbs
1default: dev
2
3dev:
4 #!/bin/sh
5 trap 'kill 0' EXIT
6 npx @tailwindcss/cli -i web/static/input.css -o web/static/style.css --watch &
7 npx esbuild web/ts/main.ts --bundle --outfile=web/static/app.js --watch=forever &
8 PUBLIC_URL=http://localhost:5151 QUART_DEBUG=1 uv run quart --app "web.app:create_app()" run --port 5151 --reload &
9 wait
10
11css:
12 npx @tailwindcss/cli -i web/static/input.css -o web/static/style.css --minify
13
14js:
15 npx esbuild web/ts/main.ts --bundle --outfile=web/static/app.js --minify
16
17fmt:
18 uv format
19 npx prettier --write web/ts/
20
21tui:
22 uv run python -m tui
23
24build:
25 docker build -t atbbs .
26
27up:
28 docker compose up -d
29
30down:
31 docker compose down
32
33logs:
34 docker compose logs -f
35
36# Set version in pyproject.toml
37version ver:
38 uv run python -c "import re, pathlib; p=pathlib.Path('pyproject.toml'); p.write_text(re.sub(r'^version = \".*\"', 'version = \"{{ ver }}\"', p.read_text(), count=1, flags=re.M))"
39 uv lock
40
41# Tag and push a release
42release ver: (version ver) css js
43 git add -A
44 git commit -m "v{{ ver }}"
45 git tag "v{{ ver }}"
46 git push
47 git push --tags