Commit Graph

42 Commits (2f61ba036ed4d0013f34414728938bf7825219c8)

Author SHA1 Message Date
trag1c 22f9233a0f
contributing: don't encourage opening an issue 2026-04-19 15:41:41 +02:00
Alexandre Antonio Juca c735fd8c47
Update CONTRIBUTING.md
Co-authored-by: Jeffrey C. Ollie <jeff@ocjtech.us>
2026-03-01 22:05:30 +01:00
Alexandre Antonio Juca 3972426852 chore: improve grammer 2026-03-01 21:56:46 +01:00
Alexandre Antonio Juca fa2a74d765
Update CONTRIBUTING.md
Co-authored-by: Jeffrey C. Ollie <jeff@ocjtech.us>
2026-03-01 21:52:19 +01:00
Alexandre Antonio Juca 56f3b3d060
Update CONTRIBUTING.md
Co-authored-by: Jeffrey C. Ollie <jeff@ocjtech.us>
2026-03-01 21:52:11 +01:00
Alexandre Antonio Juca 059b02eacb
Update CONTRIBUTING.md
Co-authored-by: Jeffrey C. Ollie <jeff@ocjtech.us>
2026-03-01 21:51:52 +01:00
Alexandre Antonio Juca a0b7714898
Update CONTRIBUTING.md
Co-authored-by: Jeffrey C. Ollie <jeff@ocjtech.us>
2026-03-01 21:51:07 +01:00
Alexandre Antonio Juca 2ed0e3b82b fix: format with prettier 2026-03-01 12:51:47 +01:00
Alexandre Antonio Juca fc4d5a40dd chore: add improvements 2026-03-01 12:30:25 +01:00
Alexandre Antonio Juca 7cf8e0ccc0 docs: clarify if pre-vouching contributors are also required to apply to get vouched before contributing to Ghostty 2026-03-01 12:02:20 +01:00
Kat 98cc1c6d11
Move docs on developing Ghostty out of CONTRIBUTING.md, attempt two.
Follow-up to #8445, after a messed up rebase in #8339 brought it back
alongside an extra section.

All text removed from CONTRIBUTING.md was identical to the version
present in HACKING.md (according to a textual diff), excluding the
“Developer Guide” heading, the callout under it, and the “Nix VM
Integration Tests” section introduced in #8339.
2026-02-16 23:00:04 +11:00
Mitchell Hashimoto 2aa773a23a
fix old lgtm 2026-02-15 06:53:31 -08:00
Mitchell Hashimoto bb679acbf7
add discussion template 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto f1145bbb4b
remove one screen vagueness 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto 00c33eaf72
update our guidelines, templates 2026-02-15 06:53:30 -08:00
Caleb Norton 1c023c6519 chore: nix typos and deprecations 2026-02-08 16:20:41 -06:00
Mitchell Hashimoto f00de7ee4b
Updated AI usage policy for contributions
Follow up to #8289

The rise of agentic programming has eliminated the natural effort-based
backpressure that previously limited low-effort contributions. It is 
now too easy to create large amounts of bad content with minimal effort.

Open source projects have always had poor quality issues, PRs, etc. That 
comes with the territory. Unfortunately, the ease and carelessness by which 
these are now manifested has increased the "bad" count by 10x if not more. 
It's ruining it for the rest of us. This policy is a result of the bad, and 
I'm sorry about it.

**Going forward, AI generated contributions will only be allowed for
accepted issues and maintainers.** Drive-by pull requests with AI generated 
content will be immediately closed. 

**Going further, users who contribute bad AI generated content will be
immediately banned from all future contributions.** This is a zero-tolerance 
policy. If you use AI, you are responsible for the quality of your 
contributions. If you're using low-effort AI to create low-effort content, 
I have no human obligation to help you. 

If you are a junior developer who is really trying to learn and get
better, then please put aside the AI, do your best, and I will still
help. I want to help. But I expect effort and organic thinking in return.

