Files
evolve-save-editor/CLAUDE.md
T
Julian Tabel 34528c1cd9 Add --pillars flag to show Circle of Pillars progress
Lists which species have a pillar, grouped by genus, with their
ascension rank and the resulting production/storage bonus.
--pillars-all also shows the species still missing a pillar.

Race table mirrored from the game's src/races.js (63 species).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 14:26:24 +02:00

43 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
CLI tool for editing [Evolve](https://pmotschmann.github.io/Evolve/) browser game save files. Saves are LZString-compressed JSON, exported via the game's Settings > Export.
## Commands
```bash
npm install # install dependencies (lz-string)
# Max all capped resources, copy result to clipboard
node index.js --max-resources < save.txt
node index.js --max-resources "SAVE_STRING"
# Print to stdout instead of clipboard
node index.js --max-resources --no-copy < save.txt
```
## Save Format
Saves are LZString `compressToBase64` of a JSON object (not plain base64). Uses the `lz-string` npm package to match the game's own JS implementation.
Key top-level sections: `resource`, `race`, `tech`, `city`, `space`, `civic`, `genes`, `prestige`, `settings`, `arpa`, `pillars`.
### Pillars (`pillars`)
Flat map of `<species key>: <rank>` — only species with a pillar appear. Rank is the ascension `alevel()` (15, +1 per challenge gene active on that run), *not* the universe. 63 species total (all races except `protoplasm`); the race table lives in `RACES` in `index.js`, mirrored from the game's `src/races.js`. Pillar bonus: +1% production / +2% storage per pillar, with the currently-played species counting 4×.
### Prestige structure (`prestige.<name>`)
- `count`: current value
- Prestige currencies: `Plasmid`, `AntiPlasmid`, `Phage`, `Dark`, `Harmony`, `AICore`, `Artifact`, `Blood_Stone`, `Supercoiled`
### Resource structure (`resource.<name>`)
- `amount`: current value
- `max`: storage cap. `> 0` = capped, `-1` = unlimited (crafted), `-2` = special/uncapped, `0` = not unlocked
- Other fields: `name`, `display`, `diff`, `delta`, `rate`, `bar`, `stackable`, `crates`, `containers`, `value`, `trade`
## Architecture
Single-file Node.js CLI (`index.js`), one dependency (`lz-string`). Uses `pbcopy` (macOS) or `xclip` (Linux) for clipboard.