Instructions: After EVERY checkbox, test that it works by visiting the HTTP endpoint URL (look it up via Val Town MCP). Mark ✅ only after confirming it works.
- Add JSDoc to
serveFile→ Test: appears in docs - Add JSDoc to
getContentType→ Test: appears in docs - Add JSDoc to
parseVal→ Test: appears in docs - Add JSDoc to
httpEndpoint→ Test: appears in docs - Add JSDoc to
isMain→ Test: appears in docs - Add JSDoc to
testServer→ Test: appears in docs - Add JSDoc to
fetchTranspiledJavaScript→ Test: appears in docs - Add JSDoc to
staticHTTPServer→ Test: appears in docs - Add JSDoc to any other exported functions found
- Group functions by source file in the HTML output
- Add CSS styling for readability
- Add navigation/table of contents
- Test: Everything looks good on phone and desktop
- Update README.md to be shorter and link to docs
- Final test: Click every source link, verify all functions documented
CRITICAL:
-
Look up the HTTP endpoint URL using Val Town MCP after creating _docs.tsx
-
Test after EVERY checkbox by visiting the endpoint
-
If something doesn't work, fix it before moving to next step
-
Only mark ✅ when you've verified it actually works in the browser
-
Add target="top" to all links to "val.town"
-
Fix the
readFiletype to take two strings and return a Promise of string or undefined. Audit all the other types for issues like this. -
Add js syntax highlighting for the function signature and the example. Strip the
tsfrom the example -
Add precise type information for all inputs and outputs. Users should know exactly every field of every input and every output type.
-
Improve the placement of the view source link - it should be directly under the function's name header. It should just say "view source"
-
The view source link should link to the whole function range, not just the first line.
-
Linkify all the function names with hash-based id links
-
Add a left panel sidebar table of contents thing, organized by category, inspired by lodash
-
At the top of the docs, link to the utils val
-
At the top of the docs, explain the purpose of these vals
-
In the read, list file vals, explain how val town doesn't have file access so it can more cheaply and scalably provide a serverless runtime, but you can use these utils which read your val files via the val town api
-
Consider linking to all test for each function near its documentation
