Score for Aesthetic.Computer & Pals
Directed by @jeffrey
Implemented on aesthetic.computer and its various properties of this monorepo.
This is the score. All agents โ human and AI โ perform from it.
Welcome, Agent
You've arrived at the hub. Choose your path:
๐ Become an Ant
Wander the codebase. Find signal. Make small, confident changes.
- Interactive (Claude Code): Type
/antto wake up and scout for work - Automated (colony):
fish ants/colony.fishruns ants on a timer - Philosophy: Read The Mindset below
Ants follow the score (this file), look at Current Tasks, make the smallest possible change with 98% confidence, verify tests pass, and commit.
๐ Find Data
Explore the architecture. Understand where things live.
system/public/aesthetic.computer/โ main web clientsystem/public/aesthetic.computer/disks/โ pieces (interactive programs)system/public/aesthetic.computer/lib/โ shared librarieskidlisp/โ KidLisp language implementationsession-server/โ real-time multiplayer backendac-electron/โ desktop appspec/โ KidLisp test specs (Jasmine)tests/โ integration/performance tests
See The System below for full map.
๐ฏ Pick a Task
Grab something from the board and do it.
See Current Tasks below for what needs work right now.
๐ Read the Story
Understand the vision and history.
- The AC Story โ Technical history and evolution
- Write a Piece โ Create your own AC program
- KidLisp Docs โ Language reference
- User Guide โ How to use AC as a player
๐ค Join the Community
Talk to humans.
- Visit https://aesthetic.computer
- Enter
imnewto register - Set a @handle via
handle your-name - Enter
chatto say hi to @jeffrey and others
The Mindset
This applies to ALL agents working on Aesthetic Computer โ human, AI, ant, or otherwise.
You wander until you find a path.
A path is a change you could make to this codebase โ a fix, an improvement, a cleanup. Paths are everywhere. Most are noise. You are looking for signal.
What is Signal?
Signal means:
- You understand the problem
- You see the fix
- You are 98% sure it is correct
Not 70%. Not "probably." 98%.
What is Graspable?
Graspable means: a human using the software could notice what you did.
- A fixed visual glitch โ
- A typo corrected on screen โ
- A broken interaction that now works โ
- An error message that now makes sense โ
- Abstract refactoring no one will see โ
Aesthetic Computer is for users, not abstractions. If your change isn't visible in the UI or felt by a person using the system, it's probably not the right path.
When You Find Signal
- Make the smallest change that follows the path
- Verify it works (run tests)
- Leave a pheromone (commit) so others can see what you did
- Walk away
When You Don't Find Signal
- Report IDLE โ that's a valid outcome
- Do not guess. Do not speculate. Do not "try things."
- An agent that makes a wrong change is worse than an agent that does nothing
Wandering is not failure. Wandering is the job. Most of an agent's life is wandering. The colony does not need you to be busy. It needs you to be right.
The System
Aesthetic Computer (AC) is a creative coding platform designed to function like a musical instrument. Users discover memorizable paths through commands and pieces, growing their literacy through play.
Architecture
Frontend (system/)
system/public/aesthetic.computer/โ Web client (Canvas + WebGL)bios.mjsโ Core runtime, loads piecesboot.mjsโ System initializationdisk.mjsโ Piece loader and lifecycledisks/*.mjsโ Individual pieces (programs)lib/*.mjsโ Shared libraries and utilities
Backend
session-server/โ Real-time multiplayer (Socket.io)- Netlify deployment for static assets
- Authentication and data storage
Languages
kidlisp/โ KidLisp dialect (Lisp for generative art)compiler.mjsโ Parser and compilerspec/*.mjsโ Test specs
Desktop
ac-electron/โ Electron wrapper for native apps
Other Projects
tezos/โ NFT/blockchain experimentsgrab/โ Media utilitiesfeed/โ RSS/content feeds
How to Run
Start the dev server:
npm start
# Visit http://localhost:8888Run all tests:
Run KidLisp tests:
npm run test:kidlisp
# Or filter: npm run test:kidlisp -- --filter=<spec-name>Development Environment
Terminal Workflow (IMPORTANT):
- Use Emacs MCP + fishy terminal for all command execution
- DO NOT use Bash tool for running commands - use fishy via Emacs MCP instead
- The fishy terminal (
๐-fishy) is the primary shell for all development commands
Emacs Terminal Buffers:
The development environment uses Emacs with named terminal buffers. Use Emacs MCP tools (mcp_emacs_*) to interact with them:
๐-fishyโ Main fish shell (use this for all commands!)๐-siteโ Site/web server logs๐-sessionโ Session server logs๐งช-kidlispโ KidLisp test runner๐ด-redisโ Redis logs๐-topโ System monitoring๐-tunnelโ Tunnel logs- (See AGENTS.md.backup for full list)
How to run commands in fishy:
- Use
mcp_emacs_emacs_switch_bufferto switch to๐-fishy - Use
mcp_emacs_emacs_send_keysto send the command - Send newline to execute
Fish Shell Commands (ac-* helpers):
Emacs & Development Environment
ac-aestheticโ Connect to aesthetic emacs UI (alias foraesthetic-now)ac-emacs-restartโ Kill and restart emacs daemonac-emacs-full-restartโ Restart emacs and reconnect UIac-emacs-killโ Kill emacs daemonac-emacs-statusโ Check emacs daemon healthac-emacs-logsโ View emacs logsac-emacs-health-checkโ Verify emacs config loaded correctlyac-restartโ Restart all AC tabs/processes (calls emacsac-restart)ac-crash-diaryโ View emacs crash logac-emacs-crash-monitorโ Background process that monitors emacs
Core Development
ac-arteryโ Start artery development serverac-artery-devโ Start artery in dev modeac-siteโ Start site serverac-sessionโ Start session serverac-urlโ Get local tunnel URLac-viewsโ View statsac-watchโ Watch and rebuild (alias fornpm run watch)ac-replโ Start REPL
Testing & Debugging
ac-test-tabsโ Test tab functionalityac-diagnoseโ Run diagnosticsac-profile-startโ Start performance profilingac-profile-stopโ Stop performance profilingac-profile-reportโ Generate profile reportac-watch-cpuโ Monitor CPU usageac-dev-logโ View development logsac-dev-logsโ View all dev logsac-dev-log-cleanโ Clean old logsac-dev-log-newโ Create new log
Deployment & Distribution
ac-packโ Package for distributionac-unpackโ Unpack distributionac-shipโ Deploy/ship changesac-keepโ Save state/backupac-keepsโ List saved statesac-keep-testโ Test keep functionality
Media & Recording
ac-tvโ TV modeac-recordโ Start recordingac-pixโ Image utilitiesac-mediaโ Media server
Services & Infrastructure
ac-serversโ Start all serversac-tunnelโ Start tunnelac-chat-systemโ Start chat systemac-chat-sotceโ Start sotce chatac-chat-clockโ Start clock chatac-stripe-printโ Stripe print serviceac-stripe-ticketโ Stripe ticket serviceac-loggerโ View netlify function logsac-ovenโ Oven serviceac-offlineโ Offline mode
Authentication & Tokens
ac-loginโ Login to ACac-tokenโ Manage auth tokens
Other Tools
ac-hostโ List machines, SSH connection infoac-cdp-tunnelโ CDP tunnelac-cdp-statusโ CDP statusac-extensionโ Build VSCode extension
Quick Start:
ac-aesthetic # Connect to development UI ac-emacs-full-restart # Restart everything ac-restart # Restart AC services only
NPM Scripts:
npm run aestheticโ Full-stack local (site + session + services)npm run siteโ Client stack onlynpm testโ Integration testsnpm run test:perfโ Performance testsnpm run urlโ Get local tunnel URL
Notation:
- compush โ commit, push
Current Tasks
The Queen (@jeffrey) maintains this list. Agents pick from it.
Tier 1: Safe & Small (ant-appropriate)
- Run
npm testand fix any failing tests (one at a time) - Find and fix lint warnings in
system/public/aesthetic.computer/disks/*.mjs - Add missing JSDoc comments to exported functions in
system/public/aesthetic.computer/lib/ - Check
package.jsonfiles for outdated minor/patch dependencies and update ONE safely - Find TODO/FIXME comments in
system/public/aesthetic.computer/lib/and resolve simple ones
Tier 2: Slightly Braver
- Add a small test for any untested utility function in
shared/ - Improve error messages in KidLisp interpreter for common mistakes
- Find dead code (unused exports/functions) and remove it with confidence
Tier 3: Need Coordination
- Performance improvements (profile first, discuss approach)
- New features (propose in
chator GitHub issues) - Architectural changes (needs queen approval)
The Rules
Sacred Ground (Off-Limits)
Do not modify these without explicit queen approval:
- Core runtime (
disk.mjs,boot.mjs,bios.mjs) - Database/auth/payment code
- Deployment configuration
- Anything in
aesthetic-computer-vault/ - This README/score file itself
- Anything that changes user-facing behavior without explicit approval
Colony Rules (for Ants)
- Wander. Read the score. Look at Current Tasks. Run tests. Read code.
- Find signal. Pick ONE task where you see a clear, small, correct change.
- Follow the path. Make the smallest change that accomplishes it.
- Verify. Run
npm testfrom repo root. Tests must pass. - Leave a pheromone. If tests pass, commit with:
ant: <description> - Revert if wrong. If tests fail:
git checkout .and report FAILURE. - NEVER touch files outside the scope of your task.
- NEVER make speculative changes. 98% confidence or walk away.
- Prefer fixing/improving existing code over adding new code.
- If you wandered and found no signal, report IDLE. That's fine. That's most runs.
The Colony
Pheromone Trail
When agents complete tasks, they leave pheromones (git commits) so others can see what's been done.
Recent pheromones:
# Check what other agents did recently
tail -20 ants/pheromones.log
git log --oneline -10Colony Roles
- Queen: @jeffrey โ writes this score, sets direction, maintains vision
- Ants: autonomous agents โ do small, confident work
- Contributors: humans โ all are welcome in
chat
Running the Colony
Manual ant (interactive):
# In Claude Code: /ant # Or via script: fish ants/colony.fish --once
Automated colony (timer-based):
# Run ants every 30 minutes fish ants/colony.fish --interval 30 # With specific provider/model fish ants/colony.fish --provider gh-models --model openai/gpt-4o-mini
See ants/ directory for full colony implementation.
For Users
Want to use Aesthetic Computer (not develop it)?
๐ See USER-GUIDE.md for tutorials on making paintings, playing melodies, and joining the community.
Links
- Live Site: https://aesthetic.computer
- GitHub: https://github.com/whistlegraph/aesthetic-computer
- Community Chat: Enter
chatafter registering - No Paint (predecessor): https://nopaint.art (HN discussion 2020)
- Notepat on HN: https://news.ycombinator.com/item?id=41526754
You are now in the hub. Choose your path. ๐โจ
