Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
791f5cb
Update documentation to reflect merged PRs and current project state
knowlen Jul 9, 2025
b8fc0f9
Simplify BRANCH_STRUCTURE.md: Remove redundant sections and branches
knowlen Jul 9, 2025
ad11e00
Merge pull request #6 from knowlen/v2/docs-update
knowlen Jul 9, 2025
b5edcf6
cleanup
knowlen Jul 9, 2025
8431204
Update CLAUDE.md API coverage from ~35% to ~45%
knowlen Jul 9, 2025
2b0faff
Add comprehensive integration test suite
knowlen Jul 9, 2025
f3b4d1c
Fix integration test issues
knowlen Jul 9, 2025
47360f9
Address PR review feedback
knowlen Jul 10, 2025
e8f683f
Complete PR review fixes
knowlen Jul 10, 2025
42dd8e3
Fix integration test timeout configuration
knowlen Jul 10, 2025
bb42f24
Fix duplicate fixtures and nested reference bugs in integration tests
knowlen Jul 10, 2025
bce9ee4
Rename get_np_cs to get_npcs throughout codebase and complete fixture…
knowlen Jul 10, 2025
5d159a9
Merge pull request #7 from knowlen/v2/integration-tests
knowlen Jul 10, 2025
664afbb
Update documentation to reflect completion of integration test suite
knowlen Jul 10, 2025
eb08f6b
remove this
knowlen Jul 11, 2025
464d7e8
Add advanced report search functionality with filtering and pagination
knowlen Jul 11, 2025
3598371
Update test.py to include report analysis and search functionality
knowlen Jul 11, 2025
c7e9edd
Fix sanity test enum references and add comprehensive sanity test suite
knowlen Jul 11, 2025
2a559dd
delete test.py
knowlen Jul 11, 2025
ce305c5
Add comprehensive README files for test suites
knowlen Jul 11, 2025
3177df4
Add GitHub Actions CI/CD pipeline and Dependabot configuration
knowlen Jul 11, 2025
75d8624
Trigger CI workflow
knowlen Jul 11, 2025
909cd86
Fix CI workflow issues: update artifact actions to v4 and add debugging
knowlen Jul 11, 2025
547c085
Address critical code review issues: validation, security, and CI fixes
knowlen Jul 11, 2025
4f59f19
Fix validation logic for UNSET types and timestamp bounds
knowlen Jul 11, 2025
aa7158a
Fix pre-commit issues: remove print statements and fix type annotations
knowlen Jul 11, 2025
68acad0
Fix pre-commit config to exclude tests from mypy and fix print statem…
knowlen Jul 11, 2025
4e4b341
Fix page parameter validation in report search
knowlen Jul 11, 2025
071ae5b
Optimize GitHub Actions to reduce CI minutes usage
knowlen Jul 11, 2025
d721ddf
Fix workflow triggers to unblock PR status checks
knowlen Jul 11, 2025
809ca39
Update documentation for Advanced Report Search completion
knowlen Jul 11, 2025
e11b6b2
Fix trailing whitespace in README.md
knowlen Jul 11, 2025
4c7ed02
Merge pull request #8 from knowlen/v2/report-search-api
knowlen Jul 11, 2025
9ac3261
Add comprehensive MkDocs Material documentation with Modular-inspired…
knowlen Jul 11, 2025
34d1699
Fix documentation design to match Modular's clean aesthetic
knowlen Jul 11, 2025
d100c3d
Fix dark theme colors and contrast for better readability
knowlen Jul 11, 2025
4e77ed5
Fix button visibility and soften dark mode colors for better readability
knowlen Jul 11, 2025
2afe198
Soften dark mode text colors to reduce eye strain
knowlen Jul 11, 2025
c6d59fc
Improve dark mode contrast and streamline navigation layout
knowlen Jul 11, 2025
95a9d68
Restore edit/view buttons to original location and remove emojis from…
knowlen Jul 11, 2025
e5f915c
Enhance documentation with API reference and comprehensive testing
knowlen Jul 12, 2025
92272fc
Fix API return type documentation based on live validation
knowlen Jul 12, 2025
a19b3cd
Remove artificial common patterns from game data documentation
knowlen Jul 12, 2025
d2d8824
Add comprehensive documentation plans for parallel API reference deve…
knowlen Jul 12, 2025
a9ffb2b
Add comprehensive commit history cleanup instructions
knowlen Jul 12, 2025
6a23365
Add git worktree setup for parallel API documentation development
knowlen Jul 13, 2025
9fdc60c
Add character data API reference documentation
knowlen Jul 13, 2025
640d32a
Add report analysis API reference documentation
knowlen Jul 13, 2025
90021dd
Add guild data API reference documentation
knowlen Jul 13, 2025
6f9281f
Add report search API reference documentation
knowlen Jul 13, 2025
b5f3f28
Add world data API reference documentation
knowlen Jul 13, 2025
3c0d391
Fix character data documentation - add missing output blocks and make…
knowlen Jul 13, 2025
4d562e5
Fix guild data tests to prevent skipping with reliable guild ID
knowlen Jul 13, 2025
8ce7fc1
Improve performance tracking example to show actual encounter_ranking…
knowlen Jul 13, 2025
e6157ac
Update character data examples with realistic IDs and output data
knowlen Jul 13, 2025
bd62370
Enhance performance tracking example to show actual API response stru…
knowlen Jul 13, 2025
b4f3589
Update character examples to use encounter ID 63 with real ranking data
knowlen Jul 13, 2025
ffc3db3
Restructure guild data docs with dedicated error handling section and…
knowlen Jul 13, 2025
757692f
Fix Guild Member Activity Tracking to actually track members using re…
knowlen Jul 13, 2025
d4a8006
Improve report analysis documentation with real data examples and sel…
knowlen Jul 13, 2025
4393396
Fix get_report_events example with real fight data and improve encoun…
knowlen Jul 13, 2025
259f18a
Add explanatory notes for triple nesting structure in report analysis…
knowlen Jul 13, 2025
f330914
refine
knowlen Jul 13, 2025
bb450cf
Enhance report search documentation with explanations and real outputs
knowlen Jul 13, 2025
1c1fa75
Improve readability of nested object structures with block quotes
knowlen Jul 13, 2025
ffe7f0f
Center nested object structure titles for better visual hierarchy
knowlen Jul 13, 2025
d5c9003
Fix title centering to be relative to table width, not page width
knowlen Jul 13, 2025
a80d9ff
Simplify nested structure headers to use clear, readable format
knowlen Jul 13, 2025
97837be
Update Guild Performance Tracking example to use Ossein Cage with rea…
knowlen Jul 13, 2025
b95508e
Update world data docs with veteran hard mode analysis and output exa…
knowlen Jul 13, 2025
b44b134
Merge remote-tracking branch 'origin/guild-data-work' into v2/update-…
knowlen Jul 13, 2025
587ff32
Merge remote-tracking branch 'origin/world-data-work' into v2/update-…
knowlen Jul 13, 2025
c3035c4
Merge remote-tracking branch 'origin/report-analysis-work' into v2/up…
knowlen Jul 13, 2025
8ca7351
Merge remote-tracking branch 'origin/report-search-work' into v2/upda…
knowlen Jul 13, 2025
70c15ec
Remove obsolete worktree plan files
knowlen Jul 13, 2025
3a6bfaa
Remove redundant TESTING.md in favor of comprehensive tests/README.md
knowlen Jul 13, 2025
b1fd981
Remove worktree setup docs and exclude AI tool files from version con…
knowlen Jul 13, 2025
c5e37bb
Stop tracking development planning files - keep local only
knowlen Jul 13, 2025
fd0c714
Update README.md - remove emojis from headers, add CI/CD badge, updat…
knowlen Jul 13, 2025
0c05927
Update project documentation to reflect completed API reference work
knowlen Jul 13, 2025
75793a9
Update test documentation to reflect current test counts and expanded…
knowlen Jul 13, 2025
0ba8c31
Complete development documentation section and fix issues
knowlen Jul 13, 2025
4df3cba
fix badge
knowlen Jul 13, 2025
730a054
readthedocs
knowlen Jul 13, 2025
0a219cf
docs badge
knowlen Jul 13, 2025
9aab310
rearange
knowlen Jul 13, 2025
dbcd754
rearange
knowlen Jul 13, 2025
f4db44a
remove liscence badge
knowlen Jul 13, 2025
749c190
Update documentation and streamline Development section
knowlen Jul 13, 2025
e1f2840
Update quickstart documentation with output examples and standardize …
knowlen Jul 13, 2025
5e55c7d
update coverage
knowlen Jul 13, 2025
96bf73b
update formatting
knowlen Jul 13, 2025
dc10624
update formatting
knowlen Jul 13, 2025
8a94fe7
update formatting
knowlen Jul 13, 2025
d9c26a4
update homepage
knowlen Jul 13, 2025
df9ba63
update homepage
knowlen Jul 13, 2025
b07108f
update formatting
knowlen Jul 13, 2025
201bba4
update formatting
knowlen Jul 13, 2025
333184f
update formatting
knowlen Jul 13, 2025
5b7d236
Complete vim-style dark theme implementation with professional brandi…
knowlen Jul 15, 2025
a99b4ba
Update heading and link colors in vim theme
knowlen Jul 15, 2025
f08cfc4
Update navigation styling for consistency and readability
knowlen Jul 15, 2025
dcfe437
Revert navigation to yellow-on-purple color scheme
knowlen Jul 15, 2025
6e99474
Implement search and image optimization
knowlen Jul 15, 2025
5b022ab
Change search bar styling from green to purple
knowlen Jul 15, 2025
d6ffae3
Implement single-row navigation layout
knowlen Jul 15, 2025
0058153
Fix navigation duplication bug with more aggressive tab hiding
knowlen Jul 15, 2025
24a6923
Switch to pure CSS single-row navigation approach
knowlen Jul 15, 2025
f7517ee
Revert to stable two-row navigation layout
knowlen Jul 15, 2025
6037a4f
Change search bar focus color from cyan to magenta
knowlen Jul 15, 2025
08546f0
Change search bar focus color to yellow
knowlen Jul 15, 2025
769d6ae
Change search bar focus color to blue
knowlen Jul 15, 2025
d02ba3a
Change search bar focus color to purple (--vim-visual)
knowlen Jul 15, 2025
2f45024
update
knowlen Jul 15, 2025
0c5fcca
Change code block backgrounds to pure black
knowlen Jul 15, 2025
5ca8ad8
Change inline code snippets to use --vim-bg-light background
knowlen Jul 15, 2025
31219fe
Enhance theme with black background and improved contrast
knowlen Jul 15, 2025
8a98a1d
Fix type annotations in image optimization scripts
knowlen Jul 15, 2025
930a01d
Fix pre-commit formatting issues across all files
knowlen Jul 15, 2025
d67f520
Fix YAML validation and EOF errors
knowlen Jul 15, 2025
bd65b67
Restore mermaid diagram support with YAML-compliant configuration
knowlen Jul 15, 2025
9f1c343
Change hover effects from cyan/blue to purple (--vim-visual)
knowlen Jul 15, 2025
70e33ef
Fix typo and clarify API limit
knowlen Jul 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions .claude/settings.local.json

