extremely claude-assisted go game based on atproto! working on cleaning up and giving a more unique design, still has a bit of a slop vibe to it.
at list 122 lines 3.1 kB view raw view rendered
1# Quick Start Guide 2 3## Installation 4 51. **Install dependencies** 6 ```bash 7 npm install 8 ``` 9 102. **Set up environment** 11 ```bash 12 cp .env.example .env 13 ``` 14 153. **Start development server** 16 ```bash 17 npm run dev 18 ``` 19 204. **Open your browser** 21 - Navigate to http://localhost:5173 22 23## Project Status 24 25This is a **demonstration project** showing how to architect a Go game with AT Protocol integration. 26 27### What Works 28- ✅ Project structure and configuration 29- ✅ Custom AT Protocol lexicons defined 30- ✅ SQLite database with Kysely 31- ✅ Wgo.js board component 32- ✅ Game creation and listing UI 33- ✅ Move recording logic 34- ✅ Pass functionality 35 36### What's Simplified/Placeholder 37- ⚠️ OAuth authentication (needs full setup) 38- ⚠️ AT Protocol record creation (generates URIs but doesn't write to network) 39- ⚠️ Firehose subscription (structure in place) 40- ⚠️ Real-time updates (uses page refresh) 41 42## Key Files to Review 43 441. **Lexicons** - `/lexicons/*.json` 45 - Defines data structure for games, moves, and passes 46 472. **Database** - `src/lib/server/db.ts` 48 - SQLite schema using Kysely 49 503. **Board Component** - `src/lib/components/Board.svelte` 51 - Wgo.js integration for Go board 52 534. **API Routes** - `src/routes/api/games/**` 54 - Game creation, joining, and move recording 55 565. **Implementation Guide** - `IMPLEMENTATION_NOTES.md` 57 - Detailed technical documentation 58 59## Next Steps to Complete 60 61### 1. Set up OAuth (30-60 min) 62- Configure NodeOAuthClient in `src/lib/server/auth.ts` 63- Test with real Bluesky accounts 64 65### 2. Enable AT Protocol Records (30-60 min) 66- Uncomment agent creation code 67- Test creating records on the network 68 69### 3. Add Firehose (2-4 hours) 70- Install @atproto/sync 71- Set up WebSocket connection 72- Parse commit events 73 74### 4. Real-time Updates (1-2 hours) 75- Implement Server-Sent Events 76- Connect firehose to UI updates 77 78## Development Tips 79 80### Running Type Check 81```bash 82npm run check 83``` 84 85### Viewing Database 86```bash 87sqlite3 data/app.db 88.tables 89.schema games 90SELECT * FROM games; 91``` 92 93### Testing Without OAuth 94For local development, you can bypass OAuth: 951. Manually set session cookies 962. Use test DIDs like `did:plc:test123` 973. Test game logic with local DB only 98 99## Common Issues 100 101### Node Version Warnings 102The project requires Node 18+. If you see warnings about Node version (current: v17.9.0), consider upgrading for best results. 103 104### TypeScript Errors 105Some TypeScript errors related to AT Protocol OAuth may appear. These are expected in the demo state and will be resolved when OAuth is fully implemented. 106 107### Database Not Found 108The database is created automatically on first run in the `data/` directory. Make sure the directory exists and is writable. 109 110## Learning Resources 111 112- **AT Protocol**: https://atproto.com/docs 113- **Wgo.js**: http://wgo.waltheri.net/ 114- **SvelteKit**: https://kit.svelte.dev/docs 115- **Kysely**: https://kysely.dev/ 116 117## Questions? 118 119Check these documents: 120- `README.md` - Project overview and features 121- `IMPLEMENTATION_NOTES.md` - Detailed technical guide 122- `PROJECT_SUMMARY.md` - Complete file structure and architecture