{"id":13724098,"url":"https://github.com/Green-Software-Foundation/if","last_synced_at":"2025-05-07T17:32:45.488Z","repository":{"id":103710780,"uuid":"599019483","full_name":"Green-Software-Foundation/if","owner":"Green-Software-Foundation","description":"Impact Framework","archived":false,"fork":false,"pushed_at":"2024-10-29T16:35:17.000Z","size":7545,"stargazers_count":150,"open_issues_count":69,"forks_count":40,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-10-29T23:21:14.428Z","etag":null,"topics":["framework","impact"],"latest_commit_sha":null,"homepage":"https://if.greensoftware.foundation/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Green-Software-Foundation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-02-08T09:32:11.000Z","updated_at":"2024-10-29T15:51:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"8fb7d3ae-6c0e-476f-8d88-182bca902306","html_url":"https://github.com/Green-Software-Foundation/if","commit_stats":{"total_commits":1125,"total_committers":15,"mean_commits":75.0,"dds":0.5822222222222222,"last_synced_commit":"477be28ea54d471c2ad7c8ba09845b060017cb54"},"previous_names":["green-software-foundation/ief"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Green-Software-Foundation%2Fif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Green-Software-Foundation%2Fif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Green-Software-Foundation%2Fif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Green-Software-Foundation%2Fif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Green-Software-Foundation","download_url":"https://codeload.github.com/Green-Software-Foundation/if/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223095294,"owners_count":17086610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","impact"],"created_at":"2024-08-03T01:01:50.121Z","updated_at":"2025-05-07T17:32:45.473Z","avatar_url":"https://github.com/Green-Software-Foundation.png","language":"TypeScript","readme":"# Impact Framework\n\n[![Node.js CI](https://github.com/Green-Software-Foundation/if/actions/workflows/nodejs-ci.yml/badge.svg)](https://github.com/Green-Software-Foundation/if/actions/workflows/nodejs-ci.yml)\n\n\u003e [!IMPORTANT]\n\u003e Graduated Project: This project is a Graduated Project, supported by the Green Software Foundation. The publicly available version documented in the README is trusted by the GSF. New versions of the project may be released, or it may move to the Maintained or Retired Stage at any moment.\n\n**Our documentation is online at [if.greensoftware.foundation](https://if.greensoftware.foundation/)**\n\n**IF** is a framework to **M**odel, **M**easure, si**M**ulate and **M**onitor the environmental impacts of software\n\nModern applications are composed of many smaller pieces of software (components) running on many different environments, for example, private cloud, public cloud, bare-metal, virtualized, containerized, mobile, laptops, and desktops.\n\nEvery environment requires a different plugin of measurement, and there is no single solution you can use to calculate the environmental impacts for all components across all environments.\n\nThe friction to measuring software emissions isn't that we need to know how, it's that we run software on many things and each thing has several different ways to measure.\n\nRead the [specification and design docs](https://if.greensoftware.foundation) to begin.\n\n## Get started\n\nIF is a framework for running pipelines of plugins that operate on a set of observations. This is all configured using a manifest file. We provide a standard library of plugins that come bundled with IF - we refer to these as `builtins`. We also have an [Explorer](https://explorer.if.greensoftware.foundation) where anyone can list third party plugins you can install.\n\nStart by installing the latest version of IF:\n\n```sh\nnpm install -g \"@grnsft/if\"\n```\n\nThen create a `manifest` file that describes your application (see our docs for a detailed explanation).\n\nThen, run `if` using the following command:\n\n```sh\nif-run --manifest \u003cpath-to-your-manifest-file\u003e\n## or you can use alias\nif-run -m \u003cpath-to-your-manifest-file\u003e\n\n```\n\nNote that above command will print your outputs to the console. If you do not want to print the outputs to the console, you need to provide `--no-output` command. You can also provide the `--output` command to save your outputs to a yaml file:\n\n```sh\nif-run -m \u003cpath-to-your-manifest\u003e -o \u003csavepath\u003e\n```\n\nThe `if-run` CLI tool will configure and run the plugins defined in your input `yaml` (`manifest`) and return the results as an output `yaml` (`output`).\n\nUse the `debug` command if you want to diagnose and fix errors in your plugin:\n\n```sh\nif-run --manifest \u003cpath-to-your-manifest-file\u003e --debug\n```\n\nUse the `help` command if you need guidance about the available commands\n\n```sh\nif-run --help\n## or using alias\nif-run -h\n```\n\n## Documentation\n\nPlease read our documentation at [if.greensoftware.foundation](https://if.greensoftware.foundation/)\n\n## Join our mailing list\n\nWe have a public mailing list at [if-community@greensoftware.foundation](https://groups.google.com/u/1/a/greensoftware.foundation/g/if-community). We send out weekly updates that explain what we've shipped, what we're working on and how you can get involved each week!\n\n## Contributing\n\nTo contribute to IF, please fork this repository and raise a pull request from your fork.\n\nYou can check our issue board for issues. We mark some issues `core-only` if they are somehow sensitive and we want one of our core developers to handle it. Any other issues are open for the community to work on. We recommend commenting on the issue to start a chat with the core team, then start working on the issue when you have been assigned to it. This process helps to ensure your work is aligned with our roadmap and makes it much more likely that your changes will get merged compared to unsolicited PRs.\n\nPlease read the full contribution guidelines at [if.greensoftware.foundation](https://if.greensoftware.foundation/Contributing)\n\n## Bug reports\n\nTo report bugs please use our bug report template. You can do this by opening a new issue and selecting `Bug Report` when you are prompted to pick a template. The more information you provide,.the quicker we will be able to reproduce, diagnose and triage your issue.\n\nTo read about our bug reporting and triage process, please see [our contribution guidelines](contributing.md#reporting-bugs).\n","funding_links":[],"categories":["Consumption"],"sub_categories":["Computation and Communication"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGreen-Software-Foundation%2Fif","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGreen-Software-Foundation%2Fif","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGreen-Software-Foundation%2Fif/lists"}