Skip to content

Commit 4bed72c

Browse files
committed
docs: improve project trust signals
1 parent cd4b758 commit 4bed72c

14 files changed

Lines changed: 716 additions & 88 deletions
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Bug report
2+
description: Report a reproducible problem with igdb-wrapper
3+
title: "[Bug]: "
4+
labels:
5+
- bug
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for reporting a bug. Please include enough detail for someone to reproduce the issue without access to your private credentials.
11+
- type: input
12+
id: version
13+
attributes:
14+
label: Package version
15+
description: The version of @api-wrappers/igdb-wrapper you are using.
16+
placeholder: "1.0.1"
17+
validations:
18+
required: true
19+
- type: dropdown
20+
id: runtime
21+
attributes:
22+
label: Runtime
23+
options:
24+
- Bun
25+
- Node.js
26+
- Other
27+
validations:
28+
required: true
29+
- type: textarea
30+
id: reproduction
31+
attributes:
32+
label: Reproduction
33+
description: Minimal code, command, or failing query that reproduces the problem.
34+
render: ts
35+
validations:
36+
required: true
37+
- type: textarea
38+
id: expected
39+
attributes:
40+
label: Expected behavior
41+
validations:
42+
required: true
43+
- type: textarea
44+
id: actual
45+
attributes:
46+
label: Actual behavior
47+
description: Include error names, messages, HTTP status, or generated APICalypse when relevant.
48+
validations:
49+
required: true
50+
- type: textarea
51+
id: validation
52+
attributes:
53+
label: Validation
54+
description: Commands you ran, such as bun run typecheck, bun run test, or a focused reproduction.
55+
- type: checkboxes
56+
id: checklist
57+
attributes:
58+
label: Checklist
59+
options:
60+
- label: I removed secrets, access tokens, and Twitch credentials from this report.
61+
required: true
62+
- label: I checked the docs for the feature or method I am using.
63+
required: true
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Docs request
2+
description: Request clearer examples, reference docs, or migration guidance
3+
title: "[Docs]: "
4+
labels:
5+
- documentation
6+
body:
7+
- type: dropdown
8+
id: area
9+
attributes:
10+
label: Documentation area
11+
options:
12+
- README
13+
- Getting started
14+
- Query builder
15+
- Examples
16+
- Endpoint helpers
17+
- Error handling
18+
- Configuration
19+
- Release readiness
20+
- Other
21+
validations:
22+
required: true
23+
- type: textarea
24+
id: request
25+
attributes:
26+
label: What should be clearer?
27+
description: Include the exact topic, method, or example you were looking for.
28+
validations:
29+
required: true
30+
- type: textarea
31+
id: suggested
32+
attributes:
33+
label: Suggested example or wording
34+
description: Optional, but helpful.
35+
- type: checkboxes
36+
id: checklist
37+
attributes:
38+
label: Checklist
39+
options:
40+
- label: I am not asking to document unsupported query-builder syntax as if it exists.
41+
required: true
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Feature request
2+
description: Suggest an improvement to the client, query builder, endpoint helpers, or runtime behavior
3+
title: "[Feature]: "
4+
labels:
5+
- enhancement
6+
body:
7+
- type: textarea
8+
id: problem
9+
attributes:
10+
label: Problem
11+
description: What IGDB or application workflow is hard today?
12+
placeholder: Raw multi-query strings are hard to reuse safely...
13+
validations:
14+
required: true
15+
- type: textarea
16+
id: proposed
17+
attributes:
18+
label: Proposed solution
19+
description: Describe the API or behavior you would like.
20+
render: ts
21+
validations:
22+
required: true
23+
- type: textarea
24+
id: alternatives
25+
attributes:
26+
label: Alternatives
27+
description: Current workaround, raw APICalypse, or other package you are using.
28+
- type: checkboxes
29+
id: scope
30+
attributes:
31+
label: Scope check
32+
options:
33+
- label: This feature keeps raw APICalypse escape hatches available.
34+
required: true
35+
- label: This feature can be documented without inventing unsupported syntax.
36+
required: true

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Summary
2+
3+
-
4+
5+
# What changed
6+
7+
-
8+
9+
# Validation
10+
11+
- [ ] `bun install`
12+
- [ ] `bun run typecheck`
13+
- [ ] `bun run test`
14+
- [ ] `bun run build`
15+
- [ ] `bun run check`
16+
- [ ] `bun run verify`
17+
- [ ] `bun run prepublishOnly`
18+
19+
# Documentation
20+
21+
- [ ] README or docs updated, if user-facing behavior changed
22+
- [ ] Examples use real exported APIs and supported query-builder syntax
23+
- [ ] Raw APICalypse usage is labeled accurately where the typed builder does
24+
not cover the feature yet
25+
26+
# Checklist
27+
28+
- [ ] No secrets, tokens, or credentials are included
29+
- [ ] No `any` types were added
30+
- [ ] New type annotations prefer `Array<Type>` over `Type[]`
31+
- [ ] Public API changes are intentional and documented

