Skip to content

Pokemon-Terminal v2.0 Fork Modernization: Packaging, CI/CD, Cross-Platform npm Wrapper, and Docs Refresh#223

Open
Crimson341 wants to merge 7 commits intoLazoVelko:masterfrom
Crimson341:master
Open

Pokemon-Terminal v2.0 Fork Modernization: Packaging, CI/CD, Cross-Platform npm Wrapper, and Docs Refresh#223
Crimson341 wants to merge 7 commits intoLazoVelko:masterfrom
Crimson341:master

Conversation

@Crimson341
Copy link
Copy Markdown

Summary

This PR delivers a full v2.0 modernization of the fork, including packaging, CI/CD, npm wrapper reliability, and documentation updates.

What Changed

Packaging and Project Metadata

  • Migrated to pyproject.toml (PEP 621 + setuptools backend).
  • Added minimal setup.py compatibility shim.
  • Bumped version to 2.0.0.
  • Raised Python support to >=3.10.
  • Updated metadata:
    • Development Status :: 4 - Beta
    • build-system floor to setuptools>=69
    • project URLs now point to Crimson341/Pokemon-Terminal.

Tooling and Dependencies

  • Added dev extras:
    • pytest
    • ruff
    • build
    • twine
  • Replaced legacy lint path with Ruff.
  • Updated Makefile targets:
    • setup, lint, test, build, package-check, dry-run, kitty-setup.

CI/CD and Automation

  • Removed Travis CI.
  • Added GitHub Actions workflows:
    • Python matrix CI (3.10–3.14)
    • npm wrapper smoke tests (Linux/macOS/Windows)
    • release workflow for build + PyPI trusted publishing.
  • Added Dependabot for pip + npm updates.

npm Wrapper and Cross-Platform Behavior

  • Preserved CLI commands:
    • pokemon
    • ichooseyou
  • Added maintained Node wrapper (bin/pokemon.js) that:
    • resolves Python across platforms
    • enforces Python >=3.10
    • delegates to python -m pokemonterminal.main
    • preserves exit/signals.
  • Updated CI smoke commands to use:
    • npx --no-install pokemon --help
    • npx --no-install ichooseyou --help
      for Windows-safe command resolution.

Documentation and README

  • Updated README badge/install URLs to this fork (Crimson341).
  • Added fork notice.
  • Added auto setup docs (make setup, make kitty-setup).
  • Added example gallery section.
  • Added descriptive alt text for example images (accessibility).
  • Added v2.0 release notes document.

Validation

  • make lint passes
  • make test passes (54 passed)
  • python -m build succeeds
  • twine check dist/* succeeds
  • npm tarball smoke install works
  • pokemon --help and ichooseyou --help work via local npm install
  • wrapper shows clear error and exits non-zero when Python is unavailable

Notes

  • npm package size remains large by design due to bundled image assets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant