Skip to content

Commit 8bca6ca

Browse files
Sync local commits to main (#19)
Automated sync of local changes --------- Co-authored-by: Mistral Vibe <vibe@mistral.ai>
1 parent a79798b commit 8bca6ca

11 files changed

Lines changed: 1434 additions & 110 deletions

.editorconfig

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# EditorConfig helps developers define and maintain consistent
2+
# coding styles between different editors and IDEs
3+
# https://editorconfig.org
4+
5+
root = true
6+
7+
# Default settings for all files
8+
[*]
9+
charset = utf-8
10+
end_of_line = lf
11+
indent_style = space
12+
indent_size = 4
13+
insert_final_newline = true
14+
trim_trailing_whitespace = true
15+
16+
# Matched file extensions
17+
[*.{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}]
18+
indent_size = 4
19+
20+
# Makefile requires tabs
21+
[Makefile]
22+
indent_style = tab
23+
24+
# Dockerfile
25+
[Dockerfile]
26+
indent_style = space
27+
indent_size = 4
28+
29+
# Shell scripts
30+
[*.{sh,zsh,bash,fish}]
31+
indent_size = 2
32+
33+
# Haskell
34+
[*.hs]
35+
indent_size = 2
36+
37+
# Nix
38+
[*.nix]
39+
indent_size = 2
40+
41+
# Rust
42+
[*.rs]
43+
indent_size = 4
44+
45+
# Go
46+
[*.go]
47+
indent_style = tab
48+
49+
# Zig
50+
[*.zig]
51+
tab_width = 4
52+
indent_style = space
53+
54+
# Markdown - preserve line breaks
55+
[*.md]
56+
trim_trailing_whitespace = false
57+
58+
# Configuration files
59+
[*.{json,yml,yaml,toml,xml,svg}]
60+
indent_size = 2

.gitattributes

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Auto-detect text files and perform LF normalization
2+
* text=auto
3+
4+
# Denote all Python files as text
5+
*.py text
6+
7+
# Denote all shell scripts as text
8+
*.sh text
9+
10+
# Denote all Markdown files as text
11+
*.md text
12+
13+
# Denote all YAML files as text
14+
*.yaml text
15+
*.yml text
16+
17+
# Denote all JSON files as text
18+
*.json text
19+
20+
# Denote all TOML files as text
21+
*.toml text
22+
23+
# Denote all JavaScript/TypeScript files as text
24+
*.js text
25+
*.ts text
26+
*.jsx text
27+
*.tsx text
28+
29+
# Denote all HTML files as text
30+
*.html text
31+
32+
# Denote all CSS files as text
33+
*.css text
34+
35+
# Denote all Rust files as text
36+
*.rs text
37+
38+
# Denote all Java files as text
39+
*.java text
40+
41+
# Denote all Go files as text
42+
*.go text
43+
44+
# Denote all C/C++ files as text
45+
*.c text
46+
*.cpp text
47+
*.h text
48+
*.hpp text
49+
50+
# Denote all Lua files as text
51+
*.lua text
52+
53+
# Denote all Zig files as text
54+
*.zig text
55+
56+
# Line endings
57+
*.sh eol=lf
58+
*.py eol=lf
59+
*.md eol=lf
60+
*.yaml eol=lf
61+
*.yml eol=lf
62+
*.json eol=lf
63+
*.toml eol=lf
64+
*.js eol=lf
65+
*.ts eol=lf
66+
Makefile eol=lf
67+
Dockerfile eol=lf
68+
69+
# Language-specific attributes
70+
*.py diff=python
71+
*.js diff=javascript
72+
*.ts diff=typescript
73+
*.rs diff=rust
74+
*.go diff=go
75+
*.java diff=java
76+
*.zig diff=zig
77+
78+
# Linguist-specific overrides
79+
*.coq linguist-language=Coq
80+
*.v linguist-language=V
81+
*.agda linguist-language=Agda
82+
*.idr linguist-language=Idris
83+
*.purs linguist-language=PureScript
84+
*.elm linguist-language=Elm
85+
*.rkt linguist-language=Racket
86+
*.scm linguist-language=Scheme
87+
*.clj linguist-language=Clojure
88+
*.cljs linguist-language=Clojure
89+
*.cljc linguist-language=Clojure

.github/funding.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Funding Configuration
2+
# See: https://docs.github.com/en/repositories/managing-your-repositorys-custom-fields/displaying-a-sponsor-button-in-your-repository
3+
4+
github: metadatastician

.gitignore

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Dependencies
2+
node_modules/
3+
.vendor/
4+
dist/
5+
build/
6+
target/
7+
bin/
8+
*.egg-info/
9+
__pycache__/
10+
.venv/
11+
venv/
12+
.env/
13+
.env
14+
.env.local
15+
.env.*.local
16+
17+
# IDE
18+
.idea/
19+
.vscode/
20+
*.swp
21+
*.swo
22+
*~
23+
24+
# OS
25+
.DS_Store
26+
Thumbs.db
27+
28+
# Logs
29+
*.log
30+
logs/
31+
32+
# Test coverage
33+
coverage/
34+
.nyc_output/
35+
36+
# Cache
37+
harden/
38+
.cargo/registry/
39+
.cargo/git/
40+
41+
# Temporary files
42+
*.tmp
43+
*.temp
44+
tmp/
45+
temp/

ARCHITECTURE.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Architecture
2+
3+
## Overview
4+
5+
This repository follows a modular, maintainable architecture designed for clarity, scalability, and long-term sustainability.
6+
7+
## Directory Structure
8+
9+
```
10+
.
11+
├── src/ # Source code
12+
├── tests/ # Test suites
13+
├── docs/ # Documentation
14+
├── scripts/ # Utility scripts
15+
├── config/ # Configuration files
16+
├── LICENSE # License file
17+
├── LICENSES/ # Full license texts
18+
└── README.adoc # Project documentation
19+
```
20+
21+
## Design Principles
22+
23+
- **Separation of Concerns**: Each module has a single responsibility
24+
- **Testability**: Code is written to be easily testable
25+
- **Documentation**: All public APIs are documented
26+
- **Configuration**: Environment-specific settings are externalized
27+
28+
## Dependencies
29+
30+
- External dependencies are minimized and clearly declared
31+
- Version pinning is used for reproducibility
32+
33+
## Security Considerations
34+
35+
- Sensitive data is never committed to the repository
36+
- Secrets are managed through environment variables or secure vaults
37+
- Regular dependency audits are performed
38+
39+
## Maintainability
40+
41+
- Code follows consistent style guidelines
42+
- Pull requests require review and CI checks
43+
- Issues and discussions are tracked transparently
44+
45+
---
46+
47+
*Last updated: 2026-07-18*

GOVERNANCE.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Governance
2+
3+
## Overview
4+
5+
This project is governed by the following principles and structures to ensure transparent, inclusive, and effective decision-making.
6+
7+
## Roles and Responsibilities
8+
9+
### Maintainers
10+
11+
Maintainers are responsible for:
12+
- Reviewing and merging pull requests
13+
- Managing releases and versioning
14+
- Ensuring code quality and standards
15+
- Triaging issues and bug reports
16+
- Community engagement and support
17+
18+
### Contributors
19+
20+
Contributors are expected to:
21+
- Follow the code of conduct
22+
- Submit well-documented pull requests
23+
- Write tests for new functionality
24+
- Maintain existing tests
25+
- Update documentation as needed
26+
27+
## Decision Making
28+
29+
### Minor Changes
30+
- Can be made by any maintainer
31+
- Include bug fixes, documentation updates, dependency updates
32+
33+
### Major Changes
34+
- Require discussion in issues or pull requests
35+
- Include new features, architectural changes, API changes
36+
- Need approval from at least 2 maintainers
37+
38+
### Breaking Changes
39+
- Require RFC (Request for Comments) process
40+
- Need approval from majority of maintainers
41+
- Must include migration guide
42+
43+
## Code of Conduct
44+
45+
All participants are expected to follow our Code of Conduct. Violations can be reported to the maintainers.
46+
47+
## Communication
48+
49+
- **Issues**: For bug reports and feature requests
50+
- **Discussions**: For questions and general discussion
51+
- **Pull Requests**: For code contributions
52+
53+
## Licensing
54+
55+
All contributions are made under the terms of the repository's LICENSE file.
56+
By submitting a pull request, you agree to license your contributions accordingly.
57+
58+
---
59+
60+
*Last updated: 2026-07-18*

0 commit comments

Comments
 (0)