Skip to content
Signpostproduct edited this page Jul 19, 2024 · 3 revisions

Welcome to the signpost-ai wiki!

Git Policy for Signpost AI Repository

This Git policy establishes a clear development workflow for the Signpost AI repository. It balances the need for secure, controlled development with the potential benefits of external collaboration. By requiring code review and administrator approval for changes to the main branch, we ensure the stability and integrity of the core codebase. This is crucial for maintaining a reliable Signpost AI system. At the same time, the policy welcomes contributions from external developers. By providing a framework for pull requests and collaboration, we can leverage external expertise and perspectives to enhance the functionality of Signpost AI. Here you can our goals, audience, repository rules, and style guidelines.

Main Goals:

  • Protect the integrity of the main branch.
  • Allow external developers to contribute via pull requests.
  • Secure environment variables.
  • Encourage a consistent, clean style.

Audience:

Signpost AI is a repository that is meant for the following user groups who want to build safe agentic workflows with the Signpost system: Signpost AI Team (Internal): This group consists of the core developers and administrators responsible for maintaining the codebase. They have full access to the repository, including approving pull requests and merging code to the main branch. This group is likely made up of people like Liam Nicoll, Emilio Guisolfo, and Guillermo Zambrino mentioned in the conversation. External Developers: This group represents external contributors who can potentially bring new ideas and functionalities to the project. The policy allows them to participate in a controlled manner. They can view the codebase, propose changes through pull requests, and collaborate on development. However, their ability to directly modify the core codebase (pushing to main branch) or approve changes is restricted. This group could include: Small NGO developer: Someone who wants to connect their organization's tools to Signpost AI. Fellowship team: A group of developers from a technology company contributing to Signpost AI. Vendor: A company that needs to integrate its solution with Signpost AI.

Branch Protection Rules:

The main branch requires a pull request before merging. Only administrators (initially Liam, Emilio, Guillermo) can approve and merge pull requests to the main branch. Pull requests must be up-to-date to be merged (reviewers don't need to re-approve after new commits are added).

Permissions for External Developers:

External developers can be added as collaborators with read and pull request creation permissions. They cannot approve pull requests or directly push code to the main branch.

Secure Environment Variables:

Environment variables are not stored in the Git repository. A separate secure mechanism will be used to manage environment variables (e.g., server-side configuration).

Additional Considerations:

A clear contribution guideline will be documented in the README or wiki for external developers. This guideline will outline coding conventions, pull request formatting, and testing expectations. For external developers with private APIs, they can develop the connection logic on their end. However, deployment to production will require approval from the Signpost AI team.