moonlighter-apply
The answering slice of moonlighter: it reads every question an application form asks and composes an answer for each one, curated from your profile — then renders the whole thing as one reviewable sheet. You read it, you paste it, you hit send. It never opens a browser, never touches the form, never submits.
- Form questions from the source — where the ATS publishes its form schema (Greenhouse, Recruitee),
prepare_applicationfetches the real questions, required flags and options straight from the API. - Any other form —
prepare_application_from_pastedoes the same from text you copy off the page yourself; works on any ATS, login walls included. - Curated, not invented — answers come from a filtered subset of your profile; anything the profile can't honestly answer is flagged as a gap for you, never improvised.
- Refuses over converts — an ambiguous field (a salary in the wrong currency, an unclear work-auth question) is returned for your review instead of silently guessed.
- Tracking built in — each sheet carries the application's tracking alias, so the reply lands back in your pipeline (see moonlighter-email).
Part of moonlighter
You rarely install this slice alone — moonlighter pins it together with its three siblings and wires everything into an MCP server for Claude (uvx moonlighter).
| Package | What it is |
|---|---|
| moonlighter | The whole pipeline as an MCP server — start here |
| moonlighter-core | Storage, config, profile, LLM client — the foundation |
| moonlighter-scan | Job discovery across six ATS platforms, plus LLM fit-scoring |
| moonlighter-apply | ← you are here — answer composition; you review, you submit |
| moonlighter-email | Employer-reply tracking via Gmail, matched back to each application |
License
AGPL-3.0-only. Contributions require signing the CLA.
Metadata
Release files for moonlighter-apply 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moonlighter_apply-0.1.4.tar.gz | 22.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moonlighter_apply-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.8 kB
Release files / moonlighter_apply-0.1.4.tar.gz
| Download URL | moonlighter_apply-0.1.4.tar.gz |
|---|---|
| Size | 22.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b534f4c3b55c53f0355a8bfeddd792196458689e8ae8f261595f1f5556e780b2
|
|
BLAKE2b-256 checksum How to use checksums |
b5e7329b130ea1b3d223dfb45785047bcd3ca962da56b8cb8416bd78c105f8ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / moonlighter_apply-0.1.4-py3-none-any.whl
| Download URL | moonlighter_apply-0.1.4-py3-none-any.whl |
|---|---|
| Size | 29.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce6f68250727a47c52c357edb0a30b4f52f7d284c0d20ebaec43a80ca5a48ccd
|
|
BLAKE2b-256 checksum How to use checksums |
94627c8cb23f29e8f615a741e837f4c075663dde88f31fc985d7d43a27a627ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|