Skip to content

Conversation

@SoundsSerious
Copy link
Contributor

This pull request introduces significant improvements to project infrastructure, automation, and documentation, with a focus on modernizing workflows, standardizing naming, and providing developer guidance. The most important changes are grouped below.

Continuous Integration & Automation Enhancements:

  • Major overhaul of .github/workflows/build.yml:
    • Switches build triggers to the main branch, expands Python version matrix, upgrades Actions versions, and restricts workflow triggers to relevant files.
    • Adds automatic Black formatting, release version checks, and improved test discovery for the new engforge package.
  • Adds a dedicated release workflow (.github/workflows/release.yml):
    • Automates version checks, package building, documentation deployment to GitHub Pages, GitHub Releases, and PyPI publishing.
  • Updates documentation workflow (.github/workflows/docs.yml):
    • Modernizes dependencies, triggers on pull requests, and ensures documentation builds and artifacts are uploaded for preview.
  • Introduces pre-commit hooks configuration for code quality (.pre-commit-config.yaml):
    • Enforces YAML correctness, trailing whitespace, and Black formatting.

Project Structure & Naming Standardization:

  • Renames all references from ottermatics to engforge in the Dockerfile, including working directory, copy paths, and installation commands. [1] [2]
  • Updates badges and installation instructions in README.md to reflect the new engforge project name and repository. [1] [2]

Documentation & Developer Guidance:

  • Adds a comprehensive development guide (CLAUDE.md):
    • Explains core architecture, design patterns, property system, data flow, domain libraries, testing, and development best practices for engforge.
  • Expands and updates README.md:
    • Provides new examples, corrects code to use engforge imports and naming, and clarifies usage patterns for components, systems, and solvers. [1] [2]

Funding & Community Support:

  • Adds .github/FUNDING.yml to enable GitHub Sponsors and other funding platforms, with a Buy Me a Coffee username.

These changes collectively modernize the project's infrastructure, improve developer experience, and set the stage for future contributions.

- Removed legacy egg-info files and setup.py in favor of pyproject.toml for modern packaging.
- Updated project version to 0.2.0 and adjusted dependencies in pyproject.toml.
- Cleaned up test files and ensured compatibility with the latest dependencies.
- Fixed minor formatting issues in test_costs.py.
@SoundsSerious SoundsSerious changed the base branch from master to main August 23, 2025 23:17
@SoundsSerious SoundsSerious merged commit 7818de2 into main Aug 23, 2025
1 check failed
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.

2 participants