docs: Update project and agent documentation.

- Document agent guidelines for asset tracking, including build commands, code style, data conventions, and security practices.
- Document project setup, features, configuration, usage, and output details for an asset tracking tool.
This commit is contained in:
2025-12-24 11:50:53 -05:00
parent 948dabc3d6
commit 4873dc74e7
2 changed files with 126 additions and 0 deletions

29
AGENTS.md Normal file
View File

@@ -0,0 +1,29 @@
# Asset Tracker - Agent Guidelines
## Build/Test Commands
- Run asset extraction: `./extract_assets.sh`
- Generate charts: `./chart_asset_data.sh`
- Full pipeline with SSH agent: `./run_with_agent.sh`
- Test individual users: Edit `user_ids.conf` to modify USER_IDS array
## Code Style Guidelines
- Use bash for shell scripts with `#!/bin/bash` shebang
- Source configuration files with `source ./user_ids.conf`
- Use uppercase for global variables: `USER_IDS`, `URL_TEMPLATE`, `OUTPUT_DIR`
- Function names in lowercase with underscores: `process_user()`
- Use local variables in functions: `local USER_ID="$1"`
- Error checking with conditional statements and proper exit codes
- Clean up temporary files with `rm -f`
- Use descriptive variable names: `png_total_assets`, `temp_diamonds_on_hand`
## Data Conventions
- CSV format: `date,rank,diamonds,total_assets`
- Date format: `"%Y-%m-%d %H:%M:%S"`
- Remove commas from numeric values with `tr -d ','`
- Gnuplot time format: `"%Y-%m-%d"`
- Output PNG files: `total_assets_${USER_ID}.png`, `diamonds_on_hand_${USER_ID}.png`
## Security
- Use SSH agent for key management: `ssh-add ~/.ssh/id_ed25519`
- Handle sensitive URLs and paths in configuration files
- Validate file existence before processing: `[ ! -f "$input_file" ]`

97
README.md Normal file
View File

@@ -0,0 +1,97 @@
# Asset Tracker
A Bash-based tool for tracking user assets and generating visualizations from the Prismatic Imperium game platform.
## Overview
This project extracts asset data from user profiles, stores it in CSV format, and generates time-series charts showing total assets and diamonds on hand over time.
## Features
- Automated data extraction from Prismatic Imperium user pages
- CSV data storage with timestamps
- Chart generation in ASCII and PNG formats
- Multiple user support with configurable user IDs
- Automatic deployment to web server via SSH
## Prerequisites
- Bash shell
- curl for web requests
- gnuplot for chart generation
- SSH access to web server (for deployment)
## Installation
1. Clone or download the scripts to your desired location
2. Make scripts executable:
```bash
chmod +x extract_assets.sh chart_asset_data.sh run_with_agent.sh
```
3. Configure user IDs in `user_ids.conf`
## Configuration
Edit `user_ids.conf` to specify which user IDs to track:
```bash
USER_IDS=("667" "31" "744" "602" "268")
```
## Usage
### Run Full Pipeline (Recommended)
```bash
./run_with_agent.sh
```
This script:
1. Sets up SSH agent
2. Adds SSH key for deployment
3. Runs data extraction
4. Generates charts
5. Deploys to web server
### Individual Steps
**Extract asset data:**
```bash
./extract_assets.sh
```
**Generate charts:**
```bash
./chart_asset_data.sh
```
## Output Files
### CSV Data
- `assets_data_{USER_ID}.csv` - Time-series asset data
- Format: `date,rank,diamonds,total_assets`
### Charts
- `total_assets_{USER_ID}.png` - Total assets over time
- `diamonds_on_hand_{USER_ID}.png` - Diamonds on hand over time
Charts are generated with:
- Black background
- Orange (#FE6A00) for total assets
- Teal (#2CB9CF) for diamonds
- White grid lines and labels
## Deployment
Charts are automatically copied to the web server at:
`/var/www/erictaylor/img/asset_tracker/`
## Data Processing
The tool extracts numeric values from web pages, removes commas, and stores them with timestamps. Gnuplot processes the data to create visualizations with configurable date formatting and axis styling.
## Security
- Uses SSH agent for key management
- Configuration files isolate sensitive paths
- File existence validation before processing