Skip to content

Commit f3834d8

Browse files
committed
feat: initial commit
Signed-off-by: drew <me@andrinoff.com>
0 parents  commit f3834d8

46 files changed

Lines changed: 2269 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docs/** linguist-vendored

.github/FUNDING.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# These are supported funding model platforms
2+
3+
github: floatpane
4+
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
name: Bug Report
2+
description: Create a report to help us improve
3+
title: "BUG: "
4+
labels: ["bug", "needs-triage"]
5+
body:
6+
- type: textarea
7+
id: description
8+
attributes:
9+
label: Describe the bug
10+
description: A clear and concise description of what the bug is.
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: reproduce
16+
attributes:
17+
label: To reproduce
18+
description: Steps to reproduce the behavior. Include a minimal Go snippet if possible.
19+
placeholder: |
20+
1. Call `termimage.Display(...)` with '...'
21+
2. See output / error
22+
validations:
23+
required: true
24+
25+
- type: textarea
26+
id: expected
27+
attributes:
28+
label: Expected behavior
29+
description: A clear and concise description of what you expected to happen.
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: screenshots
35+
attributes:
36+
label: Screenshots
37+
description: If applicable, add screenshots of the terminal output.
38+
39+
- type: input
40+
id: termimage-version
41+
attributes:
42+
label: termimage version
43+
placeholder: "e.g. v0.1.0 or commit SHA"
44+
45+
- type: input
46+
id: go-version
47+
attributes:
48+
label: Go version
49+
description: "Run `go version` to find out."
50+
placeholder: "e.g. go1.26.3"
51+
52+
- type: dropdown
53+
id: os
54+
attributes:
55+
label: OS
56+
options:
57+
- Linux
58+
- macOS
59+
- Windows
60+
- Other
61+
validations:
62+
required: true
63+
64+
- type: input
65+
id: os-version
66+
attributes:
67+
label: OS version
68+
placeholder: "e.g. macOS 14, Ubuntu 24.04, Windows 11"
69+
70+
- type: dropdown
71+
id: arch
72+
attributes:
73+
label: Architecture
74+
options:
75+
- amd64 (x86_64)
76+
- arm64 (aarch64 / Apple Silicon)
77+
- Other / unsure
78+
validations:
79+
required: true
80+
81+
- type: input
82+
id: terminal
83+
attributes:
84+
label: Terminal
85+
placeholder: "e.g. kitty, Ghostty, WezTerm, foot"
86+
87+
- type: dropdown
88+
id: protocol
89+
attributes:
90+
label: Protocol in use
91+
options:
92+
- Auto
93+
- Kitty
94+
- Sixel
95+
- HalfBlock
96+
- Unknown
97+
98+
- type: dropdown
99+
id: sandbox
100+
attributes:
101+
label: Sandbox mode
102+
options:
103+
- "Sandboxed: true"
104+
- "Sandboxed: false"
105+
- Unknown
106+
107+
- type: textarea
108+
id: additional
109+
attributes:
110+
label: Additional context
111+
description: Add any other context about the problem here.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Feature Request
2+
description: Suggest an idea for this project
3+
title: "FEAT: "
4+
labels: ["enhancement", "needs-triage"]
5+
body:
6+
- type: textarea
7+
id: problem
8+
attributes:
9+
label: Is your feature request related to a problem?
10+
description: A clear and concise description of what the problem is.
11+
placeholder: "I'm always frustrated when..."
12+
13+
- type: textarea
14+
id: solution
15+
attributes:
16+
label: Describe the solution you'd like
17+
description: A clear and concise description of what you want to happen.
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: alternatives
23+
attributes:
24+
label: Describe alternatives you've considered
25+
description: A clear and concise description of any alternative solutions or features you've considered.
26+
27+
- type: textarea
28+
id: additional
29+
attributes:
30+
label: Additional context
31+
description: Add any other context or screenshots about the feature request here.

.github/labeler-config-pr.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Keyword regex labels for PRs only. No area/* — pr-paths.yml handles those.
2+
3+
"bug": '\b([Bb]ug(s)?|[Ff]ix(es)?)\b'
4+
5+
"enhancement": '\b([Ff]eat(s)?)\b'
6+
7+
"documentation": '\b([Dd]ocumentation|[Dd]ocs|[Rr]eadme)\b'
8+
9+
"question": '\b([Qq]uestion(s)?|[Hh]elp|[Hh]ow to)\b'
10+
11+
"performance": '\b([Pp]erformance|[Oo]ptimiz(e|ation)|[Ss]peed|[Ee]fficiency)\b'
12+
13+
"dependencies": '([Cc]hore\(deps\)|[Ff]ix\(deps\))'
14+
15+
"ci": '\b([Cc]i|[Cc]ontinuous integration|[Bb]uild|[Ww]orkflow)\b'
16+
17+
"chore": '\b([Cc]hore|[Mm]aintenance|[Rr]efactor|[Cc]leanup)\b'
18+
19+
"security": '\b([Ss]ecurity|[Ee]scape|[Ii]njection|[Vv]ulnerabilit(y|ies)|[Cc][Vv][Ee])\b'
20+
21+
"os/windows": '\b([Ww]indows|[Ww]in(10|11)|[Mm]icrosoft|[Cc]md|[Pp]ower[Ss]hell)\b'
22+
23+
"os/linux": '\b([Ll]inux|[Uu]buntu|[Dd]ebian|[Ff]edora|[Aa]rch [Ll]inux|[Nn]ix[Oo][Ss]|[Pp]op!?_?[Oo][Ss])\b'
24+
25+
"os/macos": '\b([Mm]ac[Oo][Ss]?|[Oo][Ss] ?[Xx]|[Dd]arwin|[Mm]acbook|[Tt]erminal\.app|[Ii][Tt]erm)\b'

.github/labeler-config.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Keyword regex labels for issues. PRs use labeler-config-pr.yml + pr-paths.yml.
2+
3+
"bug": '\b([Bb]ug(s)?|[Ff]ix(es)?)\b'
4+
5+
"enhancement": '\b([Ff]eat(s)?)\b'
6+
7+
"documentation": '\b([Dd]ocumentation|[Dd]ocs|[Rr]eadme)\b'
8+
9+
"question": '\b([Qq]uestion(s)?|[Hh]elp|[Hh]ow to)\b'
10+
11+
"performance": '\b([Pp]erformance|[Oo]ptimiz(e|ation)|[Ss]peed|[Ee]fficiency)\b'
12+
13+
"dependencies": '([Cc]hore\(deps\)|[Ff]ix\(deps\))'
14+
15+
"ci": '\b([Cc]i|[Cc]ontinuous integration|[Bb]uild|[Ww]orkflow)\b'
16+
17+
"chore": '\b([Cc]hore|[Mm]aintenance|[Rr]efactor|[Cc]leanup)\b'
18+
19+
"security": '\b([Ss]ecurity|[Ee]scape|[Ii]njection|[Vv]ulnerabilit(y|ies)|[Cc][Vv][Ee])\b'
20+
21+
"os/windows": '\b([Ww]indows|[Ww]in(10|11)|[Mm]icrosoft|[Cc]md|[Pp]ower[Ss]hell)\b'
22+
23+
"os/linux": '\b([Ll]inux|[Uu]buntu|[Dd]ebian|[Ff]edora|[Aa]rch [Ll]inux|[Nn]ix[Oo][Ss]|[Pp]op!?_?[Oo][Ss])\b'
24+
25+
"os/macos": '\b([Mm]ac[Oo][Ss]?|[Oo][Ss] ?[Xx]|[Dd]arwin|[Mm]acbook|[Tt]erminal\.app|[Ii][Tt]erm)\b'
26+
27+
"area/overlay": '\b([Oo]verlay|[Bb]lock|[Ll]ine|[Mm]odal|[Pp]opup|[Tt]ooltip|[Pp]anel)\b'
28+
29+
"area/ansi": '\b(ANSI|SGR|[Ee]scape|[Ww]idth|[Ww]ide ?char|[Ee]moji|CSI|[Tt]erminal cell)\b'
30+
31+
"area/docs": '\b([Dd]ocumentation|[Dd]ocs|[Rr]eadme)\b'
32+
33+
"area/ci": '\b([Cc]i|[Bb]uild|[Mm]akefile|[Gg]oreleaser)\b'

.github/labels.yml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Label definitions. Synced by .github/workflows/label-sync.yml via `gh label`.
2+
3+
# --- Type ---
4+
- name: bug
5+
color: d73a4a
6+
description: Something isn't working
7+
- name: enhancement
8+
color: a2eeef
9+
description: New feature or request
10+
- name: documentation
11+
color: 0075ca
12+
description: Documentation changes
13+
- name: question
14+
color: d876e3
15+
description: Further information requested
16+
- name: performance
17+
color: fbca04
18+
description: Performance improvement
19+
- name: dependencies
20+
color: 0366d6
21+
description: Dependency updates
22+
- name: ci
23+
color: 1d76db
24+
description: CI / build pipeline
25+
- name: chore
26+
color: cfd3d7
27+
description: Maintenance, refactor, cleanup
28+
- name: security
29+
color: b60205
30+
description: Security-related
31+
32+
# --- Triage / lifecycle ---
33+
- name: needs-triage
34+
color: ededed
35+
description: Awaiting maintainer review
36+
- name: needs-response
37+
color: fbca04
38+
description: Waiting on issue author reply
39+
- name: stale
40+
color: cccccc
41+
description: No activity for extended period
42+
- name: pinned
43+
color: 0e8a16
44+
description: Exempt from stale
45+
- name: in-progress
46+
color: 5319e7
47+
description: Actively being worked on
48+
- name: blocked
49+
color: b60205
50+
description: Blocked on external dependency
51+
- name: help-wanted
52+
color: 008672
53+
description: Extra attention is needed
54+
- name: good-first-issue
55+
color: 7057ff
56+
description: Good for newcomers
57+
- name: popular
58+
color: ff6f00
59+
description: High community interest (10+ 👍)
60+
- name: duplicate
61+
color: cfd3d7
62+
description: Duplicate of another issue
63+
- name: wontfix
64+
color: ffffff
65+
description: Will not be worked on
66+
- name: invalid
67+
color: e4e669
68+
description: Not valid
69+
- name: ci-failure
70+
color: b60205
71+
description: Tracked CI failure on master
72+
73+
# --- OS ---
74+
- name: os/windows
75+
color: 0078d4
76+
description: Windows-specific
77+
- name: os/linux
78+
color: fcc624
79+
description: Linux-specific
80+
- name: os/macos
81+
color: "333333"
82+
description: macOS-specific
83+
84+
# --- Area ---
85+
- name: area/overlay
86+
color: c2e0c6
87+
description: Overlay paint logic (Block / Line)
88+
- name: area/ansi
89+
color: c2e0c6
90+
description: ANSI / SGR / width handling
91+
- name: area/docs
92+
color: c2e0c6
93+
description: Docs site / README
94+
- name: area/ci
95+
color: c2e0c6
96+
description: Build / release / packaging
97+
98+
# --- Size ---
99+
- name: size/XS
100+
color: "3cbf00"
101+
description: "Diff: 0–10 lines"
102+
- name: size/S
103+
color: "5d9801"
104+
description: "Diff: 11–50 lines"
105+
- name: size/M
106+
color: "eebb00"
107+
description: "Diff: 51–200 lines"
108+
- name: size/L
109+
color: "ee9900"
110+
description: "Diff: 201–800 lines"
111+
- name: size/XL
112+
color: "ee5500"
113+
description: "Diff: 800+ lines"

.github/pr-paths.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Path → label rules for actions/labeler@v6 (PR file paths).
2+
3+
"area/overlay":
4+
- changed-files:
5+
- any-glob-to-any-file:
6+
- overlay.go
7+
8+
"area/docs":
9+
- changed-files:
10+
- any-glob-to-any-file:
11+
- docs/**
12+
- README.md
13+
- "**/*.md"
14+
15+
"area/ci":
16+
- changed-files:
17+
- any-glob-to-any-file:
18+
- .goreleaser*.yml
19+
- .golangci.yml
20+
21+
"ci":
22+
- changed-files:
23+
- any-glob-to-any-file:
24+
- .github/workflows/**
25+
- .github/labeler-config.yml
26+
- .github/labeler-config-pr.yml
27+
- .github/labels.yml
28+
- .github/pr-paths.yml
29+
- .github/release.yml
30+
31+
"dependencies":
32+
- changed-files:
33+
- any-glob-to-any-file:
34+
- go.mod
35+
- go.sum
36+
- docs/package.json
37+
- docs/package-lock.json

.github/pull_request_template.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## What?
2+
3+
<!-- Describe what this PR changes. Keep it concise — what code was added, removed, or modified? -->
4+
5+
## Why?
6+
7+
<!-- Explain the motivation behind this change. What problem does it solve, or what addition does it enable? Link related issues if applicable. -->

.github/release.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
changelog:
2+
exclude:
3+
labels:
4+
- ignore-for-release
5+
- dependencies-internal
6+
categories:
7+
- title: Breaking Changes
8+
labels:
9+
- breaking
10+
- title: Features
11+
labels:
12+
- enhancement
13+
- feat
14+
- title: Bug Fixes
15+
labels:
16+
- bug
17+
- fix
18+
- title: Documentation
19+
labels:
20+
- docs
21+
- title: Dependencies
22+
labels:
23+
- dependencies
24+
- title: Other Changes
25+
labels:
26+
- "*"

0 commit comments

Comments
 (0)