FVN.li Documentation Help

Commands Overview

This section provides comprehensive documentation for all artisan commands available in the FVN.li project.

Command Categories

Fix Commands

Data repair and maintenance commands for ensuring database consistency.

Command

Purpose

Key Options

fix:characters

Comprehensive character data fixes

--dry-run, --game-id=ID, --version-id=ID, --step=STEP

fix:platforms:incremental-support

Report platform support issues

--game-id=ID (report only)

Feed Commands

Processing of the itch.io feed for automatic game discovery and updates.

Command

Purpose

feed:process

Process itch.io feed for game updates

Game Jam Commands

Management and enrichment of game jam information.

Command

Purpose

Key Options

game-jams:fetch-details

Fetch additional details for game jams

--all, --id=ID, --name=NAME, --url=URL

Games Commands

Comprehensive game data management, media processing, and information updates.

Command

Purpose

Key Options

games:cleanup-downloads

Clean up old game version downloads

--game-id=ID, --all

games:import-stats

Import stats JSON for a game version

--game-id=ID, --version-id=ID, --stats-file=PATH

games:process-screenshots

Process and optimize game screenshots

--game-id=ID, --all, --quality=N

games:process-thumbnails

Process and optimize game thumbnails

--game-id=ID, --all, --quality=N

games:refresh

Refresh game information from itch.io

--game-id=ID, --all, --update-*

games:refresh-feedless

Refresh feedless games

Various filtering options

games:reimport-version

Reimport version statistics

Version targeting options

games:update-watchlist

Update games from watchlist

Collection management options

Notification Commands

User notification processing and delivery system.

Command

Purpose

Key Options

notifications:process-push

Process pending browser push notifications

--limit=COUNT, --batch=SIZE

notifications:queue-game-updates

Queue notifications for game updates

--days=N, --limit=COUNT

Rater Commands

User rating behavior management and moderation tools.

Command

Purpose

Key Options

rater:mark-suspicious

Mark or unmark a rater as suspicious

--reason=TEXT, --unmark

Ratings Commands

Import and management of game ratings data from itch.io.

Command

Purpose

Key Options

ratings:backfill

Backfill missing ratings by scanning events

--batch-size=SIZE

ratings:import

Import latest ratings from itch.io

None (automatic import)

Sitemap Commands

SEO optimization through XML sitemap generation.

Command

Purpose

sitemap:generate

Generate the sitemap.xml file

General Usage Guidelines

Getting Help

Use php artisan COMMAND --help for detailed help on any specific command.

Common Patterns

  • Dry Run: Many commands support --dry-run to preview changes

  • Targeting: Most commands support --game-id=ID for specific games

  • Batch Processing: Commands often include --limit options for batch control

  • Verbose Output: Use -v for detailed execution information

Performance Considerations

  • Resource Usage: Media processing and bulk operations can be resource-intensive

  • API Limits: Commands that interact with itch.io respect rate limiting

  • Batch Sizes: Adjust batch sizes based on system resources and requirements

  • Scheduling: Many commands are designed for automated/scheduled execution

Error Handling

All commands include comprehensive error handling with retry logic for temporary failures and detailed logging for troubleshooting.

Data Flow Diagrams

Game Update Processing Flow

This diagram shows how game updates flow from itch.io through the system to user notifications:

No

Yes

Yes

No

itch.io Public Feed

feed:process

Game Exists in DB?

Skip Event

Refresh Version Info

Record Processed Event

Continue Processing

notifications:queue-game-updates

User Follows Game?

Create Notification Record

Skip User

notifications:process-push

Send Push Notification

User Receives Update

Watchlist and Creator Discovery Flow

This diagram shows how new games are discovered through watchlists and creator following:

No

Yes

Yes

No

Yes

No

itch.io Collections

games:update-watchlist

Game in Database?

Add New Game

Update Game Info

Follow Creator

Game Visibility Changed?

Skip Creator Follow

Discover Creator Catalog

New Games Found?

Add Creator Games

Complete

games:refresh

Load Full Game Details

Process Screenshots/Thumbnails

Import Game Statistics

Game Data Processing Pipeline

This diagram shows the complete game data processing pipeline from import to analysis:

New Game Added

games:refresh

Fetch Base Info

Fetch Version Info

Fetch Metadata

Download Game Archive

games:reimport-version

Extract Game Files

Analyze Game Content

Extract Character Data

Calculate Statistics

fix:characters

games:process-screenshots

games:process-thumbnails

sitemap:generate

Complete

Ratings and Game Jam Data Flow

This diagram shows how ratings and game jam information are processed:

Yes

No

itch.io Ratings API

ratings:import

Import User Ratings

Calculate Aggregates

rater:mark-suspicious

Suspicious Rater?

Exclude from Aggregates

Include in Aggregates

Game Jam Discovery

game-jams:fetch-details

Fetch Jam Metadata

Fetch Participants

Fetch Results

Associate Games with Jams

Historical Events

ratings:backfill

Scan Event History

Extract Missing Ratings

Update Game Ratings

Update Game Metadata

Complete

System Architecture Overview

This diagram shows the overall command architecture and how different command categories interact:

Notification Commands

Fix Commands

Processing Commands

Import Commands

Data Sources

Maintenance Commands

games:cleanup-downloads

ratings:backfill

rater:mark-suspicious

sitemap:generate

itch.io Public Feed

itch.io Collections

itch.io API

Game Archives

feed:process

games:update-watchlist

games:refresh

ratings:import

games:reimport-version

games:process-screenshots

games:process-thumbnails

game-jams:fetch-details

fix:characters

fix:platforms:incremental-support

notifications:queue-game-updates

notifications:process-push

Last modified: 01 June 2025