This file was deleted.

24 changes: 24 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: 2
updates:
# Enable version updates for Python dependencies
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "deps"
include: "scope"
reviewers:
- "knowlen" # Replace with your GitHub username
assignees:
- "knowlen" # Replace with your GitHub username
open-pull-requests-limit: 5

# Enable version updates for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "ci"
include: "scope"
192 changes: 192 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
name: CI/CD Pipeline

on:
# Run on PR creation and updates, but with conditions to reduce waste
pull_request:
types: [opened, synchronize]
branches: [ main, v2-dev ]
# Allow manual triggering from GitHub UI
workflow_dispatch:
inputs:
run_integration_tests:
description: 'Run integration tests'
required: false
default: 'true'
type: boolean
# Still run on pushes to main/v2-dev (for releases)
push:
branches: [ main, v2-dev ]

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Cache pip packages
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"

- name: Verify installation
run: |
pip list
python -c "import esologs; print('Package imported successfully')"

- name: Run pre-commit checks
run: |
pre-commit run --all-files

- name: Run unit tests
run: |
echo "Starting unit tests..."
pytest tests/unit/ -v --cov=esologs --cov-report=xml --cov-report=term

- name: Check secrets availability
env:
ESOLOGS_ID: ${{ secrets.ESOLOGS_ID }}
ESOLOGS_SECRET: ${{ secrets.ESOLOGS_SECRET }}
run: |
if [ -z "$ESOLOGS_ID" ]; then
echo "WARNING: ESOLOGS_ID secret not set"
else
echo "ESOLOGS_ID secret is available"
fi
if [ -z "$ESOLOGS_SECRET" ]; then
echo "WARNING: ESOLOGS_SECRET secret not set"
else
echo "ESOLOGS_SECRET secret is available"
fi

