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
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[*.py]
indent_size = 4

[*.md]
trim_trailing_whitespace = false

[*.{bat,cmd,ps1}]
end_of_line = crlf
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
* text=auto eol=lf

*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf

*.gif binary
*.ico binary
*.jpg binary
*.jpeg binary
*.png binary
*.webp binary
*.woff binary
*.woff2 binary
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Default ownership for repository changes.
* @back1ash
98 changes: 98 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Bug report
description: Report a reproducible problem in PROOF
title: "[Bug]: "
body:
- type: markdown
attributes:
value: |
Thank you for helping improve PROOF. Do not include secrets, credentials, or private specifications.

- type: textarea
id: description
attributes:
label: Problem description
description: Describe the problem and its impact.
placeholder: What happened, and who or what is affected?
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: Provide the smallest reliable sequence that reproduces the problem.
placeholder: |
1. Run ...
2. Provide ...
3. Observe ...
validations:
required: true

- type: textarea
id: fixture
attributes:
label: Minimal input and configuration
description: Share a minimal OpenAPI document, configuration, or public repository link when relevant.
render: shell
validations:
required: false

- type: textarea
id: expected
attributes:
label: Expected behavior
description: Describe the observable result you expected.
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behavior
description: Describe the result you observed, including exact error messages when available.
validations:
required: true

- type: input
id: version
attributes:
label: PROOF version or commit
placeholder: Commit SHA or published version, when available
validations:
required: true

- type: input
id: environment
attributes:
label: Environment
description: Include operating system, runtime version, installation method, and execution context.
placeholder: Windows 11, commit abc123, local execution
validations:
required: true

- type: textarea
id: logs
attributes:
label: Relevant logs or output
description: Paste sanitized logs, stack traces, or command output.
render: shell
validations:
required: false

- type: textarea
id: additional
attributes:
label: Additional context
description: Add screenshots, related issues, or other useful context.
validations:
required: false

- type: checkboxes
id: confirmations
attributes:
label: Confirmations
options:
- label: I searched existing issues and did not find a duplicate.
required: true
- label: I removed secrets and sensitive information from this report.
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Report a security vulnerability
url: https://github.com/SpecArgus/PROOF/blob/develop/SECURITY.md
about: Follow the private reporting instructions in the security policy.
86 changes: 86 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Feature request
description: Propose a user-focused improvement to PROOF
title: "[Feature]: "
body:
- type: markdown
attributes:
value: |
Start with the problem and desired outcome. Implementation details are welcome but optional.

- type: textarea
id: problem
attributes:
label: Problem
description: What problem exists today, and why is it worth solving?
placeholder: When ..., users cannot ..., which causes ...
validations:
required: true

- type: textarea
id: users
attributes:
label: Users and use case
description: Who experiences this problem, and in what workflow?
validations:
required: true

- type: textarea
id: outcome
attributes:
label: Desired outcome
description: Describe the observable behavior or result, without prescribing an implementation.
validations:
required: true

- type: textarea
id: criteria
attributes:
label: Acceptance criteria
description: List specific, testable conditions that would make this request complete.
placeholder: |
- [ ] Given ..., when ..., then ...
- [ ] Given ..., when ..., then ...
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed approach
description: Share an implementation idea, API shape, or workflow if you have one.
validations:
required: false

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Describe current workarounds or other approaches you evaluated.
validations:
required: false

- type: textarea
id: impact
attributes:
label: Scope and impact
description: Note compatibility, security, performance, documentation, or migration considerations.
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional context
description: Add examples, related issues, mockups, or references.
validations:
required: false

- type: checkboxes
id: confirmations
attributes:
label: Confirmations
options:
- label: I searched existing issues and did not find a duplicate request.
required: true
- label: The acceptance criteria describe observable, testable behavior.
required: true
91 changes: 91 additions & 0 deletions .github/ISSUE_TEMPLATE/spike.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Technical spike
description: Time-box research needed to make a technical decision
title: "[Spike]: "
body:
- type: markdown
attributes:
value: |
A spike should reduce uncertainty and end with evidence and a recommendation, not production implementation.

- type: textarea
id: question
attributes:
label: Question or hypothesis
description: State the uncertainty this spike will investigate.
validations:
required: true

- type: textarea
id: decision
attributes:
label: Decision this will unblock
description: Identify the concrete decision or follow-up work that depends on the result.
validations:
required: true

- type: textarea
id: scope
attributes:
label: Scope
description: Define what is included and explicitly excluded.
placeholder: |
In scope:
- ...

Out of scope:
- ...
validations:
required: true

- type: textarea
id: options
attributes:
label: Options to evaluate
description: List candidate approaches, tools, or architectures.
validations:
required: true

- type: textarea
id: criteria
attributes:
label: Evaluation criteria
description: Define measurable comparison criteria and any required test cases.
placeholder: Compatibility, correctness, performance, maintainability, license, security
validations:
required: true

- type: input
id: timebox
attributes:
label: Time box
description: Set the maximum investigation effort.
placeholder: 1 working day
validations:
required: true

- type: textarea
id: deliverables
attributes:
label: Deliverables and completion criteria
description: List the evidence, comparison, prototype, ADR, or recommendation required to complete the spike.
placeholder: |
- [ ] Reproducible benchmark or fixture
- [ ] Written comparison with evidence
- [ ] Recommendation and follow-up issues
validations:
required: true

- type: textarea
id: risks
attributes:
label: Risks and dependencies
description: Note blockers, external dependencies, security concerns, or assumptions.
validations:
required: false
- type: textarea
id: references
attributes:
label: Existing evidence and references
description: Link relevant documentation, issues, benchmarks, or prior decisions.
validations:
required: false
50 changes: 50 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
> Normal changes must target `develop`. Only release pull requests and approved hotfixes should target `main`.

Closes #

## Summary

<!-- What does this pull request change? -->

## Rationale

<!-- Why is this change needed, and why is this approach appropriate? -->

## Change type

- [ ] Feature
- [ ] Bug fix
- [ ] Documentation
- [ ] Refactor
- [ ] Test
- [ ] Build, CI, or maintenance
- [ ] Breaking change

## Acceptance criteria

<!-- Copy the linked issue's criteria and mark each completed item. -->

- [ ]

## Tests

<!-- Describe automated and manual verification, including commands and results. -->

## Documentation

<!-- Note documentation changes, or explain why none are needed. -->

## Security and compatibility impact

<!-- Describe security, privacy, dependency, migration, or breaking impacts. Write "None" when not applicable. -->

## Checklist

- [ ] This pull request targets `develop`, unless it is a release or approved hotfix.
- [ ] A related issue is linked with `Closes #<issue-number>`.
- [ ] The acceptance criteria are satisfied.
- [ ] Tests cover the change and pass locally.
- [ ] Documentation is updated where needed.
- [ ] Security, privacy, and compatibility impacts have been assessed.
- [ ] Required repository checks pass and all review conversations are resolved.
- [ ] No unrelated changes are included.
Loading