Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 0 additions & 51 deletions .github/copilot-instructions.md

This file was deleted.

8 changes: 8 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Repository instructions

Read `README.md` for the repository's purpose and supported behavior. Read `CONTRIBUTING.md`
before changing anything for development setup, architecture constraints, validation, and release
requirements.

Keep durable repository guidance in those files. Keep this file as a thin pointer so every
contributor follows the same documentation.
59 changes: 59 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Contributing to Open Lobotomy organization defaults

This repository controls shared GitHub behavior. A small edit can affect every repository that
inherits a file or calls a reusable workflow, so verify the callers before changing the contract.

## Repository structure

- `.github/workflows/ci.yml` validates this repository's workflow files with `actionlint`.
- `.github/workflows/dotnet-ci.yml` restores the consuming repository's local tools and runs
`dotnet ci --check` on Linux.
- `.github/workflows/dotnet-ci-windows.yml` restores, builds, and tests the caller's requested
solution on Windows.
- `profile/README.md` is the organization landing page.
- `renovate.json` is the shared Renovate preset.

There is no application code in this repository.

## Reusable workflow contracts

A caller references a workflow by repository path and branch:

```yaml
jobs:
ci:
uses: open-lobotomy/.github/.github/workflows/dotnet-ci.yml@main
```

Treat each `workflow_call` input, secret, default, output, permission, and job dependency as a public
interface. Search the organization for every caller before renaming or removing one. Additive inputs
need safe defaults so existing callers keep working.

The Linux workflow accepts optional private-reference and local-package inputs. The Windows workflow
also requires `solution-file`. Keep secret access scoped to the step that needs it, and never print a
token or a generated NuGet source containing credentials.

## GitHub inheritance

GitHub inherits supported community files from this repository only when a child repository does not
define its own copy. Inheritance is all or nothing per file. Before adding or changing an organization
default, inspect the repositories that inherit it and the repositories that intentionally override it.

## Validation

Run `actionlint` against every workflow change. The repository CI downloads the current `actionlint`
release and runs it from the repository root.

Also perform the validation that matches the change:

- Search all Open Lobotomy callers when a reusable workflow interface changes.
- Check both Linux and Windows shell syntax when a shared step moves between runners.
- Resolve every relative Markdown link when changing the profile or community documentation.
- Validate `renovate.json` as JSON and compare it with at least one consuming repository before
changing inherited behavior.

## Pull requests

Branch from `main`, keep organization-wide changes narrow, and explain which repositories inherit or
call the changed surface. A reusable workflow change is not complete until at least one representative
consumer passes with the new contract.
22 changes: 20 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,20 @@
# .github
Temporary holding spot for workflows until our full public reveal.
# Open Lobotomy organization defaults

Shared GitHub configuration for the
[Open Lobotomy organization](https://github.com/open-lobotomy). GitHub uses this repository for
the organization profile and for reusable workflows that individual projects call from their own
CI pipelines.

## What lives here

- `.github/workflows/dotnet-ci.yml` runs the standard Linux `dotnet ci --check` workflow.
- `.github/workflows/dotnet-ci-windows.yml` restores, builds, and tests a named solution on Windows.
- `profile/README.md` renders on the organization's public GitHub profile.
- `renovate.json` provides the organization Renovate preset.

Repository-local community files take precedence over organization defaults. GitHub replaces an
inherited file as a whole, so a project-specific `CONTRIBUTING.md` does not merge with a file from
this repository.

Read [CONTRIBUTING.md](CONTRIBUTING.md) before changing a reusable workflow or an organization-wide
default.
Loading