Skip to content
Draft
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
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Report a reproducible problem in dsagt
title: "[Bug]: "
labels: bug
assignees: ""
---

## Summary
A clear and concise description of the bug.

## Environment
- OS:
- Python version:
- dsagt version/commit:

## Steps to Reproduce
1.
2.
3.

## Expected Behavior
What you expected to happen.

## Actual Behavior
What happened instead.

## Logs / Traceback
Paste relevant logs, tracebacks, or screenshots.

## Additional Context
Anything else that may help reproduce or debug the issue.
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an idea or improvement for dsagt
title: "[Feature]: "
labels: enhancement
assignees: ""
---

## Problem Statement
Is your feature request related to a problem? Describe it.

## Proposed Solution
Describe the change you want to see.

## Alternatives Considered
Describe any alternative solutions or features you've considered.

## Use Case / Impact
Who benefits and how?

## Additional Context
Links, mockups, examples, or related issues.
21 changes: 21 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Summary
Describe the change and why it is needed.

## Related Issue
Closes #

## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Refactor / maintenance

## Validation
- [ ] Local linting completed
- [ ] Relevant tests added/updated
- [ ] Relevant tests passed

## Checklist
- [ ] I followed repository contribution guidance
- [ ] I updated docs where needed
- [ ] I confirmed no secrets or credentials were added
42 changes: 42 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

permissions:
contents: read

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install ruff
run: python -m pip install --upgrade pip ruff
- name: Lint
run: python -m ruff check src tests --select E9,F63,F7,F82

test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e .
python -m pip install pytest
- name: Run tests (non-integration)
run: python -m pytest -m "not integration" -q
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Repository boilerplate community files and contribution templates.
64 changes: 64 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

- The use of sexualized language or imagery, and sexual attention or advances
of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address,
without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the project maintainers.

All complaints will be reviewed and investigated promptly and fairly.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

[homepage]: https://www.contributor-covenant.org
57 changes: 57 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Contributing to dsagt

Thanks for your interest in contributing to dsagt.

## Getting Started

1. Fork the repository and create a feature branch from `main`.
2. Set up your environment and install dependencies.
3. Run tests and linting locally before opening a pull request.

See [developer.md](./developer.md) for project-specific developer workflows.

## Development Workflow

- Keep pull requests focused and small.
- Prefer clear commit messages that explain intent.
- Update documentation when behavior changes.

## Testing

Run non-integration tests before submitting:

```bash
uv run python -m pytest -m "not integration"
```

Integration tests require `.env` configuration, as documented in [developer.md](./developer.md).

## Linting

Use ruff for lint checks:

```bash
python -m ruff check src tests --select E9,F63,F7,F82
```

## Pull Requests

When opening a PR:

- Explain what changed and why.
- Link the related issue(s).
- Include test evidence for the changed behavior.

## AI/LLM-Assisted Contributions

AI tools are welcome for drafting code and docs, but contributors remain responsible for correctness and security.

Please ensure:

- Generated changes are reviewed and understood before submission.
- Outputs are validated with local linting/tests.
- No secrets, proprietary data, or sensitive information are included in prompts or commits.

## Code of Conduct

By participating, you agree to follow the project's [Code of Conduct](./CODE_OF_CONDUCT.md).
14 changes: 14 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Security Policy

## Reporting a Vulnerability

If you discover a security vulnerability, please report it privately to the maintainers.

- **Do not** open public GitHub issues for security vulnerabilities.
- Include steps to reproduce, impact, and any suggested remediation.

The maintainers will acknowledge receipt and work on a fix as quickly as possible.

## Supported Versions

Security fixes are generally applied to the latest development line.