OpenTownie
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
- ensure line numbers are in the files added in the context window
- Give it a tool to make an HTTP request to its own endpoint to test things!
- Make it look good
- Ability to create new projects from the interface
- Debug why backend/index.ts is not being created as an http type
- is it an sdk bug?
- do we need to add more heuristics to properly detect http vals?
- should we add a .http. convention to townie and then strip that out before we actually go to the file system?
- should we add a change_val_type tool and teach townie how to use it?
- Persistent threads
- Utils to help you revert to before or after messages or actions (related to commits)
- make it one click to branch off like old jp townie demos
- Figure out a convention to teach in the anthropic prompt mod where the LLM always checks the readme for the scope (if not provided) and keeps it up to take with every change
- Rebuild as React Router?
- opentownie as a pr bot
- give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them or use our trpc API in that tool
- do a browser use or screenshot thing to give it access to its own visual output
- Have it default to creating a new branch off main and then embedding and iframe to the resulting http val and give you a link to a pr opening url
- A way to upload docs, by URL? A mini site to recursively crawl docs and markdownify?
- Give it a replace_file command (instead of delete & create)?
- Add other LLMs ie Gemini, Deepseek, o3-mini, etc. Figure out how to get tools to work for those
- Make it clearer visually in the UI when tool calls fail
- Add to the opentownie prompt that it doens't need to create directories, it should just create files in directories by specifying their path, and we'll make sure the directory gets created. We can also potentially catch when the path of a file to create ends in / and make that a no-op.
- Remove the "thinking..." widget next to the send button
- Refactor /backend/index.ts into multiple files
- Format the JSON inside the tool-calls as pretty markdown
- Think as normal markdown
- File write as a code embed
- str_replace as a diff view
- make image drop area invisible and bigger
- Give it all the code (except maybe .txt files) as initial context (like cursor sonnet max)
- I seem to have lost the delete file tool and instructions, try to find them back in history or re-create?
- Show reasoning in a detail
- Consider asking it to write the minimum code possible
- Add caching (post in the vercel ai discussion about how it's not working)
- For login, have a button that reloads the page
- Start a timer for messages
- Add more indicators that it's "still working"
- Require users supply their own Anthropic token?
- Add cost indications on messages
- Add a bell noise when the message is done to let us know
- Launch!
- Let it select the branch name from a dropdown