Skip to content

Added .gitattributes, CLAUDE.md, SECURITY.md, and .pylintrc (suggested by Claude Code) - #435

Merged
yuyao-cyber merged 8 commits into
devfrom
feature/claude-code
Oct 7, 2026
Merged

yuyao-cyber merged 8 commits into
devfrom
feature/claude-code

Conversation

@yantosca

@yantosca yantosca commented Aug 12, 2026 •

Copy link
Copy Markdown
Contributor

Name and Institution (Required)

Name: Bob Yantosca
Institution: Harvard + GCST

Describe the update

This PR adds repository configuration and guidance files:

File Description
.gitattributes Normalizes line endings to LF, except *.bat files, which stay CRLF. Marks binary formats such as .nc, .npy, .pdf and images as binary. Excludes docs/ and gcpy/examples/ from GitHub's language statistics.
CLAUDE.md Guidance for Claude Code: environment setup, tests, CI, linting, benchmarks, the release process, architecture, and contribution conventions.
SECURITY.md Security policy. Vulnerabilities are reported privately through a GitHub security advisory. Private vulnerability reporting is now enabled for this repo.
.pylintrc Relaxes Pylint checks that don't fit GCPy's code style: size limits, wildcard imports in __init__.py, and short scientific variable names.
.github/PULL_REQUEST_TEMPLATE.md Adds an "AI disclosure" section.
.github/dependabot.yml Tells GitHub to check if any GitHub actions (e.g. checkout) need updating. If so, a PR containing proposed fixes will be opened for GCST review.

It also includes these follow-up fixes, made after the 1.8.1 release:

  • docs/make.bat and gcpy/benchmark/modules/GC_72_vertical_levels.csv had been committed with CRLF line endings. They are now stored as LF, and make.bat is still checked out with CRLF. Their diffs show every line changed, but only the line endings differ.

  • gcpy/examples/dry_run/download_data.py: Now reads its YAML config with yaml.safe_load instead of yaml.load(..., Loader=yaml.FullLoader), and closes the file when done.

  • .github/workflows/run-tests.yml and build-gcpy-environment-py31{2,3,4}.yml: Added permissions: contents: read, so every workflow now declares the access it needs. This makes it safe to switch the repo's default workflow token to read-only. Also shortened the ESMF/MPI comment in run-tests.yml; the full explanation is in CLAUDE.md.
    ### Expected changes

GCPy output is unchanged. download_data.py parses download_data.yml to the same result as before. The line-ending changes affect how the files are stored in Git, not their contents. CI should pass as before; zizmor reports no findings for the workflow changes.
### Related Github Issue

@yantosca yantosca added this to the 1.8.1 milestone Aug 12, 2026
@yantosca
yantosca requested review from lizziel and msulprizio August 12, 2026 15:29
@yantosca yantosca self-assigned this Aug 12, 2026
@yantosca yantosca added category: Feature Request New feature or request topic: GitHub Related to GitHub templates or actions labels Aug 12, 2026
@yantosca
yantosca force-pushed the feature/claude-code branch from 7eb741a to 4402373 Compare August 27, 2026 13:47
.gitattributes
- Normalizes line endings for text files

CLAUDE.md
- Gives guidance to Claude Code AI

SECURITY.md
- Boilerplate text that tells users how security issues will be handled

.pylintrc
- Gives guidance to Pylint on how to check for Python style correctness

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
.github/PULL_REQUEST_TEMPLATE.md
- Added "AI disclosure" section, asking the user to state if AI
  was used in the preparation of this PR.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
CLAUDE.md
- Updated as of GCPy 1.8.1
- Also added extra safety commands to tell Claude what not to do

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
.gitattributes
- Updated comments
- Updated settings for linguist package

CHANGELOG.md
- Moved entries to Unreleased section after the 1.8.1 release

CLAUDE.md
- Updated by Claude Code

SECURITY.md
- Minor formatting updates, made by Claude Code

docs/make.bat
- Updated line endings to CR/LF for Windows

gcpy/examples/dry-run/download_data.py
- Use YAML safe loader

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
@yantosca yantosca modified the milestones: 1.8.1, 1.8.2 Sep 24, 2026
yantosca and others added 2 commits September 24, 2026 11:02
.github/workflows/build-gcpy-environment*.yml
.github/workflows/run-tests.yml
- Give the GitHub token read-only access

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
.github/dependabot.yml
- Tells Dependabot to check once a month if any of the GitHub
  Actions (e.g. checkout) need updating.  If so, will submit a bundled
  PR with the updates.

CLAUDE.md
- Updated to not break lines in paragraphs

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.github/workflows/codeql.yml
- Added "actions" to the list of languages

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

release/v1 is a moving branch, and this step can publish geoschem-gcpy
to PyPI, so it should run only code that has been reviewed.  The SHA is
the commit for v1.14.2, which release/v1 currently points to, so the
action itself does not change.  Dependabot's github-actions updates keep
the SHA and its version comment current.

.github/workflows/publish-python.yml
- Use pypa/gh-action-pypi-publish@<SHA> # v1.14.2 instead of @release/v1

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yuyao-cyber
yuyao-cyber merged commit 5b7c135 into dev Oct 7, 2026
20 checks passed
@yantosca
yantosca deleted the feature/claude-code branch October 7, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: Feature Request New feature or request topic: GitHub Related to GitHub templates or actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants