Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

tools/community/sustainability-score, a repo/PR-level Sustainability Score reference implementation

Open
#8 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
docker, github-actions, helm, javascript, python, terraform, typescript

Research direction

Start by reviewing the SCI specification and the existing green-code-skill and archived carbon-ci entries named in the proposal. The proposed entry point is a new GitHub Action/CLI with full-repository and PR-delta modes; done means implementing the defined v1 rubric, confidence-tagged score, and Markdown report without cloud billing or live grid-intensity integrations.

Written by the indexing model from the issue text.

Description

What it implements
An SCI-grounded (SCI = (E × I + M) / R, per the GSF SCI specification) scoring tool that evaluates a codebase's sustainability posture and produces a single, versioned, trackable score plus a prioritized recommendations report. It treats static-analysis signals (code complexity, dependency weight, Docker image composition, CI/CD pipeline design, IaC configuration) as labeled-confidence proxies for the SCI E term, never presented as audited carbon accounting, following the same estimate-with-disclosed-confidence posture the SCI spec itself recommends.

What form it takes
A GitHub Action / CLI tool that can run in two modes: (1) a one-time full-repo scan producing a baseline score, and (2) a PR-triggered delta scan that comments the sustainability-score change caused by that diff (the same workflow shape as existing coverage/security bots). Deterministic static analyzers do the measurable-fact extraction; an LLM pass (a documented, versioned system prompt) reasons over the structured findings to write the human-readable report and recommendations. The LLM never invents or re-derives numbers itself.

Workload/use case
General-purpose application repositories (language-agnostic core, initial reference implementation targets JS/TS + Python as the two most common ecosystems) that use Docker, a CI/CD pipeline (GitHub Actions initially), and optionally IaC (Terraform/Helm). Not scoped to a specific cloud provider for v1; cloud-billing integration is called out below as an explicit future phase, not part of this proposal.

Scope statement
In scope for v1: static repo scan, weighted rubric across five pillars (code/algorithmic efficiency, containerization, CI/CD, cloud/infra config as declared in code, SRE/ops signals such as health checks and rollback config), single numeric score plus confidence-tagged findings, and a Markdown report with PR-comment delta. Out of scope for v1: live cloud billing/telemetry integration and live grid carbon-intensity API calls (both flagged as data gaps in v1 output, not silently defaulted), and any claim of audited/precise carbon-emissions accounting.

How it relates to existing entries
Complements rather than duplicates tools/gsf/green-code-skill: that project is a design/review-time pattern advisor with no scoring or reporting output (explicitly out of scope per its own README); this project is the scoring/reporting layer that could sit downstream of it, potentially consuming its pattern catalog as one input source. Distinct from the archived Green-Software-Foundation/carbon-ci project, which attempted a narrower static-analysis-only version of PR carbon scoring; this proposal extends that idea to also cover containerization, CI/CD design, and SRE/ops practices in one unified score, and documents the estimate-confidence methodology carbon-ci did not fully specify before archival.

Dominant language
Python
Stars
9
Forks
1
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Green-Software-Foundation/reference-implementations

All issues in Green-Software-Foundation/reference-implementations

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.