Contributing to AEGIS

AEGIS is an ecosystem of interconnected repositories, each with a specific role. This guide explains how to contribute effectively, covering repository structure, conventions, and processes.

Repository Map

RepositoryWhat It ContainsContribute Here For
aegis-governanceArchitecture specs, protocol definitions, threat modelSpecification changes, protocol updates, security analysis
aegis-platformHosted runtime, dashboard, API surfacePlatform features, API endpoints, dashboard UI
aegis-sdkTypeScript and Python client librariesSDK features, bug fixes, new language support
aegis-docsThis documentation siteDocumentation improvements, new guides
aegis-opsCI/CD pipelines, infrastructure-as-codeWorkflow improvements, deployment automation
aegis-constitutionPublic governance charterCharter amendments, governance clarifications
aegisGovernance doctrine, ADRs, cross-component specsArchitecture decisions, interface schemas, doctrine
aegis-labsResearch sandboxExperimental work, prototypes

General Conventions

Branch Strategy

Commit Style

All repositories use Conventional Commits:

<type>: <description>

[optional body]
TypeUse For
featNew features, new specifications, new capabilities
docsDocumentation updates, clarifications, typo fixes
fixBug fixes, corrections to existing specs
choreRepo maintenance, tooling, CI configuration
refactorRestructuring without changing behavior or meaning

Pull Requests

Contributing to Documentation

This documentation site (aegis-docs) is built with Astro and uses Markdown content pages.

Content Structure

Documentation pages live in src/content/docs/ and are organized by section:

src/content/docs/
  getting-started/
  architecture/
  api/
  sdk/
  guides/
  contributing/

Page Format

Each page requires frontmatter with a title and description:

---
title: Page Title
description: A brief description of the page content.
---

# Page Title

Page content in Markdown...

Running Locally

git clone https://github.com/aegis-initiative/aegis-docs.git
cd aegis-docs
npm install
npm run dev

The development server will start at http://localhost:4321.

Contributing Architecture Decisions

Architecture Decision Records (ADRs) are the formal mechanism for proposing and recording cross-cutting design decisions. ADRs live in the aegis repository under docs/adr/.

To propose an ADR:

  1. Copy the template at docs/adr/0000-template.md
  2. Number it sequentially
  3. Fill in all sections (Context, Decision Drivers, Considered Options, Outcome, Consequences)
  4. Set status to proposed
  5. Open a pull request for discussion

See the Decision Records page for more details on the ADR format and lifecycle.

IP Notice

All contributions to AEGIS repositories become proprietary intellectual property of Finnoybu IP LLC under the terms of the contributor agreement. AEGIS is a trademark of Finnoybu IP LLC.

For the full contributing guidelines for the governance repository, see the CONTRIBUTING.md in aegis.