- name: Run integration tests
if: github.event_name != 'workflow_dispatch' || inputs.run_integration_tests == 'true'
env:
ESOLOGS_ID: ${{ secrets.ESOLOGS_ID }}
ESOLOGS_SECRET: ${{ secrets.ESOLOGS_SECRET }}
run: |
echo "Starting integration tests..."
pytest tests/integration/ -v --tb=short

- name: Run sanity tests
if: github.event_name != 'workflow_dispatch' || inputs.run_integration_tests == 'true'
env:
ESOLOGS_ID: ${{ secrets.ESOLOGS_ID }}
ESOLOGS_SECRET: ${{ secrets.ESOLOGS_SECRET }}
run: |
echo "Starting sanity tests..."
pytest tests/sanity/ -v --tb=short

- name: Upload coverage to Codecov
if: matrix.python-version == '3.11'
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
flags: unittests
name: codecov-umbrella

security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install bandit safety

- name: Run security checks
run: |
echo "Running bandit security scan..."
bandit -r esologs/ -f json -o bandit-report.json || echo "Bandit completed with warnings"
echo "Running safety dependency check..."
safety check --json --output safety-report.json || echo "Safety completed with warnings"
ls -la *.json

- name: Upload security reports
if: always()
uses: actions/upload-artifact@v4
with:
name: security-reports
path: |
bandit-report.json
safety-report.json

