tools/community/sustainability-score, a repo/PR-level Sustainability Score reference implementation
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
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Green-Software-Foundation/reference-implementations
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
All issues in Green-Software-Foundation/reference-implementations
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
pyjanitor-devs/pyjanitor#1758 ·
Maintainers usually reply within 1 day
-
bug ready for review
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
odysseus-dev/odysseus#6641 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
happypawspillaro/happypaws#78 ·
Maintainers usually reply within 4 days
-
pydanty:is-working
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
pydantic/pydantic-ai#10020 ·
Maintainers usually reply within 1 day
-
stdlib type-bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
python/cpython#159044 · 4 comments ·
Maintainers usually reply within 1 day