opentemplate

All-in-one Python template. One click. Everything included.

https://github.com/open-nudge/opentemplate

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary

Keywords

attestations automation best-practices github-actions hardened intuitive legal linter nudging one-click performance pre-commit python reuse sbom security simple slsa template
Last synced: 4 months ago · JSON representation ·

Repository

All-in-one Python template. One click. Everything included.

Basic Info
Statistics
  • Stars: 24
  • Watchers: 0
  • Forks: 0
  • Open Issues: 3
  • Releases: 3
Topics
attestations automation best-practices github-actions hardened intuitive legal linter nudging one-click performance pre-commit python reuse sbom security simple slsa template
Created 7 months ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Security Support Governance Roadmap

README.md

opentemplate

All-in-one Python template. One click. Everything included.

![PyPI - Python Version](https://img.shields.io/pypi/v/opentemplate?style=for-the-badge&label=release&labelColor=grey&color=blue) ![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fopen-nudge%2Fopentemplate%2Fmain%2Fpyproject.toml&style=for-the-badge&label=python&labelColor=grey&color=blue) ![License](https://img.shields.io/badge/License-Apache_2.0-blue?style=for-the-badge) ![Coverage Hardcoded](https://img.shields.io/badge/coverage-100%25-green?style=for-the-badge) ![OSSF-Scorecard Score](https://img.shields.io/ossf-scorecard/github.com/open-nudge/opentemplate?style=for-the-badge&label=OSSF)

Features 🚀 Quick start 📚 Documentation 🤝 Contribute 👍 Adopters 📜 Legal


Features

opentemplate is a Python template which is:

[!IMPORTANT] An example repository using opentemplate here

[!CAUTION] All files in this repo will be copied to your project, using the title and description you provide.

Code quality (Python focused)

[!IMPORTANT] You can adjust everything from pyproject.toml level!

  • Package manager: pdm with a single pdm setup manages everything! (see why pdm)
  • Testing: pytest (with coverage, and hypothesis for fuzzing); testing across all Python versions done WITHOUT tox or nox(managed directly by pdm!)
  • Documentation: mkdocs - document once, have it everywhere (unified look on GitHub and hosted docs), semantically versioned (via mike), autogenerated from coverage, deadlink and spell-checked docstrings, automatically deployed after each GitHub release with clean material design look
  • Code formatting and linting: ruff (checks hand-picked for best quality and ease of use; most are enabled), basedpyright for type checking, FawltyDeps for static dependency analysis
  • Each file is copyrighted with your git information - copyrights added automatically by pre-commit, see REUSE and SPDX Licensing for more information
  • Automated Python version updates: pyproject.toml (and GitHub Actions pipelines where necessary) are automatically updated to always use 3 latest Python versions (via cogeol) according to Scientific Python SPEC0 deprecation and end-of-life policies
  • Other code linting: checks for YAML, Markdown, INI, JSON, prose, all config files, shell, GitHub Actions - all grouped as check-<group> and fix-<group> pdm commands
  • Release to PyPI and GitHub: done by making a GitHub release, each release is attested and immutably versioned via commition
  • pre-commit: all checks and fixers are run before commit, no need to remember them! (pre-commit is also setup after running a single pdm setup command!)

Security

[!IMPORTANT] Everything below is already provided out of the box, one-click only!

  • Hardening: during setup, an automated issue is created to guide you step by step through enabling rulesets, branch protection, mandatory reviewers, necessary signatures etc. (see here for an example). Best part? harden.yml workflow, which does that automatically (if you follow the instructions in the issue)!
  • SLSA compliance: Level 3+ for public/enterprise repositories and L2 for private repositories via slsa-github-generator
  • Software Bills of Materials (SBOMs): generated per-Python, per-OS, per-dependency group - each attested, and attached to the release
  • Static security analysis tooling: osv-scanner checks against OSV database, semgrep monitors code quality and security, zizmor verifies workflows, while trufflehog looks for leaked secrets
  • Reusable workflows: most of the workflows are reusable (pointing to opentemplate workflows) to improve security and get automated pipeline updates - you can make them local by running .github/reusability/localize.sh script. No need to manage/update your own workflows!
  • Pinned dependencies: all dependencies are pinned to specific versions (GitHub Actions, pre-commit and pdm.lock)
  • Monitored egress in GitHub Actions: harden-runner with a whitelisted minimal set of domains necessary to run the workflows
  • Security documentation: SECURITY.md, SECURITY-INSIGHTS.yml, SECURITY-SELF-ASSESSMENT.md (only security file to update manually before release), and SECURITY-DEPENDENCY.md define high quality security policies

[!TIP] See this example release for all security artifacts described above.

[!NOTE] Although there is around 100 workflows helping you maintain high quality, most of them reuse the same workflow, which makes them maintainable and extendable.

GitHub

  • GitHub Actions cache - after each merge to the main branch, dependencies are cached per-group and per-OS for maximum performance
  • Minimal checkouts and triggers - each workflow is triggered based on appropriate path and performs sparse-checkout when possible to minimize the amount of data transferred; great for large repositories with many files and large history
  • Dependency updates: Renovate updates all dependencies in a grouped manner once a week
  • Templates: every possible template included (discussions, issues, pull requests - each extensively described)
  • Predefined labels - each pull request will be automatically labeled (over 20 labels created during setup!) based on changed files (e.g. docs, tests, deps, config etc.). No need to specify semver scope of commit anymore!
  • Open source documents: CODE_OF_CONDUCT.md, CONTRIBUTING.md, ROADMAP.md, CHANGELOG.md, CODEOWNERS, DCO, and much more - all automatically added and linked to your Python documentation out of the box
  • Release changelog: git-cliff - commits automatically divided based on labels, types, human/bot authors, and linked to appropriate issues and pull requests
  • Config files: editorconfig, .gitattributes, always the latest Python .gitignore etc.
  • Commit checks: verification of signatures, commit messages, DCO signing, no commit to the main branch policy (via conform)

Comparison

  • Broader scope than other cookiecutter templates (e.g. one-click and one-command setup, security, GitHub Actions, comprehensive docs, rulesets. deprecation policies, automated copyrights and more). Check here or here to compare yourself.
  • Truly FOSS (no freemium, no paid plans, no tokens) when compared to commercial offerings like snyk or jit.io. Additionally Python-centric and sticks with tools widely known by developers (their own environment and GitHub interface).

[!TIP] See detailed comparison in the documentation

Quick start

Installation

[!NOTE] Install pdm (if you don't have it already), for Linux/MacOS:

sh curl -sSL https://pdm-project.org/install-pdm.py | python3 -

  1. Create a new GitHub repository using this template (green Use this template button)
  2. Name your repo (use underscore _, not hyphens -)
  3. Add project description (necessary!)
  4. Wait until the setup commit appears (performed by github-actions[bot], it may take a few minutes)
  5. Clone the repository
  6. Run pdm setup command locally to setup development environment

[!TIP] For more details read the documentation

Usage

  1. Create a new branch
  2. Optionally add dependencies to pyproject.toml
  3. Write code in /src/<project_name> and tests in /tests
  4. Use git add, git commit and git push your changes
  5. pre-commit will guide you through the process

[!TIP] For more details read the documentation

Examples

[!CAUTION] Click on each example to see it in action!

Run checkers or fixers manually (click me)   ```sh > pdm check- [FILE1, FILE2, ...] # pdm fix- ``` For example, to check __all Python files__: ```sh > pdm check-python ``` Or to check `/src/__init__.py`: ```sh > pdm check-python src/__init__.py ``` Note that all `check` and `fix` commands are grouped for your convenience: ```sh > pdm check-all # pdm fix-all ```
Adjust template (click me)   > Most of the adjustments can be done by __only__ editing `pyproject.toml` Common changes to `pyproject.toml`: - Add dev dependencies under `[dependency-groups]` (everything is named `dev-`) - Modify `[tool.pdm.scripts]` for custom command (`check-` or `fix-`, the latter modifies files) - Use `[tool.]` to adjust specific tool configuration > __Adjusting these sections will affect `pre-commit` and `GitHub Actions`__
Disable some pre-commit check (click me)   > Disabling checks should be done cautiously! `pre-commit` checks are defined in `.pre-commit-config.yaml`. Disable a check using `SKIP` environment variable: ```sh SKIP="," git commit -m ``` For example, the following will skip `DCO` and `ini` checks and Python fixes (which would modify files): ```sh SKIP="dco,ini,fix-python" git commit -m ``` For details, refer to the `id` fields in `.pre-commit-config.yaml`. > Some commands have both `-fix` and `-check` > for different actions!
Disable GitHub Actions checks (click me)   > Disabling checks should be done cautiously! When making a commit you can add one of the following strings to the message: - `[skip ci]` - `[ci skip]` - `[no ci]` - `[skip actions]` - `[actions skip]` > Note that you can also merge pull requests __even if the checks fail__.

Contribute

We welcome your contributions! Start here:

Legal

  • This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
  • This project is copyrighted by open-nudge - the appropriate copyright notice is included in each file.

Owner

  • Name: opennudge
  • Login: open-nudge
  • Kind: organization
  • Email: opensource@opennudge.com

Citation (CITATION.cff)

# SPDX-FileCopyrightText: © 2024 open-nudge <https://github.com/open-nudge>
# SPDX-FileContributor: szymonmaszke <github@maszke.co>
#
# SPDX-License-Identifier: Apache-2.0

---
cff-version: "1.2.0"
abstract: >-
  All-in-one Python template. One click. Everything included.
message: "If you use this software, please cite it as below."
authors:
  - family-names: "open-nudge"
url: "https://github.com/open-nudge/opentemplate"
repository-code: "https://github.com/open-nudge/opentemplate"
title: "opentemplate"
license: "Apache-2.0"
keywords:
  - "python"
  - "template"
  - "open source"
  - "security"
  - "automation"
  - "developer experience"
  - "devsec"
  - "devsecops"
  - "best practices"
  - "hardening"
  - "nudge"
  - "github actions"
  - "sbom"
  - "attestation"

GitHub Events

Total
  • Create event: 36
  • Release event: 4
  • Issues event: 43
  • Watch event: 20
  • Delete event: 19
  • Push event: 23
  • Pull request event: 46
Last Year
  • Create event: 36
  • Release event: 4
  • Issues event: 43
  • Watch event: 20
  • Delete event: 19
  • Push event: 23
  • Pull request event: 46

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 20
  • Total Committers: 2
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.05
Past Year
  • Commits: 20
  • Committers: 2
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.05
Top Committers
Name Email Commits
Szymon Maszke g****b@m****o 19
github-actions[bot] g****] 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 24
  • Total pull requests: 22
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: 17 minutes
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 0.04
  • Average comments per pull request: 0.0
  • Merged pull requests: 22
  • Bot issues: 1
  • Bot pull requests: 0
Past Year
  • Issues: 24
  • Pull requests: 22
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: 17 minutes
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 0.04
  • Average comments per pull request: 0.0
  • Merged pull requests: 22
  • Bot issues: 1
  • Bot pull requests: 0
Top Authors
Issue Authors
  • szymonmaszke (34)
  • github-actions[bot] (2)
Pull Request Authors
  • szymonmaszke (50)
Top Labels
Issue Labels
easy (30) high (29) low (4) normal (3) template (2) security (2) config (2) medium (1) hard (1)
Pull Request Labels
fix (40) actions (23) config (17) deps (16) feat (9) tests (7) docs (6) security (4) src (4) python (3) legal (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 22 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
pypi.org: opentemplate

All-in-one Python template. One click. Everything included.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 22 Last month
Rankings
Dependent packages count: 9.0%
Average: 29.8%
Dependent repos count: 50.6%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/actions/git-setup/action.yml actions
.github/actions/pdm-compatibility/action.yml actions
.github/actions/pdm-setup/action.yml actions
  • open-nudge/opentemplate/.github/actions/pdm-compatibility main composite
  • pdm-project/setup-pdm 94a823180e06fcde4ad29308721954a521c96ed0 composite
.github/actions/pull-request/action.yml actions
.github/actions/release-sbom-setup/action.yml actions
.github/actions/sarif-upload/action.yml actions
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • github/codeql-action/upload-sarif fca7ace96b7d713c7035871441bd52efbe39e27e composite
.github/actions/template-setup/action.yml actions
  • pdm-project/setup-pdm 94a823180e06fcde4ad29308721954a521c96ed0 composite
.github/workflows/cache-item-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • open-nudge/opentemplate/.github/actions/pdm-setup main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/cache-reusable.yml actions
.github/workflows/cache-test.yml actions
.github/workflows/cache.yml actions
.github/workflows/citation-renovate.yml actions
.github/workflows/citation-reusable.yml actions
.github/workflows/citation.yml actions
.github/workflows/code-renovate.yml actions
.github/workflows/code-reusable.yml actions
.github/workflows/code.yml actions
.github/workflows/commit-renovate.yml actions
.github/workflows/commit-reusable.yml actions
.github/workflows/commit.yml actions
.github/workflows/docs-renovate.yml actions
.github/workflows/docs-reusable.yml actions
.github/workflows/docs.yml actions
.github/workflows/generation-renovate.yml actions
.github/workflows/generation-reusable.yml actions
.github/workflows/generation-update-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • open-nudge/opentemplate/.github/actions/git-setup main composite
  • open-nudge/opentemplate/.github/actions/pdm-setup main composite
  • open-nudge/opentemplate/.github/actions/pull-request main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/generation-update-test.yml actions
.github/workflows/generation-update.yml actions
.github/workflows/generation.yml actions
.github/workflows/github-actionlint.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • docker://rhysd/actionlint 1.7.1 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/github-actions-reusable.yml actions
.github/workflows/github-actions.yml actions
.github/workflows/github-all-renovate.yml actions
.github/workflows/github-renovate-reusable.yml actions
.github/workflows/github-renovate.yml actions
.github/workflows/github-reusable.yml actions
.github/workflows/github-workflows-reusable.yml actions
.github/workflows/github-workflows.yml actions
.github/workflows/github.yml actions
.github/workflows/harden.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/ini-renovate.yml actions
.github/workflows/ini-reusable.yml actions
.github/workflows/ini.yml actions
.github/workflows/labeler.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/labeler 8558fd74291d67161a8a78ce36a881fa63b766a9 composite
  • github/issue-labeler c1b0f9f52a63158c4adc09425e858e87b32e9685 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/legal-renovate.yml actions
.github/workflows/legal-reusable.yml actions
.github/workflows/legal.yml actions
.github/workflows/markdown-renovate.yml actions
.github/workflows/markdown-reusable.yml actions
.github/workflows/markdown.yml actions
.github/workflows/policy.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • siderolabs/conform 43d9fb6d85d5f01b391245805eefd258db160197 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/pre-commit-config.yml actions
.github/workflows/pre-commit-hooks.yml actions
.github/workflows/pre-commit-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • open-nudge/opentemplate/.github/actions/git-setup main composite
  • open-nudge/opentemplate/.github/actions/pdm-setup main composite
  • open-nudge/opentemplate/.github/actions/pull-request main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/pre-commit-update.yml actions
.github/workflows/pre-commit.yml actions
.github/workflows/prose.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
.github/workflows/pull-request.yml actions
  • amannn/action-semantic-pull-request 0723387faaf9b38adef4775cd42cfd5155ed6017 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/pyproject-renovate.yml actions
.github/workflows/pyproject-reusable.yml actions
.github/workflows/pyproject.yml actions
.github/workflows/python-renovate.yml actions
.github/workflows/python-reusable.yml actions
.github/workflows/python.yml actions
.github/workflows/release-check-renovate.yml actions
.github/workflows/release-check-reusable.yml actions
.github/workflows/release-check.yml actions
.github/workflows/release-sarifs-reusable.yml actions
.github/workflows/release-sbom-attest-reusable.yml actions
  • actions/attest-sbom 115c3be05ff3974bcbd596578934b3f9ce39bf68 composite
  • actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/release-sbom-run-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • open-nudge/opentemplate/.github/actions/git-setup main composite
  • open-nudge/opentemplate/.github/actions/pdm-compatibility main composite
  • open-nudge/opentemplate/.github/actions/pdm-setup main composite
  • open-nudge/opentemplate/.github/actions/release-sbom-setup main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/release-sboms-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • open-nudge/opentemplate/.github/actions/release-sbom-setup main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/release-sboms-test.yml actions
.github/workflows/release-slsa-provenance-reusable.yml actions
  • actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/release-slsa-provenance-test.yml actions
.github/workflows/release-upload.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/release.yml actions
  • actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • pypa/gh-action-pypi-publish 76f52bc884231f62b9a034ebfe128415bbaabdfc composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/renovate.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
  • suzuki-shunsuke/github-action-renovate-config-validator c22827f47f4f4a5364bdba19e1fe36907ef1318e composite
.github/workflows/run-check-reusable.yml actions
.github/workflows/run-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • open-nudge/opentemplate/.github/actions/git-setup main composite
  • open-nudge/opentemplate/.github/actions/pdm-compatibility main composite
  • open-nudge/opentemplate/.github/actions/pdm-setup main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/security-osv-scanner-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • google/osv-scanner/actions/scanner a2a23858b9650035f019219937f91ae615474b4d composite
  • open-nudge/opentemplate/.github/actions/sarif-upload main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/security-osv-scanner-update.yml actions
.github/workflows/security-osv-scanner.yml actions
.github/workflows/security-scorecard-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • github/codeql-action/upload-sarif fca7ace96b7d713c7035871441bd52efbe39e27e composite
  • ossf/scorecard-action 05b42c624433fc40578a4040d5cf5e36ddca8cde composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/security-scorecard-test.yml actions
.github/workflows/security-scorecard-update.yml actions
.github/workflows/security-secrets.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
  • trufflesecurity/trufflehog 90694bf9af66e7536abc5824e7a87246dbf933cb composite
.github/workflows/security-semgrep-renovate.yml actions
.github/workflows/security-semgrep-reusable.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • open-nudge/opentemplate/.github/actions/pdm-compatibility main composite
  • open-nudge/opentemplate/.github/actions/pdm-setup main composite
  • open-nudge/opentemplate/.github/actions/sarif-upload main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/security-semgrep-update.yml actions
.github/workflows/security-semgrep.yml actions
.github/workflows/shell-renovate.yml actions
.github/workflows/shell-reusable.yml actions
.github/workflows/shell.yml actions
.github/workflows/stale.yml actions
  • actions/stale 5bef64f19d7facfb25b37b414482c7164d639639 composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/template-setup.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/setup-python a26af69be951a213d495a4c3e4e4022e16d87065 composite
  • open-nudge/opentemplate/.github/actions/git-setup main composite
  • open-nudge/opentemplate/.github/actions/template-setup main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/template-test.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • open-nudge/opentemplate/.github/actions/git-setup main composite
  • open-nudge/opentemplate/.github/actions/template-setup main composite
  • step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
.github/workflows/template-update-reusable.yml actions
.github/workflows/template-update.yml actions
.github/workflows/tests-renovate.yml actions
.github/workflows/tests-reusable.yml actions