###############################################
Prompt to Kiro AI (Default):

Use the spec-sheet.md file to create an outline of the game's main python file. please strictly create function definitions with detailed descriptions as comments next to them, and I PERSONALLY will write the actual code content. Clear description and good description of this outline is essential, so that I can implement the most effective methodology. Again, your job is outline and describe right now. not code. Any questions or clarifications can be asked if necessary.

Committed As: "AI: create outline for main game logic"

Response:

Done. I created main.py as a pure outline: function signatures with detailed comment descriptions and pass bodies, no implementation logic for you to write yourself.

How it's organized (MVC, matching the spec):

Data I/O — loadCreatures, loadSave, writeSave. Isolates all disk access.
Model — onAppStart, resetFishingState, pickRandomCreature, startSkillCheck. State setup and the fishing-cycle data.
Controller — onStep, onMousePress, onKeyPress, checkSkillHit. The game loop and input routing (using the real cmu_graphics hook names so they wire up automatically).
Economy — sellCreature, buyUpgrade, buyBaitLicense, setActiveBait. The shop and rogue-like upgrade/bait system.
View — redrawAll plus drawBackground, drawPlayerAndRod, drawShopEntities, drawSkillCheck, drawCatchDisplay, drawHud. Draw-only, split so redrawAll stays readable.
Entry — main() calling runApp.
Two things I decided on my own that you may want to adjust:

Database file: the spec says fish.csv, but your actual file is creatures.tsv at the repo root, tab-separated, with non-fish entries. I wrote the outline around creatures.tsv. If you'd rather follow the spec path, just change what you pass to loadCreatures.

A few open design questions I left as decisions in the comments rather than deciding for you:

Multi-bar skill check: must the player clear every bar, or is one good hit enough? (noted in checkSkillHit)
Selling: automatic on catch, or a deliberate action in the market? (noted in sellCreature)
Keyboard controls: included onKeyPress as optional — drop it if the game is mouse-only.

###############################################