ChrisOS Research Project Documentação técnica do sistema

Referência de fonte: CONTRIBUTING.md

Neste capítulo

Registro determinístico da fonte. O conteúdo completo do arquivo é reproduzido abaixo; esta página não substitui a interpretação arquitetural dos capítulos autorais.

Identidade do arquivo

Campo Valor
Path CONTRIBUTING.md
Lines 74
Bytes 2552
SHA-256 a81e8db1f6d74bfe5b46b3a227d081e8a546792204139cefe092883ac7ffa201
ChrisOS revision 92fb561574bd929522ea005b9fd433138bea3236

Dependências sintáticas detectadas

Linha Include
— Nenhum include de preprocessor detectado.

Símbolos detectados

Linha Símbolo
— Nenhuma definição de função no formato C detectada pelo scanner.

Fonte completa

O bloco seguinte é o arquivo textual integral na revisão indicada. Não há elisão, abreviação ou paráfrase.

# Contributing to ChrisOS

ChrisOS is an experimental systems project. Contributions should preserve reproducibility, architectural boundaries and evidence-based status claims.

## Read first

- **Canonical technical documentation:** https://os.christiansoftware.org/
- [Repository operational documentation](docs/README.md)
- [Development workflow](docs/development/workflow.md)
- [Testing and evidence](docs/development/testing.md)

## Setup

~~~bash
git clone https://github.com/christianrss/ChrisOS.git
cd ChrisOS
./scripts/check-dev-env.sh
make
~~~

The reference host is Debian/Ubuntu Linux. See [development environment](docs/getting-started/environment.md).

## Branches and commits

Create a topic branch from current <code>main</code>. Keep commits reviewable and scoped. Do not commit generated <code>build/</code> output, disk images, ISO images or test logs.

## Tests

Run the narrow test first, then the broadest practical gate.

Typical baseline:

~~~bash
make host-gates
~~~

For guest/hardware-facing changes, add the relevant QEMU target from <code>scripts/qemu.mk</code>.

For ChrisVM:

~~~bash
make chrisvm-test
~~~

If a relevant gate cannot be run, state that explicitly in the pull request.

## Code expectations

- Keep freestanding kernel constraints intact.
- Do not introduce host-libc assumptions into kernel code.
- Preserve explicit ownership and locking rules.
- Keep hardware/backend details behind existing abstractions where possible.
- Treat format/ABI changes as compatibility changes and document them.
- Prefer a targeted test over an unverified capability statement.
- Preserve warnings-as-errors behavior where the build already enforces it.

## Documentation expectations

The canonical documentation source is `christianrss/chrisos_site`, published at https://os.christiansoftware.org/.

Do **not** add architecture, status, audit, roadmap, specification, or subsystem-documentation files to this repository.

Update repository-local documentation only for environment, build, run, test, and contribution mechanics. Changes to architecture, interfaces, subsystem behavior, implementation status, or project direction belong in `chrisos_site`.

## Pull request checklist

- [ ] Clear and focused scope
- [ ] No generated artifacts
- [ ] Relevant host tests pass
- [ ] Relevant QEMU/ChrisVM gates pass or are explicitly listed as not run
- [ ] Architecture/ABI implications are documented
- [ ] Capability claims match the evidence level
- [ ] Canonical documentation in `chrisos_site` is updated when required

Papel deste registro

O atlas garante rastreabilidade arquivo-a-arquivo. Responsabilidade, invariantes, ownership, concorrência, segurança, desempenho e interação entre subsistemas pertencem aos capítulos autorais e devem citar este arquivo quando aplicável.

Registro do documento
ID: source-a81e8db1f6d74bfe Source revisado: 92fb561574bd Class: generated-source-reference