build:
runs-on: ubuntu-latest
needs: [test, security]
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build twine

- name: Build package
run: |
python -m build

- name: Check package
run: |
twine check dist/*

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/

docs:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
needs: [test]
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
pip install sphinx sphinx-rtd-theme

- name: Build documentation
run: |
# Add documentation build commands here when ready
echo "Documentation build placeholder"

- name: Deploy to GitHub Pages
if: success()
run: |
echo "Documentation deployment placeholder"
24 changes: 14 additions & 10 deletions .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
name: Claude Code Review

on:
# Run on PR creation, skip on drafts and minor updates
pull_request:
types: [opened, synchronize]
# Allow manual triggering from GitHub UI
workflow_dispatch:
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
Expand All @@ -12,19 +15,21 @@ on:

jobs:
claude-review:
# Skip Claude review on synchronize unless specifically requested
if: github.event.action == 'opened' || contains(github.event.head_commit.message, '[review]')
# Optional: Filter by PR author
# if: |
# github.event.pull_request.user.login == 'external-contributor' ||
# github.event.pull_request.user.login == 'new-developer' ||
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'

runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand All @@ -39,7 +44,7 @@ jobs:

# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4)
# model: "claude-opus-4-20250514"

# Direct prompt for automated review (no @claude mention needed)
direct_prompt: |
Please review this pull request and provide feedback on:
Expand All @@ -48,31 +53,30 @@ jobs:
- Performance considerations
- Security concerns
- Test coverage

Be constructive and helpful in your feedback.

# Optional: Use sticky comments to make Claude reuse the same comment on subsequent pushes to the same PR
# use_sticky_comment: true

# Optional: Customize review based on file types
# direct_prompt: |
# Review this PR focusing on:
# - For TypeScript files: Type safety and proper interface usage
# - For API endpoints: Security, input validation, and error handling
# - For React components: Performance, accessibility, and best practices
# - For tests: Coverage, edge cases, and test quality

# Optional: Different prompts for different authors
# direct_prompt: |
# ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' &&
# ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' &&
# 'Welcome! Please review this PR from a first-time contributor. Be encouraging and provide detailed explanations for any suggestions.' ||
# 'Please provide a thorough code review focusing on our coding standards and best practices.' }}

# Optional: Add specific tools for running tests or linting
# allowed_tools: "Bash(npm run test),Bash(npm run lint),Bash(npm run typecheck)"

# Optional: Skip review for certain conditions
# if: |
# !contains(github.event.pull_request.title, '[skip-review]') &&
# !contains(github.event.pull_request.title, '[WIP]')

13 changes: 6 additions & 7 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,26 +39,25 @@ jobs:
# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read

# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4)
# model: "claude-opus-4-20250514"

# Optional: Customize the trigger phrase (default: @claude)
# trigger_phrase: "/claude"

# Optional: Trigger when specific user is assigned to an issue
# assignee_trigger: "claude-bot"

# Optional: Allow Claude to run specific commands
# allowed_tools: "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)"

# Optional: Add custom instructions for Claude to customize its behavior for your project
# custom_instructions: |
# Follow our coding standards
# Ensure all new code has tests
# Use TypeScript for new files

# Optional: Custom environment variables for Claude
# claude_env: |
# NODE_ENV: test

52 changes: 52 additions & 0 deletions .github/workflows/optimize-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Optimize Images

on:
pull_request:
paths:
- '**.png'
- '**.jpg'
- '**.jpeg'
- 'docs/assets/**'

jobs:
optimize:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Install optimization tools
run: |
sudo apt-get update
sudo apt-get install -y pngquant optipng jpegoptim webp

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install Python dependencies
run: |
pip install pillow

- name: Optimize images
run: |
python scripts/optimize_images.py

- name: Check if images were optimized
id: check_changes
run: |
if [[ -n $(git status --porcelain) ]]; then
echo "changes=true" >> $GITHUB_OUTPUT
else
echo "changes=false" >> $GITHUB_OUTPUT
fi

- name: Commit optimized images
if: steps.check_changes.outputs.changes == 'true'
uses: EndBug/add-and-commit@v9
with:
message: 'Optimize images [skip ci]'
add: '*.png *.jpg *.jpeg *.webp'
committer_name: 'GitHub Actions'
committer_email: 'actions@github.com'
Loading
Loading