.github/workflows/ci.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
branches:
77
- main
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
validate:
1114
runs-on: ubuntu-latest
@@ -22,11 +25,5 @@ jobs:
2225
- name: Install dependencies
2326
run: bun install --frozen-lockfile
2427

25-
- name: Typecheck
26-
run: bun run typecheck
27-
28-
- name: Run tests
29-
run: bun run test
30-
31-
- name: Build
32-
run: bun run build
28+
- name: Run standard checks
29+
run: bun run check

.github/workflows/release.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77

88
jobs:
99
release:
10+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
1011
runs-on: ubuntu-latest
1112

1213
permissions:
@@ -34,14 +35,8 @@ jobs:
3435
- name: Install dependencies
3536
run: bun install --frozen-lockfile
3637

37-
- name: Typecheck
38-
run: bun run typecheck
39-
40-
- name: Run tests
41-
run: bun run test
42-
43-
- name: Build
44-
run: bun run build
38+
- name: Validate package
39+
run: bun run verify
4540

4641
- name: Resolve release tag
4742
id: release
@@ -105,6 +100,7 @@ jobs:
105100
createGithubReleases: false
106101
env:
107102
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
108104

109105
- name: Create GitHub release
110106
if: always() && steps.release_state.outputs.exists != 'true' && (steps.changesets.outcome == 'success' || steps.changesets.outcome == 'skipped')

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ out
66
dist
77
*.tgz
88

9+
# local maintainer drafts
10+
docs/issue-drafts.md
11+
912
# code coverage
1013
coverage
1114
*.lcov

CONTRIBUTING.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Contributing
2+
3+
Thanks for helping improve `@api-wrappers/igdb-wrapper`. The best changes keep
4+
the package focused on its core value: a typed, fluent IGDB client that reduces
5+
raw APICalypse string handling without removing escape hatches.
6+
7+
## Setup
8+
9+
```bash
10+
bun install
11+
```
12+
13+
Use Node.js 18+ or Bun with the repo's checked-in lockfile. Keep dependency
14+
changes small and explain why they are needed.
15+
16+
## Development Commands
17+
18+
```bash
19+
bun run typecheck
20+
bun run test
21+
bun run build
22+
bun run check
23+
```
24+
25+
Before opening a release-oriented PR, also run:
26+
27+
```bash
28+
bun run verify
29+
```
30+
31+
## Code Style
32+
33+
- Keep TypeScript strict.
34+
- Do not use `any`; prefer `unknown`, generics, or narrower types.
35+
- Prefer `Array<Type>` over `Type[]` when adding or changing type annotations.
36+
- Prefer const functions for new helpers unless a class method or declaration is
37+
required by the surrounding API.
38+
- Keep public API changes minimal and documented.
39+
- Keep raw APICalypse examples accurate when a typed builder feature does not
40+
exist yet.
41+
42+
## Documentation Expectations
43+
44+
Docs are part of the product. If a change affects user-facing behavior, update
45+
the relevant docs in `README.md`, `docs/`, or `examples/`.
46+
47+
When documenting query-builder examples:
48+
49+
- Inspect the source before writing new syntax.
50+
- Use actual methods exported by the package.
51+
- Mention raw escape hatches when the current API is string-based.
52+
- Add a roadmap item instead of implying unsupported typed behavior exists.
53+
54+
## Pull Requests
55+
56+
Small PRs are easier to review. A good PR includes:
57+
58+
- A clear summary of the user problem.
59+
- The exact behavior change.
60+
- Tests or a note explaining why tests were not added.
61+
- Validation output for typecheck, tests, build, and prepublish checks when
62+
relevant.
63+
64+
## Releases
65+
66+
See [docs/release-readiness.md](./docs/release-readiness.md) before publishing.

0 commit comments

Comments
 (0)