Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: CI

on:
push:
branches: [main]
pull_request:

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm run lint
- run: npm run typecheck
- run: npm run test:unit
16 changes: 14 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,20 @@ Theo, Julius and Maria. The agents take every typo literally.
npm install
npm run dev # http://0.0.0.0:5179
npm run build # static files in dist/, open dist/index.html from any file server
npm test # Playwright play test
npm run lint # fails on any code comment
npm run test:unit
npm test # unit tests, then the Playwright play test
```

`npm test` starts its own Vite server on port 5180. To test a running server
instead, set `T3TYPE_URL`, for example `T3TYPE_URL=http://gibo:5179/ npm test`.

## No code comments

`npm run lint` rejects comments in TypeScript, JavaScript, CSS and HTML. If code
needs explaining, give it a clearer name or write a test. CI runs the lint on
every push and pull request.

## How to play

- The next prompt shows as gray ghost text in the composer. Type over it. Enter sends, typos included.
Expand All @@ -29,6 +40,7 @@ Threads come from `content/threads.json`, imported unchanged by
post. Everything else is parody and labeled as such.

URL options for testing: `?speed=4` runs the agents 4x faster, `?seed=N` replays
the same thread draw, `?theme=light` or `?theme=dark` forces a theme.
the same thread draw, `?core=N` and `?guests=N` set how many threads come from
each core persona and from mutuals, `?theme=light` or `?theme=dark` forces a theme.

See THIRD_PARTY.md for the T3 Code MIT notice.
1 change: 0 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>t3type</title>
<script>
// Match T3 Code: the .dark class on <html> drives the dark variant.
(function () {
var q = new URLSearchParams(location.search).get("theme");
var dark = q ? q === "dark" : matchMedia("(prefers-color-scheme: dark)").matches;
Expand Down
270 changes: 269 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading