Skip to content
Merged
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
60 changes: 60 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# https://editorconfig.org

root = true

# Default settings for all files
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

# Matched file extensions
[*.{py,js,ts,jsx,tsx,json,yml,yaml,toml,md,html,css,scss,less,sass,sh,zsh,bash,fish,rst,txt,ql,sql,csv,tsv,xml,svg,rs,go,java,kt,kts,scala,rb,php,swift,dart,elm,lua,zig,coq,v,agda,idr,purs}]
indent_size = 4

# Makefile requires tabs
[Makefile]
indent_style = tab

# Dockerfile
[Dockerfile]
indent_style = space
indent_size = 4

# Shell scripts
[*.{sh,zsh,bash,fish}]
indent_size = 2

# Haskell
[*.hs]
indent_size = 2

# Nix
[*.nix]
indent_size = 2

# Rust
[*.rs]
indent_size = 4

# Go
[*.go]
indent_style = tab

# Zig
[*.zig]
tab_width = 4
indent_style = space

# Markdown - preserve line breaks
[*.md]
trim_trailing_whitespace = false

# Configuration files
[*.{json,yml,yaml,toml,xml,svg}]
indent_size = 2
89 changes: 89 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Auto-detect text files and perform LF normalization
* text=auto

# Denote all Python files as text
*.py text

# Denote all shell scripts as text
*.sh text

# Denote all Markdown files as text
*.md text

# Denote all YAML files as text
*.yaml text
*.yml text

# Denote all JSON files as text
*.json text

# Denote all TOML files as text
*.toml text

# Denote all JavaScript/TypeScript files as text
*.js text
*.ts text
*.jsx text
*.tsx text

# Denote all HTML files as text
*.html text

# Denote all CSS files as text
*.css text

# Denote all Rust files as text
*.rs text

# Denote all Java files as text
*.java text

# Denote all Go files as text
*.go text

# Denote all C/C++ files as text
*.c text
*.cpp text
*.h text
*.hpp text

# Denote all Lua files as text
*.lua text

# Denote all Zig files as text
*.zig text

# Line endings
*.sh eol=lf
*.py eol=lf
*.md eol=lf
*.yaml eol=lf
*.yml eol=lf
*.json eol=lf
*.toml eol=lf
*.js eol=lf
*.ts eol=lf
Makefile eol=lf
Dockerfile eol=lf

# Language-specific attributes
*.py diff=python
*.js diff=javascript
*.ts diff=typescript
*.rs diff=rust
*.go diff=go
*.java diff=java
*.zig diff=zig

# Linguist-specific overrides
*.coq linguist-language=Coq
*.v linguist-language=V
*.agda linguist-language=Agda
*.idr linguist-language=Idris
*.purs linguist-language=PureScript
*.elm linguist-language=Elm
*.rkt linguist-language=Racket
*.scm linguist-language=Scheme
*.clj linguist-language=Clojure
*.cljs linguist-language=Clojure
*.cljc linguist-language=Clojure
9 changes: 9 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Code Owners

# Default: All contributors with write access are code owners
* @metadatastician

# For specific paths, add explicit owners below
# Example:
# /src/* @team-lead
# /docs/* @docs-maintainer
4 changes: 4 additions & 0 deletions .github/funding.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Funding Configuration
# See: https://docs.github.com/en/repositories/managing-your-repositorys-custom-fields/displaying-a-sponsor-button-in-your-repository

github: metadatastician
47 changes: 47 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Architecture

## Overview

This repository follows a modular, maintainable architecture designed for clarity, scalability, and long-term sustainability.

## Directory Structure

```
.
├── src/ # Source code
├── tests/ # Test suites
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── config/ # Configuration files
├── LICENSE # License file
├── LICENSES/ # Full license texts
└── README.adoc # Project documentation
```

## Design Principles

- **Separation of Concerns**: Each module has a single responsibility
- **Testability**: Code is written to be easily testable
- **Documentation**: All public APIs are documented
- **Configuration**: Environment-specific settings are externalized

## Dependencies

- External dependencies are minimized and clearly declared
- Version pinning is used for reproducibility

## Security Considerations

- Sensitive data is never committed to the repository
- Secrets are managed through environment variables or secure vaults
- Regular dependency audits are performed

## Maintainability

- Code follows consistent style guidelines
- Pull requests require review and CI checks
- Issues and discussions are tracked transparently

---

*Last updated: 2026-07-18*
60 changes: 60 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Governance

## Overview

This project is governed by the following principles and structures to ensure transparent, inclusive, and effective decision-making.

## Roles and Responsibilities

### Maintainers

Maintainers are responsible for:
- Reviewing and merging pull requests
- Managing releases and versioning
- Ensuring code quality and standards
- Triaging issues and bug reports
- Community engagement and support

### Contributors

Contributors are expected to:
- Follow the code of conduct
- Submit well-documented pull requests
- Write tests for new functionality
- Maintain existing tests
- Update documentation as needed

## Decision Making

### Minor Changes
- Can be made by any maintainer
- Include bug fixes, documentation updates, dependency updates

### Major Changes
- Require discussion in issues or pull requests
- Include new features, architectural changes, API changes
- Need approval from at least 2 maintainers

### Breaking Changes
- Require RFC (Request for Comments) process
- Need approval from majority of maintainers
- Must include migration guide

## Code of Conduct

All participants are expected to follow our Code of Conduct. Violations can be reported to the maintainers.

## Communication

- **Issues**: For bug reports and feature requests
- **Discussions**: For questions and general discussion
- **Pull Requests**: For code contributions

## Licensing

All contributions are made under the terms of the repository's LICENSE file.
By submitting a pull request, you agree to license your contributions accordingly.

---

*Last updated: 2026-07-18*
Loading
Loading