Skip to content

Commit a6d8b16

Browse files
committed
docs+ci: README badges, CodeQL workflow, issue + PR templates
Scaffolding backfill to match the release-kit baseline. No behavior changes; only docs + .github/ files. - README.md: CI status / PyPI version / supported Pythons / license badges. Each URL verified to return 200 before pasting. - .github/workflows/codeql.yml: weekly + push/PR scan, python + actions languages, security-and-quality query set. - .github/ISSUE_TEMPLATE/{bug_report,feature_request,config}.yml: GitHub-recognised forms with redaction reminders. - .github/PULL_REQUEST_TEMPLATE.md: standard checklist.
1 parent d9b9868 commit a6d8b16

6 files changed

Lines changed: 215 additions & 0 deletions

File tree

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Bug report
2+
description: Something is broken or behaving unexpectedly.
3+
title: "bug: "
4+
labels: [bug]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for filing a bug! Please redact any tokens or
10+
credentials before pasting logs.
11+
12+
- type: input
13+
id: version
14+
attributes:
15+
label: get-installer version
16+
description: Output of `get-installer version`.
17+
placeholder: simtabi-get-installer 0.1.0
18+
validations:
19+
required: true
20+
21+
- type: input
22+
id: python
23+
attributes:
24+
label: Python version
25+
placeholder: "3.11.7"
26+
validations:
27+
required: true
28+
29+
- type: dropdown
30+
id: os
31+
attributes:
32+
label: Operating system
33+
options:
34+
- macOS
35+
- Linux
36+
- Windows
37+
- Other (describe in details)
38+
validations:
39+
required: true
40+
41+
- type: textarea
42+
id: what-happened
43+
attributes:
44+
label: What happened?
45+
description: What did you do? What did you expect? What did you get?
46+
placeholder: |
47+
1. ran `get-installer publish --target pypi`
48+
2. expected the package to be uploaded
49+
3. got `token-not-found` although PYPI_TOKEN was set
50+
validations:
51+
required: true
52+
53+
- type: textarea
54+
id: command
55+
attributes:
56+
label: Exact command + relevant config
57+
description: Paste the CLI you ran and the relevant section of release.json (redact tokens).
58+
render: bash
59+
validations:
60+
required: true
61+
62+
- type: textarea
63+
id: logs
64+
attributes:
65+
label: Doctor output / stderr
66+
description: Run `get-installer help` and paste the table; or paste the failing command's stderr.
67+
render: text
68+
69+
- type: checkboxes
70+
id: checks
71+
attributes:
72+
label: Quick checks
73+
options:
74+
- label: I redacted any tokens / credentials before pasting.
75+
required: true
76+
- label: I checked `docs/troubleshooting.md`.
77+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Documentation
4+
url: https://opensource.simtabi.com/documentation/get-installer
5+
about: Manual + per-platform reference playbook.
6+
- name: Security vulnerability
7+
url: https://github.com/simtabi/get-installer/security/policy
8+
about: Use private vulnerability reporting; do not file a public issue.
9+
- name: Discussion / question
10+
url: https://github.com/simtabi/get-installer/discussions
11+
about: Ask questions, share recipes, or propose ideas before formalising.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Feature request
2+
description: A new platform, CLI verb, or behaviour you'd like to see.
3+
title: "feat: "
4+
labels: [enhancement]
5+
body:
6+
- type: textarea
7+
id: problem
8+
attributes:
9+
label: What problem does this solve?
10+
description: Describe the use case in your own workflow, not the solution.
11+
placeholder: |
12+
I publish to JFrog Artifactory and would like get-installer to
13+
handle it instead of a bespoke script.
14+
validations:
15+
required: true
16+
17+
- type: textarea
18+
id: proposal
19+
attributes:
20+
label: Proposed shape
21+
description: What might the config + CLI look like? Free-form is fine.
22+
placeholder: |
23+
targets:
24+
jfrog:
25+
enabled: true
26+
auth: token
27+
repository: my-repo
28+
29+
- type: dropdown
30+
id: type
31+
attributes:
32+
label: What kind of feature?
33+
options:
34+
- New platform (registry or git host)
35+
- New CLI verb / flag
36+
- New policy / safety check
37+
- Workflow / composition
38+
- Docs / examples
39+
- Other
40+
validations:
41+
required: true
42+
43+
- type: textarea
44+
id: alternatives
45+
attributes:
46+
label: Alternatives considered
47+
description: Have you tried a workaround? What didn't work?
48+
49+
- type: checkboxes
50+
id: willingness
51+
attributes:
52+
label: Contribution
53+
options:
54+
- label: I'd be willing to send a PR for this.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!-- Thanks for sending a PR! Please redact any tokens before posting logs. -->
2+
3+
## What
4+
5+
<!-- One-paragraph summary of the change. -->
6+
7+
## Why
8+
9+
<!-- The reason this change is needed. Link issues with `Fixes #123` / `Refs #123`. -->
10+
11+
## How
12+
13+
<!-- Notable implementation choices. New platform? Reference the playbook page. -->
14+
15+
## Checklist
16+
17+
- [ ] Tests added or updated; `pytest` passes locally.
18+
- [ ] `ruff check src tests` clean.
19+
- [ ] `mypy src` clean.
20+
- [ ] Public API change? Updated `CHANGELOG.md` under `[Unreleased]`.
21+
- [ ] New platform? Added a `docs/playbook/<group>/<slug>.md` entry following
22+
the 8-section template, and a `docs/platforms/<slug>.md` user page.
23+
- [ ] New CLI verb / flag? Updated `docs/cli.md` and `README.md`.
24+
- [ ] No secrets, tokens, or production hostnames in the diff or logs.

.github/workflows/codeql.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: codeql
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
schedule:
9+
- cron: "30 6 * * 1" # weekly, Monday 06:30 UTC (≈ 02:30 ET)
10+
11+
permissions:
12+
contents: read
13+
security-events: write
14+
actions: read
15+
16+
concurrency:
17+
group: codeql-${{ github.ref }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
analyze:
22+
name: analyze (${{ matrix.language }})
23+
runs-on: ubuntu-latest
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
language: [python, actions]
28+
29+
steps:
30+
- uses: actions/checkout@v6
31+
32+
- name: Initialize CodeQL
33+
uses: github/codeql-action/init@v3
34+
with:
35+
languages: ${{ matrix.language }}
36+
queries: security-and-quality
37+
38+
- name: Autobuild
39+
uses: github/codeql-action/autobuild@v3
40+
41+
- name: Analyze
42+
uses: github/codeql-action/analyze@v3
43+
with:
44+
category: "/language:${{ matrix.language }}"

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# get-installer
22

3+
[![CI](https://github.com/simtabi/get-installer/actions/workflows/ci.yml/badge.svg)](https://github.com/simtabi/get-installer/actions/workflows/ci.yml)
4+
[![PyPI](https://img.shields.io/pypi/v/get-installer.svg)](https://pypi.org/project/get-installer/)
5+
[![Python](https://img.shields.io/pypi/pyversions/get-installer.svg)](https://pypi.org/project/get-installer/)
6+
[![License](https://img.shields.io/github/license/simtabi/get-installer.svg)](LICENSE)
7+
38
A reusable, **registry-driven `curl | sh`-style installer** for
49
distributing developer tools across public OSS, private enterprises,
510
universities, and government / domain-locked contexts.

0 commit comments

Comments
 (0)