
Public
Like
4
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 milliseconds.
Viewing readonly version of main branch: v873View latest version
OpenTownie is an AI-powered development assistant that lets you edit Val Town projects using Claude 3.7 Sonnet. It provides a seamless interface for discussing your code with Claude AI, which can directly view and modify files in your Val Town projects.
It uses agentic tool-calling, taking manh read, write, and thinking steps autonomously when carrying out your instructions.
- AI-Assisted Editing: Chat with Claude 3.7 Sonnet about your code and let it make changes directly to your project files
- File Browser: Select specific files to include in the context window for more focused AI assistance
- Branch Management: View, select, and create branches without leaving the app
- Cost Tracking: See estimated API usage costs for each interaction
- Sound Notifications: Get alerted when Claude finishes responding
- Mobile-Friendly: Works on both desktop and mobile devices
- Login: Authenticate with your Val Town API token and Anthropic API key
- Select a Project: Choose which Val Town project you want to work on
- Select Files: Browse your project files and select which ones to include in the context window
- Chat with Claude: Describe what you want to build or modify, and Claude will help implement it
- Branch Management: Create and switch between branches to organize your development work
- A Val Town account with API access
- An Anthropic API key (Claude 3.7 Sonnet)
- Visit the OpenTownie app
- Enter your Val Town API token (with
projects:write
andusers:read
permissions) - Enter your Anthropic API key
- Click "Login" to access your projects
- Be Specific: When asking Claude to make changes, be as specific as possible about what you want
- Include Context: Select relevant files to give Claude the context it needs
- Create Branches: Create a new branch before making significant changes to avoid affecting your main code
- Review Changes: Always review Claude's changes before merging them into your main branch
- Iterative Development: Break down complex tasks into smaller steps for better results
OpenTownie is built with:
- React frontend with TypeScript
- Hono API server backend
- Tailwind CSS for styling
- Web Audio API for sound notifications
- AI SDK for Claude integration
The application proxies requests to the Anthropic API and Val Town API, allowing Claude to view and edit your project files directly.
- Your Val Town API token and Anthropic API key are stored locally in your browser
- No data is stored on our servers
- All communication with the APIs is done directly from your browser
- Give it a tool to make an HTTP request to its own endpoint to test things!
- make image drop area invisible andbot
- 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
- 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
- Persistent threads
- Utils to help you revert to before or after messages or actions (related to commits)
- 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 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