Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/node-ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Node CI

# Reusable CI for the TypeScript/JavaScript side of MattFisher projects:
# Reusable CI for the TypeScript/JavaScript side of Generality Labs projects:
# install, type-check, and build. Consumers call it from a thin workflow — see
# the scaffolded `.github/workflows/ci.yml`.
#
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/python-ci.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Python CI

# Reusable CI for MattFisher Python projects: uv install, basedpyright, pytest,
# and the shared pre-commit stack (ruff + zizmor + mdformat). Consumers call it
# from a thin workflow — see the scaffolded `.github/workflows/ci.yml`.
# Reusable CI for Generality Labs Python projects: uv install, basedpyright,
# pytest, and the shared pre-commit stack (ruff + zizmor + mdformat). Consumers
# call it from a thin workflow — see the scaffolded `.github/workflows/ci.yml`.
on:
workflow_call:
inputs:
Expand Down
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ Entries for 1.0.0 through 1.5.2 were backfilled from git history after the fact,

## [Unreleased]

### Changed

- Rebranded for the Generality-Labs fork: `github_owner` now defaults to
`Generality-Labs`, so scaffolded projects call the reusable workflows and
pin their zizmor/Dependabot exceptions against this repo. README, LICENSE
and workflow header comments updated to match.

### Fixed

- The scaffolded typos hook skips `.copier-answers.yml`. The file is generated, and its `_commit` is whatever ref the last update used — when that is a short SHA rather than a tag, its leading hex characters are a coin flip away from a word typos reads as misspelled, and `ba338ef` duly tripped `ba` → `by`, `be`. Nothing in the file is prose, so checking it could only ever produce false positives, on a schedule nobody controls.
Expand Down Expand Up @@ -182,4 +189,4 @@ The largest release so far: an optional TypeScript side, automated template upda
[1.7.0]: https://github.com/MattFisher/python-project-template/compare/v1.6.0...v1.7.0
[1.8.0]: https://github.com/MattFisher/python-project-template/compare/v1.7.0...v1.8.0
[1.8.1]: https://github.com/MattFisher/python-project-template/compare/v1.8.0...v1.8.1
[unreleased]: https://github.com/MattFisher/python-project-template/compare/v1.8.1...HEAD
[unreleased]: https://github.com/Generality-Labs/python-project-template/compare/v1.8.1...HEAD
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
MIT License

Copyright (c) 2026 Generality Labs
Copyright (c) 2026 Matt Fisher

Permission is hereby granted, free of charge, to any person obtaining a copy
Expand Down
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# python-project-template

A [Copier](https://copier.readthedocs.io/) template for MattFisher's Python
A [Copier](https://copier.readthedocs.io/) template for Generality Labs Python
projects, plus the shared reusable CI workflow they all call. It encodes one
standard so the repos don't drift:

Expand All @@ -26,7 +26,7 @@ standard so the repos don't drift:
## Scaffold a new project

```bash
uvx copier copy gh:MattFisher/python-project-template my-new-project
uvx copier copy gh:Generality-Labs/python-project-template my-new-project
```

You'll be asked for the name, description, whether it's an app or a library,
Expand Down Expand Up @@ -74,7 +74,7 @@ duplicating CI. To bump CI for every repo at once, change it here and move the
```yaml
jobs:
ci:
uses: MattFisher/python-project-template/.github/workflows/python-ci.yml@v1
uses: Generality-Labs/python-project-template/.github/workflows/python-ci.yml@v1
with:
python-version: "3.12"
```
Expand All @@ -87,7 +87,7 @@ hook in the pre-commit stack, and a second CI job calling

```yaml
frontend:
uses: MattFisher/python-project-template/.github/workflows/node-ci.yml@v1
uses: Generality-Labs/python-project-template/.github/workflows/node-ci.yml@v1
with:
working-directory: "frontend"
```
Expand Down Expand Up @@ -176,9 +176,10 @@ or swap in a PAT or GitHub App token if you want that automatic.

Tagged `v1.0.0` with a moving `v1`. Generated projects pin the reusable workflow
to `@v1`; a repo-local `.github/zizmor.yml` allows tag-pinned refs from
`MattFisher/*` while still requiring commit-SHA pins for third-party actions.
`Generality-Labs/*` while still requiring commit-SHA pins for third-party
actions.

The generated `.github/dependabot.yml` also ignores `MattFisher/*` for the
The generated `.github/dependabot.yml` also ignores `Generality-Labs/*` for the
github-actions ecosystem. Without it, Dependabot rewrites `@v1` to a fixed
`@v1.x.y` and then opens a bump PR on every release — and the next `copier
update` restores the moving tag, so the two fight indefinitely. Third-party
Expand Down
2 changes: 1 addition & 1 deletion copier.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ coverage_floor:

github_owner:
type: str
default: MattFisher
default: Generality-Labs

author_name:
type: str
Expand Down
Loading