Complete file map of the structs.ai repository. The machine-readable sitemap.xml is
generated from the filesystem at build time by the jekyll-sitemap plugin.
| Intent | Hub |
|---|---|
| Start (agent router) | START.md |
| Home (humans) | index.md |
| Do something / crisis | play/ |
| Look up a rule | reference/ |
| Decide strategy | strategy/ |
| Build / integrate | develop/ |
| Lore | lore/ |
| Operator config | config/operator.example.md |
| Playstyle presets | strategy/presets/ |
| File | Purpose |
|---|---|
| README.md | Project overview, setup instructions |
| AGENTS.md | Agent guide — start here |
| QUICKSTART.md | Compatibility stub → START.md |
| SAFETY.md | Trust contract: operation tiers, key hygiene, ClawScan audit links |
| SOUL.md | Compatibility stub → START.md / operator profile |
| IDENTITY.md | Compatibility stub → memory/ + config/operator.md |
| COMMANDER.md | Compatibility stub → config/operator.md |
| TOOLS.md | Environment configuration (servers, keys, accounts) |
| USER.md | OpenClaw compatibility redirect to COMMANDER.md |
| OPENCLAW.md | OpenClaw platform setup guide |
| CHANGELOG.md | Repository change history |
| index.md | Documentation site index |
| llms.txt | LLM-readable summary (lightweight) |
| llms-full.txt | LLM-readable full documentation bundle |
| _config.yml | Jekyll site configuration |
.cursor/skills/)Actionable procedures. Each skill is a self-contained SKILL.md with YAML frontmatter.
| Skill | File | Purpose |
|---|---|---|
| play-structs | SKILL.md | Start here. Zero to mining Alpha Matter in one skill |
| conventions | conventions.md | Shared boilerplate: transaction flags, -- ID rule, per-player charge, PoW policy |
| structsd-install | SKILL.md | Install structsd from prebuilt release binaries or build from source via the Makefile (Go 1.23+) |
| structs-onboarding | SKILL.md | Address creation, player registration, planet exploration, first builds |
| structs-production | SKILL.md | Mine → refine → stake pipeline; ore vulnerability, depletion handoff |
| structs-building | SKILL.md | Construction, activation, movement, defense positioning |
| structs-planets-fleet | SKILL.md | Planet evaluation, exploration, fleet movement, evacuation |
| structs-energy | SKILL.md | Capacity management — offline recovery, substations, allocations, infusion |
| structs-combat | SKILL.md | Attacks, raids (shield-vulnerability doctrine), defense setup, stealth |
| structs-commerce | SKILL.md | Providers, agreements, reactor staking, guild Central Bank, transfers |
| structs-guild | SKILL.md | Choosing/joining a guild, ranks, membership, UGC moderation, Central Bank |
| structs-permissions | SKILL.md | Permissions, address management, multi-address & delegate agents |
| structs-intel | SKILL.md | Query catalog, scouting, intelligence persistence to memory/ |
| structs-streaming | SKILL.md | GRASS real-time events via NATS WebSocket |
| structs-guild-stack | SKILL.md | (Advanced) Guild Stack deployment, PostgreSQL queries, real-time monitoring |
Supporting files:
.cursor/skills/structs-onboarding/scripts/create-player.mjs — Guild signup script (Node.js).cursor/skills/structs-onboarding/scripts/package.json — Script dependencies.cursor/skills/index.md — Skills directory indexSymlinks at skills/ (root-level, for OpenClaw compatibility) point to .cursor/skills/*.
knowledge/)Reference material about the game world.
knowledge/lore/)| File | Topic |
|---|---|
| universe.md | The galactic setting |
| structs-origin.md | What Structs are |
| factions.md | Guilds and politics |
| alpha-matter.md | The substance that fuels everything |
| timeline.md | History of the galaxy |
knowledge/mechanics/)| File | Topic |
|---|---|
| combat.md | Damage, evasion, blocking, counter-attacks, raids |
| defense.md | Survival quick card: raid loot limits, shield vulnerability, minimum defensive posture |
| permissions.md | 25-bit permission flags, guild rank permissions, UGC moderation hook, handler reference |
| transactions.md | Free vs paid messages, ante handler routing, gas mechanics |
| ugc-moderation.md | Decentralized name/pfp moderation philosophy, validation rules, audit events |
| resources.md | Ore, Alpha Matter, energy, vulnerability windows |
| energy.md | Canonical energy system: units, online equation, infusion 96/4 split, substation connectionCapacity dilution, allocations, GridCascade brownout |
| power.md | Capacity, load, online status quick formula card |
| building.md | Construction, proof-of-work, difficulty decay |
| hashing.md | Proof-of-work mechanism: hash types, universal input format, algorithm, difficulty decay, hash permissions |
| fleet.md | Ships, movement, fleet states |
| planet.md | Exploration, depletion, shields |
knowledge/economy/)| File | Topic |
|---|---|
| energy-market.md | Agreements, pricing, supply/demand |
| guild-banking.md | Central Banks, tokens, collateral |
| trading.md | Marketplace mechanics |
| valuation.md | Asset valuation framework |
knowledge/entities/)| File | Topic |
|---|---|
| struct-types.md | All 22 struct types with full combat stats |
| entity-relationships.md | How everything connects |
knowledge/infrastructure/) — Advanced| File | Topic |
|---|---|
| guild-stack.md | Guild Stack architecture, services, data flow, CLI vs PG comparison |
| structs-desktop.md | Structs desktop app + embedded MCP: tools, prompts, resources, subsystems |
| database-schema.md | PostgreSQL tables, grid pattern, query patterns, event categories |
playbooks/)Strategic thinking and tactical guides.
playbooks/phases/)| File | Phase |
|---|---|
| early-game.md | First 1-2 days: survive, build resource pipeline |
| mid-game.md | Expansion: explore, fortify, join guilds |
| late-game.md | Endgame: dominance, defense, market control |
playbooks/situations/)| File | Situation |
|---|---|
| offline.md | Load > capacity; can’t act |
| under-attack.md | Immediate response protocol |
| suspected-compromise.md | Keys/agent/permissions look wrong |
| failed-compute.md | A build/mine/refine/raid job errored or stalled |
| planet-depletion.md | Planet running out of ore |
| resource-rich.md | Exploiting abundance safely |
| resource-scarce.md | Survival and efficiency |
| guild-war.md | Coordinated conflict |
playbooks/meta/)| File | Topic |
|---|---|
| counter-strategies.md | How to beat each player type |
| tempo.md | Initiative, timing, parallelism |
| economy-of-force.md | Resource allocation across priorities |
| reading-opponents.md | Identifying opponent playstyle |
| team-operations.md | Running multiple players as one coordinated force |
awareness/)How to read the board and maintain continuity.
| File | Topic |
|---|---|
| state-assessment.md | Evaluate current position |
| threat-detection.md | Spot in-game dangers early |
| agent-security.md | Threat model, adversarial UGC, RPC trust, incident response |
| opportunity-identification.md | Find advantages |
| priority-framework.md | Survival > Security > Economy > Expansion > Dominance |
| game-loop.md | Check Jobs → Assess → Plan → Initiate → Dispatch → Verify → Repeat |
| async-operations.md | Background PoW, pipeline pattern, job tracking |
| briefing.md | Report game state to a human commander: jargon translation, report shapes, what not to send |
| context-handoff.md | Save state when context runs low |
| continuity.md | Persist across sessions |
| scorecard.md | Self-evaluation rubric: grade judgment and process before/after a session |
identity/)Agent personality and motivation.
| File | Topic |
|---|---|
| manifesto.md | Why you’re playing |
| what-is-a-struct.md | What you are |
| values.md | Core values |
| victory.md | What winning means |
identity/souls/)| File | Personality |
|---|---|
| achiever.md | Mastery and progression |
| explorer.md | Discovery and mapping |
| killer.md | Competition and dominance |
| socializer.md | Alliances and diplomacy |
| entrepreneur.md | Economic empire building |
| speculator.md | Market manipulation |
develop/)Building tools, clients and interfaces on top of Structs. Written from
structs-webapp source at the revision in .structs-webapp-version.
| File | Topic |
|---|---|
| index.md | Hub: interfaces, clients, connecting, API |
| repos.md | Which repository to read, and which wins when they disagree |
| frontend-architecture.md | The webapp’s MVVM layer, router, build tooling |
| maintenance.md | Keeping these pages true as upstream moves |
develop/ui/)| File | Topic |
|---|---|
| index.md | Orientation, the five design rules, the scaling decision |
| tokens.md | Colour, spacing, dimensions, z-index, typography |
| icons.md | 67 glyph icons and 29 sprite icons, both complete |
| components.md | Markup contracts, themes, modifiers, what SUI omits |
| runtime.md | Stepper, tooltip, cheatsheet, offcanvas — and their bugs |
| gotchas.md | Centre alignment, flex overflow, asset paths, upstream defects |
| patterns.md | Multi-page coherence, list reconciliation, the ship checklist |
| recipes.md | Dashboard, form, menu, HUD assembled |
| examples/ | Runnable: starter.html, sui-kit.js, sui-patch.css |
develop/client/)| File | Topic |
|---|---|
| index.md | The three-channel architecture |
| state-and-data.md | GameState, factories, the string-number trap, REST |
| actions-and-signing.md | Wallet, dual-lane queue, charge gating |
| work-and-pow.md | Hash format, difficulty decay, workers, completion |
| realtime-grass.md | NATS, the listener contract, all 26 listeners |
| rendering-entities.md | PFP compositing, struct art, Lottie, animation queue |
| map.md | Ambit stack, tiles, fog of war, picture-in-picture |
| desktop-extensions.md | MCP tools, board pages, serving SUI over HTTP |
api/)Endpoint specifications and streaming protocols.
| File | Topic |
|---|---|
| endpoints.md | Full endpoint list |
| endpoints-by-entity.md | Endpoints grouped by entity |
| error-codes.md | Error code reference |
| rate-limits.md | Rate limiting behavior |
| integration-notes.md | Live data-shape & endpoint gotchas for integrators |
api/queries/)Per-entity query endpoints: address, agreement, allocation, fleet, guild, permission, planet, player, provider, reactor, struct, substation, system
api/transactions/)| File | Topic |
|---|---|
| submit-transaction.md | Transaction submission flow |
api/streaming/)| File | Topic |
|---|---|
| event-types.md | GRASS event type catalog |
| event-schemas.md | JSON schema definitions |
| subscription-patterns.md | Subscription patterns |
api/webapp/)Webapp endpoints split per entity (load only what you need):
Reference node for chain queries (REST + Tendermint RPC) is https://public.testnet.structs.network (SSL); Guild API and GRASS NATS WebSocket are hosted by individual guilds (e.g. http://crew.oh.energy / ws://crew.oh.energy:1443 for Orbital Hydro).
schemas/)Data structure definitions and formulas.
| File | Topic | |——|——-| | formulas.md | Game formulas (damage, blocking, evasion, PoW) | | economics.md | Economic data structures | | gameplay.md | Gameplay data structures | | game-state.md | Game state model | | actions.md | Action schemas | | authentication.md | Auth schemas | | database-schema.md | PostgreSQL schema reference | | formats.md | Data format specifications | | errors.md | Error schemas | | requests.md | Request schemas | | responses.md | Response schemas | | markets.md | Market schemas | | trading.md | Trading schemas | | validation.md | Validation rules | | code-structures.md | Code structure patterns |
schemas/entities/)Per-entity schemas: agreement, allocation, fleet, guild, planet, player, provider, reactor, struct-type, struct, substation
schemas/minimal/)Stripped-down essentials: planet, player, struct
protocols/)Communication and integration protocols.
| File | Topic | |——|——-| | query-protocol.md | Query execution protocol | | action-protocol.md | Transaction submission protocol | | streaming.md | GRASS/NATS streaming protocol | | error-handling.md | Error handling patterns | | authentication.md | Authentication protocol | | gameplay-protocol.md | Gameplay interaction protocol | | economic-protocol.md | Economic transaction protocol | | webapp-api-protocol.md | Webapp API protocol | | testing-protocol.md | Testing protocol | —
patterns/)Implementation patterns and decision trees.
| File | Topic |
|---|---|
| QUICK_REFERENCE.md | Pattern quick reference |
| workflow-patterns.md | Common workflow patterns |
| gameplay-strategies.md | Gameplay strategy patterns |
| caching.md | Caching strategies |
| retry-strategies.md | Retry and backoff |
| rate-limiting.md | Rate limit handling |
| pagination.md | Pagination patterns |
| polling-vs-streaming.md | When to poll vs stream |
| state-sync.md | State synchronization |
| performance-optimization.md | Performance tuning |
| security.md | Security patterns |
| validation-patterns.md | Input validation |
patterns/decision-tree-*.md)| File | Decision |
|---|---|
| 5x-framework | General decision framework |
| build-requirements | What to build when |
| combat | Combat decisions |
| power-management | Power decisions |
| reactor-vs-generator | Energy source choice |
| resource-allocation | Resource distribution |
| resource-security | Protecting resources |
| trading | Trading decisions |
examples/)Working code examples and workflows.
| File | Example |
|---|---|
| simple-bot.md | Minimal bot skeleton |
| gameplay-mining-bot.md | Mining automation |
| gameplay-combat-bot.md | Combat automation |
| economic-bot.md | Economic automation |
| economic-calculations.md | Economic calculation examples |
| working-api-examples.md | Verified API call examples |
examples/workflows/)Step-by-step operations: planet-setup, mine-refine-convert, energy-agreement-setup, reactor-staking-infuse, reactor-staking-defuse, reactor-staking-begin-migration, reactor-staking-cancel-defusion, guild-token-lifecycle, trade-alpha-matter, query-guild-stats, query-and-monitor-planet, get-player-and-planets, monitor-planet-shield, struct-lifecycle-sweep-delay, permission-checking, authenticated-guild-query, raid-attacker-retreated
examples/auth/)consensus-transaction-signing, nats-connection, permission-examples, webapp-login
examples/errors/)404-not-found, 429-rate-limit, 500-server-error
examples/database/)reference/)Quick-lookup indexes.
| File | Topic |
|---|---|
| glossary.md | Lexical index — every key term with a definition and a link to its canonical page |
| codex-crosswalk.md | Maps human Codex terms (Battlegrounds, Battery, Alpha Ore, …) to canonical pages |
| local-devnet.md | Local Guild Stack / chain endpoints for development and review |
| action-quick-reference.md | All game actions at a glance |
| action-index.md | Action index |
| api-quick-reference.md | API endpoint quick lookup |
| endpoint-index.md | Endpoint index |
| endpoint-quick-lookup.md | Endpoint quick lookup |
| entity-index.md | Entity index |
| gameplay-index.md | Gameplay index |
troubleshooting/)| File | Topic |
|---|---|
| common-issues.md | Frequently encountered problems |
| error-codes.md | Error code reference |
| edge-cases.md | Known edge cases |
| permission-issues.md | Permission troubleshooting |
| reactor-staking-issues.md | Reactor staking problems |
memory/)Agent working memory (populated during gameplay).
| File | Purpose |
|---|---|
| README.md | Memory directory guide |
| intel/README.md | Intelligence directory guide |
| intel/territory.md | Territory intelligence |
| intel/threats.md | Threat intelligence |
visuals/)Diagrams, graphs, and spatial references.
entity-relationships, gameplay-economics, resource-flow, system-integration
decision-tree, diagram-schema, flow-schema, pattern-schema, relationship-graph, spatial-schema, ui-schema
coordinate-system, visual-index
scripts/)| File | Purpose |
|---|---|
| generate-llms-full.sh | Regenerate llms-full.txt from source docs |
| gen-sui-inventory.sh | Extract the SUI ground truth from structs-webapp into generated/sui-inventory.md |
| check-webapp-drift.sh | Report what changed in structs-webapp since develop/ was pinned |
| BASELINE.md | Maintainer record of the contracts this repo preserves |
| Directory | Purpose |
|---|---|
structs-desktop/ |
Structs desktop app for human players — wraps the web client and embeds an MCP server agents connect to (see TOOLS.md) |
structs-webapp/ |
Structs web application (PHP/Symfony) |
These are separate codebases. See their own READMEs for details.