Skip to content

Move SOP for new repos to more fleshed out repository-structure doc#137

Open
cgwalters wants to merge 1 commit intobootc-dev:mainfrom
cgwalters:repo-structure-doc
Open

Move SOP for new repos to more fleshed out repository-structure doc#137
cgwalters wants to merge 1 commit intobootc-dev:mainfrom
cgwalters:repo-structure-doc

Conversation

@cgwalters
Copy link
Contributor

We want to describe the desired state, not just the steps for new repos.

In particular a goal here is to flesh out how CI/testing should work and lean into the pattern that our projects should provide integration tests and how those should work.

We want to describe the desired state, not just the steps for
new repos.

In particular a goal here is to flesh out how CI/testing should
work and lean into the pattern that our projects should provide
integration tests and how those should work.

Signed-off-by: Colin Walters <walters@verbum.org>
@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refactors the organization's documentation for new repositories, transitioning from a step-by-step Standard Operating Procedure to a more holistic guide on desired repository structure and standards. The primary goal is to provide a clearer vision for how projects should be organized, with a particular emphasis on robust CI/testing practices and standardized integration test methodologies.

Highlights

  • Documentation Restructuring: Migrated repository setup guidelines from a procedural Standard Operating Procedure (SOP) to a more comprehensive repository-structure.md document.
  • Expanded Repository Standards: The new documentation provides detailed standards for CI/testing, PR gating, developer experience (including Justfile and Devcontainers), and robust integration test patterns.
  • README Update: Updated the main README.md to reflect the new documentation structure and link to the repository-structure.md.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • README.md
    • Updated the link to the repository documentation, pointing to the new repository-structure.md instead of the old SOP-new-repository.md.
  • docs/SOP-new-repository.md
    • Removed the file, as its content has been superseded and expanded upon in the new repository structure document.
  • docs/repository-structure.md
    • Added a new document outlining comprehensive organization-wide repository standards.
    • Included sections on maintainers, Renovate configuration, PR gating and merging, preferred language (Rust), developer experience (Justfile, Devcontainers), and detailed guidance on unit and integration tests, including environments and future directions.
Activity
  • No human activity was recorded for this pull request.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@cgwalters cgwalters requested a review from henrywang March 13, 2026 14:36
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request effectively refactors the new repository SOP into a more comprehensive repository-structure.md document. The new document is well-structured and expands on important topics like CI/testing, which was a stated goal. I've left a few minor suggestions in docs/repository-structure.md to fix a typo and improve clarity and consistency. Overall, this is a great improvement to the organization's documentation.

# Repository structure

The bootc-dev organization contains a number of repositories. While not every
repository will function in exactly in the same way, there are

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There's a small typo here; the word "in" is repeated.

Suggested change
repository will function in exactly in the same way, there are
repository will function in exactly the same way, there are

Comment on lines +9 to +10
There should be a `maintainers` team with the **Maintain** permission
that is used by repositories by default.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This phrasing is a bit ambiguous. The previous documentation was more direct. To make this a clear and enforceable standard, consider using stronger language like MUST for consistency with other rules in this document.

Suggested change
There should be a `maintainers` team with the **Maintain** permission
that is used by repositories by default.
All repositories MUST grant the `maintainers` team the **Maintain** permission.

part of a simple single binary.

- [composefs-rs](https://github.com/composefs/composefs-rs/tree/main/crates/integration-tests)
- [bcvk](https://github.com/bootc-dev/bcvk/blob/main/Justfile)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The examples provided to illustrate the libtest-mimic pattern are a bit inconsistent. The link for composefs-rs points to the integration test source code, while the link for bcvk points to its Justfile. For better clarity and consistency, consider updating the bcvk link to point directly to its integration test source directory, similar to the composefs-rs example.

Copy link

@SNThrailkill SNThrailkill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very happy to get some standardization on this

- Custom managers for Containerfiles and txt files
- Disabled Fedora OCI updates and digest pinning

### Repository-Specific Overrides
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @cgwalters , do we need keep this section in repository-structure.md?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to get rid of syncing GHA via sync-common and move everything to use bootc-dev/actions so that bit becomes obsolete.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

➡️ #138

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants