mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 00:26:26 +00:00
docs: document freehire-search in README and SETUP (#103)
The freehire-search CLI is typechecked in CI but was missing from install instructions, the file tree, and the country-agnostic portal overview. Co-authored-by: fooSynaptic <19420328+fooSynaptic@users.noreply.github.com>
This commit is contained in:
co-authored by
fooSynaptic
parent
779a33aa20
commit
6a1240648f
@@ -47,7 +47,7 @@ The framework encodes career guidance best practices, including structured evalu
|
||||
|
||||
- [Claude Code](https://claude.com/claude-code) (CLI)
|
||||
- Python 3.10+
|
||||
- [Bun](https://bun.sh) (for Danish job search CLI tools)
|
||||
- [Bun](https://bun.sh) (for job search CLI tools)
|
||||
- LaTeX distribution with `lualatex` and `xelatex`: [TeX Live](https://tug.org/texlive/), [MacTeX](https://tug.org/mactex/), [TinyTeX](https://yihui.org/tinytex/), or [MiKTeX](https://miktex.org/). The CV compiles with `lualatex` (pdflatex often fails on modern MiKTeX installs with `fontawesome5` font-expansion errors); the cover letter compiles with `xelatex` because `cover.cls` requires `fontspec`. If using a minimal TeX install such as TinyTeX or BasicTeX, install the extra packages listed in [SETUP.md](SETUP.md#minimal-tex-install-tinytexbasictex).
|
||||
- Optional: `pdftotext` from [poppler](https://poppler.freedesktop.org/) (macOS: `brew install poppler`, Debian/Ubuntu: `apt install poppler-utils`, Windows: `choco install poppler`) — used by `/apply`'s ATS parseability check on the compiled CV. If missing, the check degrades gracefully to a visual keyword review.
|
||||
|
||||
@@ -65,7 +65,7 @@ cd ai-job-search
|
||||
PowerShell:
|
||||
|
||||
```powershell
|
||||
$tools = @("jobbank-search", "jobdanmark-search", "jobindex-search", "jobnet-search", "linkedin-search")
|
||||
$tools = @("jobbank-search", "jobdanmark-search", "jobindex-search", "jobnet-search", "linkedin-search", "freehire-search")
|
||||
foreach ($tool in $tools) {
|
||||
Set-Location ".agents/skills/$tool/cli"
|
||||
bun install
|
||||
@@ -76,14 +76,12 @@ foreach ($tool in $tools) {
|
||||
Bash / zsh / Git Bash:
|
||||
|
||||
```bash
|
||||
cd .agents/skills/jobbank-search/cli && bun install && cd ../../../..
|
||||
cd .agents/skills/jobdanmark-search/cli && bun install && cd ../../../..
|
||||
cd .agents/skills/jobindex-search/cli && bun install && cd ../../../..
|
||||
cd .agents/skills/jobnet-search/cli && bun install && cd ../../../..
|
||||
cd .agents/skills/linkedin-search/cli && bun install && cd ../../../..
|
||||
for tool in jobbank-search jobdanmark-search jobindex-search jobnet-search linkedin-search freehire-search; do
|
||||
cd .agents/skills/$tool/cli && bun install && cd ../../../..
|
||||
done
|
||||
```
|
||||
|
||||
For `linkedin-search` the install is optional: it has zero runtime dependencies and runs with plain `bun`; `bun install` only pulls TypeScript dev types.
|
||||
For `linkedin-search` and `freehire-search` the install is optional: both have zero runtime dependencies and run with plain `bun`; `bun install` only pulls TypeScript dev types.
|
||||
|
||||
### 3. Set up your profile
|
||||
|
||||
@@ -165,7 +163,8 @@ ai-job-search/
|
||||
│ ├── jobdanmark-search/ # Jobdanmark.dk (Denmark)
|
||||
│ ├── jobindex-search/ # Jobindex.dk (Denmark)
|
||||
│ ├── jobnet-search/ # Jobnet.dk (Denmark, government portal)
|
||||
│ └── linkedin-search/ # LinkedIn public job listings (country-agnostic)
|
||||
│ ├── linkedin-search/ # LinkedIn public job listings (country-agnostic)
|
||||
│ └── freehire-search/ # freehire.dev tech job aggregator (multi-market, REST API)
|
||||
├── cv/
|
||||
│ └── main_example.tex # moderncv LaTeX template
|
||||
├── cover_letters/
|
||||
@@ -273,7 +272,10 @@ Give it your local job board's URL. The command investigates the portal (search-
|
||||
|
||||
Maintaining a fork adapted to your market or language? Add it to the [Community forks & adaptations](https://github.com/MadsLorentzen/ai-job-search/discussions/78) thread so others can find it.
|
||||
|
||||
For a **country-agnostic** starting point, the repo also includes **`linkedin-search`** — a job-search skill built on LinkedIn's public, unauthenticated `jobs-guest` endpoints. It is field-agnostic, has **zero runtime dependencies** (runs with just `bun`), and takes the search location as an explicit flag, so it works for any market out of the box (`-l "Berlin, Germany"`, `-l "Mumbai, Maharashtra, India"`, `-l "Remote"`, …). It is intended for **personal use only** — automated access is against LinkedIn's Terms of Service, so keep volume low. See `.agents/skills/linkedin-search/SKILL.md`.
|
||||
For **country-agnostic** starting points outside Denmark, the repo ships two portal skills alongside the Danish demos:
|
||||
|
||||
- **`linkedin-search`** — built on LinkedIn's public, unauthenticated `jobs-guest` endpoints. Field-agnostic, **zero runtime dependencies** (runs with just `bun`), and takes the search location as an explicit flag, so it works for any market out of the box (`-l "Berlin, Germany"`, `-l "Mumbai, Maharashtra, India"`, `-l "Remote"`, …). Intended for **personal use only** — automated access is against LinkedIn's Terms of Service, so keep volume low. See `.agents/skills/linkedin-search/SKILL.md`.
|
||||
- **`freehire-search`** — queries the [freehire.dev](https://freehire.dev) aggregator's public REST API (JSON, no API key). Tech-focused (software, data, engineering, DevOps, remote), multi-market via facet flags (`--region`, `--country`, `--remote`), and **zero runtime dependencies**. Unlike the HTML-scraping Danish portals, results come back structured (skills, seniority, category). The backend is MIT-licensed and [self-hostable](https://github.com/strelov1/freehire) — point `FREEHIRE_API_URL` at your own instance if you prefer. See `.agents/skills/freehire-search/SKILL.md`.
|
||||
|
||||
### Salary benchmarking
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ On Windows, `py --version` is often the most reliable check. If your system expo
|
||||
|
||||
### Bun (for job search tools)
|
||||
|
||||
The job portal CLIs (four Danish portals plus the country-agnostic LinkedIn tool) are written in TypeScript and run with Bun.
|
||||
The job portal CLIs (four Danish portals plus the country-agnostic `linkedin-search` and `freehire-search` tools) are written in TypeScript and run with Bun.
|
||||
|
||||
- macOS/Linux:
|
||||
|
||||
@@ -122,7 +122,7 @@ Run these from the repository root.
|
||||
- PowerShell:
|
||||
|
||||
```powershell
|
||||
$tools = @("jobbank-search", "jobdanmark-search", "jobindex-search", "jobnet-search", "linkedin-search")
|
||||
$tools = @("jobbank-search", "jobdanmark-search", "jobindex-search", "jobnet-search", "linkedin-search", "freehire-search")
|
||||
foreach ($tool in $tools) {
|
||||
Set-Location ".agents/skills/$tool/cli"
|
||||
bun install
|
||||
@@ -132,12 +132,12 @@ foreach ($tool in $tools) {
|
||||
|
||||
- Bash / zsh / Git Bash:
|
||||
```bash
|
||||
for tool in jobbank-search jobdanmark-search jobindex-search jobnet-search linkedin-search; do
|
||||
for tool in jobbank-search jobdanmark-search jobindex-search jobnet-search linkedin-search freehire-search; do
|
||||
cd .agents/skills/$tool/cli && bun install && cd ../../../..
|
||||
done
|
||||
```
|
||||
|
||||
For `linkedin-search` the install is optional: it has zero runtime dependencies and runs with plain `bun`; `bun install` only pulls TypeScript dev types.
|
||||
For `linkedin-search` and `freehire-search` the install is optional: both have zero runtime dependencies and run with plain `bun`; `bun install` only pulls TypeScript dev types.
|
||||
|
||||
If you're outside Denmark, you can generate an equivalent search skill for your local job board with `/add-portal` — it scaffolds the same CLI structure for any public portal and test-runs a live query before registering. See the "Job search tools" section in the README.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user