This is not an anti-AI stance. This is an anti-idiot stance. Ghostty is
written with plenty of AI assistance and many of our maintainers use
AI daily. We just want quality contributions, regardless of how they are
made.
2026-01-22 12:21:11 -08:00
Mitchell Hashimoto 4adc5ed850
Nix VM integration tests (#8339)
This adds a couple of Nix-based VM integration tests:

- Does `ghostty +version` run successfully?
- Can we create a new terminal window? (This is detected by setting the
background to a color that doesn't appear
normally on the desktop and seeing if we can detect that color in a
screenshot).

Obviously more can be done but I thought that these would be a couple of
good first steps.

The whole test suite can be run with `nix flake check`. Individual tests
can be run with a command like this:

```
nix run .#check.x86_64-linux.<test name>.driver
```
2025-12-15 09:47:32 -08:00
Leah Amelia Chen 315c8852a8
CONTRIBUTING: reorganize paragraphs 2025-12-12 18:59:22 +08:00
Leah Amelia Chen 8a1bb215c1
CONTRIBUTING: further clarifications 2025-12-12 18:56:24 +08:00
Leah Amelia Chen 5e049e1b3a
CONTRIBUTING: AI-assisted != AI-generated 2025-12-12 18:53:10 +08:00
Leah Amelia Chen 65539d0d54
CONTRIBUTING: limit AI assistance to code only
I think at this point all moderators and helpers can agree with me in
that LLM-generated responses are a blight upon this Earth.

Also probably worth putting in a clause against AI-generated assets
(cf. the Commit Goods situation)
2025-12-12 18:43:51 +08:00
Leah Amelia Chen c9655eefe5
CONTRIBUTING: clarify discussion categories & discord channels 2025-12-07 13:08:42 +08:00
Leah Amelia Chen 90ab794457
CONTRIBUTING: tighten AI assistance disclosure requirements 2025-12-07 13:00:06 +08:00
Jeffrey C. Ollie 516c416fa4
nix vm tests: fix ssh command 2025-11-20 08:30:09 -06:00
Jeffrey C. Ollie f9d6a6d56f
nix vm tests: update contributors documentation 2025-11-20 08:30:08 -06:00
Mitchell Hashimoto ee573ebd36
ai: add `gh-issue` command to help diagnose GitHub issues
This enables agents (namely Amp) to use `/gh-issue <number/url>` to 
begin diagnosing a GitHub issue, explaining the problem, and suggesting
a plan of action. This action explicitly prompts the AI to not write
code.

I've used this manually for months with good results, so now I'm
formalizing it in the repo for other contributors.

Example diagnosing #8523:

https://ampcode.com/threads/T-3e26e8cc-83d1-4e3c-9b5e-02d9111909a7
2025-09-04 13:56:50 -07:00
Leah Amelia Chen f91e6f1764
docs: better integrate CONTRIBUTING into the README 2025-08-29 06:14:41 +08:00
Leah Amelia Chen f802d33652
docs: divide content more evenly between CONTRIBUTING and HACKING
CONTRIBUTING should now solely be about the contribution *process*
while HACKING goes into the technical details
2025-08-29 06:14:41 +08:00
Mitchell Hashimoto f87213c2f6
build: add run-valgrind and test-valgrind steps
This adds two explicit `zig build` steps: `run-valgrind` and
`test-valgrind` to run the Ghostty exe or tests under Valgrind,
respectively.

This simplifies the manual Valgrind calls in a few ways:

1. It automatically sets the CPU to baseline, which is a frequent and
   requirement for Valgrind on newer CPUs, and generally safe.

2. It sets up the rather complicated set of flags to call Valgrind with,
   importantly setting up our suppressions.

3. It enables pairing it with the typical and comfortable workflow of
   specifying extra args (with `--`) or flags like `-Dtest-filter` for
   tests.
2025-08-20 11:43:48 -07:00
Jeffrey C. Ollie 6032732001
contributing: add some notes about running valgrind 2025-08-20 09:03:48 -05:00
Mitchell Hashimoto babe923c8c
AI tooling must be disclosed for contributions 2025-08-19 15:02:31 -07:00
Ahmed Harabi 87bb949a93 Fix typo in VM Acceptance Criteria ('The' → 'They') 2025-07-28 15:57:48 +00:00
Leah Amelia Chen 07b653bd71
contributing: link to po/README_CONTRIBUTORS.md 2025-03-14 08:46:06 +01:00
Leah Amelia Chen e8101c1136
contributing: fix link to Translator's Guide
For some reason it pointed to the Contributor's Guide instead...
2025-03-14 08:44:04 +01:00
Leah Amelia Chen 9360afd29f
gtk: add localization support, take 3
This is my third (!) attempt at implementing localization support.
By leveraging GTK builder to do most of the `gettext` calls, I
can avoid the whole mess about missing symbols on non-glibc platforms.

Added some documentation too for contributors and translators,
just for good measure.
2025-03-03 10:19:58 +01:00
Mitchell Hashimoto f70ba14abd
apprt/gtk: handle input methods that end preedit before commit
Fixes #5494

When ibus/fcitx is not running (the GTK "simple" input method is
active), the preedit end event triggers _before_ the commit event. For
both ibus/fcitx, the opposite is true. We were relying on this ordering.

This commit changes the GTK input handling to not rely on this ordering.
Instead, we encode our composing state into the boolean state of whether
a key event is pressed. This happens before ANY input method events are
triggered.

Tested dead key handling on: X11/Wayland, ibus/fcitx/none.
2025-02-03 09:24:29 -08:00
Jeffrey C. Ollie 423133bc3c
nix: document how to create custom vms 2025-01-15 11:56:19 -06:00
Jeffrey C. Ollie 268fc1a040
nix vm: simplify vm definition 2025-01-15 10:25:03 -06:00
Jeffrey C. Ollie 26f6b3ea82
fix typo 2025-01-15 10:25:03 -06:00
Jeffrey C. Ollie 6be0902c09
nix vm: add documentation, add Gnome/X11 VM 2025-01-15 10:25:02 -06:00
Mitchell Hashimoto e7ccc60ed5
CONTRIBUTING.md 2024-10-31 10:03:02 -07:00