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.6
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.6.tar.gz | 42.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moonlighter_apply-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 96.9 kB
Release files / moonlighter_apply-0.1.6.tar.gz
| Download URL | moonlighter_apply-0.1.6.tar.gz |
|---|---|
| Size | 42.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad7b1a925f8327b8aad5769a00b1d617c289815e9f3379ad82c32f4a1f989038
|
|
BLAKE2b-256 checksum How to use checksums |
b8cdac4f08de329da9972795c132d9f45f64c69a72e10b5bfcea5630d17c0d3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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.6-py3-none-any.whl
| Download URL | moonlighter_apply-0.1.6-py3-none-any.whl |
|---|---|
| Size | 54.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c8a01ceaccb3a7991b1feab6a5da4263f343dfd8e0e050b14d094f14aa916b37
|
|
BLAKE2b-256 checksum How to use checksums |
478dcf8ef1eb19628261297f71f974fddfb66f05aed35085b75686e771dfcc7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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}
|