Commit Graph

32 Commits

Author SHA1 Message Date
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