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
86 changes: 86 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Bug report
description: Report a defect in ForgeSight
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for filing a bug! Please search existing issues first, and do
**not** use this form for security vulnerabilities — see
[SECURITY.md](../blob/main/SECURITY.md) for private reporting.
- type: textarea
id: what-happened
attributes:
label: What happened?
description: A clear description of the bug, including what you expected instead.
placeholder: When I ... I expected ... but instead ...
validations:
required: true
- type: textarea
id: repro
attributes:
label: Minimal reproduction
description: The smallest code / config / command sequence that reproduces it.
render: python
validations:
required: true
- type: textarea
id: traceback
attributes:
label: Traceback / logs
description: Paste the full error output if there is one.
render: shell
validations:
required: false
- type: input
id: version
attributes:
label: ForgeSight version
description: Output of `pip show forgesight` — and the exporter/integration package involved (e.g. `forgesight-prometheus`).
placeholder: "0.1.1"
validations:
required: true
- type: dropdown
id: package
attributes:
label: Which package?
description: The package the bug is in (pick the closest).
options:
- forgesight (facade) / forgesight-core / forgesight-api
- forgesight-otel
- forgesight-prometheus
- forgesight-datadog
- forgesight-clickhouse
- forgesight-langfuse
- forgesight-mcp
- forgesight-fastapi
- forgesight-github
- forgesight-governance
- forgesight-eval
- forgesight-registry
- forgesight-audit
- forgesight-adapters-langgraph / forgesight-adapters-crewai
- Not sure
validations:
required: false
- type: input
id: python
attributes:
label: Python version
placeholder: "3.13.x"
validations:
required: true
- type: input
id: os
attributes:
label: OS
placeholder: "macOS 15 / Ubuntu 24.04 / Windows 11"
validations:
required: false
- type: textarea
id: context
attributes:
label: Additional context
description: Backend/exporter in use, relevant config (redact secrets), anything else.
validations:
required: false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability
url: https://github.com/Scaffoldic/forgesight/security/advisories/new
about: Please report security issues privately, not as public issues. See SECURITY.md.
- name: Question / usage help / discussion
url: https://github.com/Scaffoldic/forgesight/discussions
about: For usage questions and open-ended discussion, use Discussions — not the issue tracker.
56 changes: 56 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Feature request
description: Suggest a capability or improvement for ForgeSight
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for the idea! Larger features may need a `feat-NNN` spec under
`docs/features/` before implementation — a maintainer will guide you.
Check the [feature catalogue](../blob/main/docs/features/README.md) to
see if it's already planned.
- type: textarea
id: problem
attributes:
label: What problem does this solve?
description: Describe the use case and the pain, not just the proposed API.
placeholder: When instrumenting agents in production, I need ... because ...
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: What should ForgeSight do? Sketch the config / API if you have one.
validations:
required: false
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Other approaches, or how you work around it today.
validations:
required: false
- type: dropdown
id: area
attributes:
label: Area
description: Which part of ForgeSight does this touch?
options:
- Core contracts / domain model
- Instrumentation runtime (spans, context, decorators)
- OTel exporter / semantic conventions
- Backend exporter (Prometheus / Datadog / ClickHouse / Langfuse)
- MCP integration
- FastAPI integration
- GitHub Actions integration
- Framework adapter (LangGraph / CrewAI)
- Governance (budgets / policy / kill-switch)
- Cost / pricing
- Eval / feedback
- Registry / chargeback
- Audit trail
- Docs
- Other / not sure
validations:
required: false
32 changes: 32 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## Summary

<one-paragraph description of what this PR does and why>

## Tests added

- Unit: <count>
- Integration: <count>
- Conformance (if an SPI is touched): <count>
- Coverage on diff: <pct>% (gate is 90%)

## Local gate output

```
✅ ruff format
✅ ruff check
✅ mypy --strict
✅ pytest (coverage ≥ 90%, py3.11–3.13)
✅ gitleaks (no secrets)
```

## Checklist

- [ ] Branch follows convention: `feat-NNN`, `fix-<slug>`, `docs-<slug>`, or `chore-<slug>`
- [ ] One feature / fix / chore — not mixed
- [ ] Conventional Commits on every commit (`feat:` / `fix:` / `docs:` / `test:` /
`refactor:` / `chore:` / `perf:` / `revert:`), subject imperative & ≤ 72 chars
- [ ] Vendor-neutral core preserved (no backend/model-provider SDK in `-api` / `-core`)
- [ ] New/changed SPI has a conformance test
- [ ] `AGENTS.md` updated if conventions changed
- [ ] `CHANGELOG.md` entry added under `[Unreleased]`
- [ ] AI-assisted commits carry a `Co-Authored-By:` trailer
Loading