Skip to main content

Our GitHub

Our Commitment

We commit to always provide free and public access to our Open Source repositories. If you see repository on our GitHub today, then it will be here tomorrow and thereafter in perpetuity.

From time to time, we might decide we can no longer maintain a repository. If that happens, we will mark it as "archived" on GitHub. This will ensure you will continue to have access to the code.

Getting Involved

The best way to get involved is to checkout our "Choose Your Path" guide.

Then join us in our Slack #community channel to get support or talk with others in the community.

Contributing

Cloud Posse accepts contributions from the community. In the interest of fostering an open and welcoming environment, we have a strict code of conduct to ensure participation in our projects and our community is a harassment-free experience for everyone.

If you want to make some big changes or don't know where to begin, it's best to first get in touch. You can discuss the change you wish to make via GitHub issues, email, or join our #community channel.

In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes
NOTE:
Be sure to merge the latest from "upstream" before making a pull request!

Maintenance

Cloud Posse actively maintains all projects on our GitHub.

Deprecation and Archival Process

From time to time, we may need to deprecate and archive repositories that are no longer actively maintained. We follow a structured process to ensure transparency and give the community adequate notice.

This process applies to all Cloud Posse repositories, including:

Step 1: Create and Pin a GitHub Issue

Create a comprehensive GitHub issue that includes:

  • Detailed explanation of the deprecation
  • Timeline and key dates
  • Migration path or alternatives
  • Answers to common questions
  • Contact information for support

Pin this issue to the repository so it appears at the top of the Issues tab.

Step 2: Add Deprecation Notice to README

Add a deprecation warning at the top of the README.md using a GitHub-style warning admonition:

> [!WARNING]
> **Deprecated**: This repository is deprecated and will be archived on [DATE].
> Please see [Issue #XXX](link-to-pinned-issue) for more information.

Step 3: Update README.yaml

If the project uses README.yaml for generating documentation, add the deprecated field:

deprecated:
notice: |-
This module is deprecated and will be archived on [DATE].
Please see the [pinned issue](link-to-pinned-issue) for details and migration guidance.

Consider using [alternative-module](link) as a replacement.

After updating README.yaml, regenerate the README.md:

atmos docs generate readme

Step 4: Publish Blog Post Announcement

Create a blog post announcing the deprecation. This post should:

  • Link to the pinned GitHub issue
  • Explain the reason for deprecation
  • Provide the timeline and deprecation date
  • Offer migration guidance or alternatives
  • Direct readers where to ask questions

This ensures the broader community is aware of the deprecation, even if they're not actively monitoring the repository.

Step 5: Submit Pull Request

Create a pull request with the changes from Steps 2-3. This PR provides visibility to those monitoring repository activity. The PR should:

  • Clearly state the reason for deprecation
  • Specify the planned deprecation date
  • Provide migration guidance or alternative solutions (if applicable)
  • Reference the GitHub issue created in Step 1
  • Tag relevant stakeholders for visibility

Step 6: Wait Until Deprecation Date

Allow sufficient time (typically 90+ days) for the community to:

  • Migrate away from the deprecated component
  • Ask questions and get support
  • Complete any in-flight work

Step 7: Archive the Repository

Once the deprecation date has passed:

  1. Update the .github/settings.yml file in the repository:
repository:
archived: true
  1. Commit and merge this change

  2. The repository will be automatically archived by GitHub settings automation

Once archived, the repository becomes read-only but remains publicly accessible for historical reference.

Step 8: Update Blog Post

Update the blog post from Step 4 to reflect that the repository has been archived:

  • Add a note that the deprecation period has ended
  • Confirm the repository is now archived
  • Remind readers that the code remains publicly accessible for historical reference

GitHub Projects

There's a lot going on in our GitHub. With over 200+ Open Source repositories, keeping track of all the Open Issues, Feature Requests, and Pull Requests is a fulltime job.

We use Kanban board to manage our Open Source projects.

(Help wanted!)

Something Missing?

Get in touch with us.