# Bevy Genre Card Game

Bevy card-game router: zones, turn resource, deck order, catalog costs, EndTurn and...

- Repository: https://github.com/thedivergentai/Game-Dev-Agentic-Skills (917 stars)
- Category: Engineering
- License: LGPL-3.0
- Last updated: 2026-10-16
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill bevy-genre-card-game -g -a claude-code -y`
Codex: `npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill bevy-genre-card-game -g -a codex -y`
Cursor: `npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill bevy-genre-card-game -g -a cursor -y`
Gemini CLI: `npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill bevy-genre-card-game -g -a gemini-cli -y`

## Description

Bevy card-game router: zones, turn resource, deck order, catalog costs, EndTurn and PlayCard messages. Use for a local hand, board, and seat order. Keywords: Bevy, card game, zone, turn, deck, energy, chain.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Bevy card game

Genre router. Domain work lives in the Bevy skills below.

## When to use

Load this for a local card zone, hand, and turn order.

## ECS shape

- **Components** hold the genre's per-entity flags as plain data. This file does not name new engine types.
- **Resources** hold the turn index, energy, and the card catalog via bevy-data-resources.
- **Systems** read those components on `Update` or the fixed timestep from bevy-master. Order them with `.chain()` when a later system must see the result.
- **Schedule:** gameplay mode changes go through bevy-state-machines. Do not invent a genre plugin.

## Idioms

| Need | Bevy shape |
| --- | --- |
| Cards and zones | Entities with `Card` and `InZone` |
| Turn and catalog | Resources |
| End turn, draw, play | Messages consumed on one `.chain()` |

## Routing

- [bevy-turn-system](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-turn-system/SKILL.md) - Turns.
- [bevy-inventory-system](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-inventory-system/SKILL.md) - Zones as containers of card ids.
- [bevy-ui-layout](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-ui-layout/SKILL.md) - Hand layout.
- [bevy-data-resources](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-data-resources/SKILL.md) - Card definitions.

## Scope

- A card is an entity. Its zone is a component. Turn index and the definition table are resources.
- Local play shuffles with `rand`. Online play stays on the networking skills.

## Examples

```toml
[package]
name = "cards"
version = "0.1.0"
edition = "2021"

[dependencies]
bevy = "0.20"
rand = "0.9"
```

Zones and the active seat are plain data. Ending a turn advances the seat, then draws one card into that seat's hand.

```rust
#[derive(Clone, Copy, PartialEq, Eq)]
enum ZoneKind {
    Deck,
    Hand,
    Board,
}

#[derive(Component)]
struct Card {
    def: u32,
}

The rest: https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/HEAD/skills/bevy-genre-card-game/SKILL.md
