Status: Preparing for public release. This directory is not yet an independent, publication-ready public repository.
Job Search Workflow is intended to become a reusable framework that contains no personal data. It is designed to run career triage, document-generation standards and public job-source discovery workflows using data supplied by the user.
Quick Start
After the independent public repository is released, clone it:
git clone https://github.com/<owner>/<repo>.git cd <repo>Check the prerequisites first:
- Linux/macOS:
./scripts/setup.sh --check-only - Windows CMD:
scripts\setup.bat --check-only
- Linux/macOS:
Run the setup:
- Linux/macOS:
./scripts/setup.sh - Windows CMD:
scripts\setup.bat
- Linux/macOS:
When sample fixtures are available, replace the copies under
user_data/with your own verified information.
Read the Setup and Verification Guide for the detailed behavior contract, support matrix and troubleshooting steps.
For source discovery, see the Public Job Sources Quickstart, the Source Discovery Query Pack, and Source Discovery Operations.
Requirements
Required:
- Git
- Python 3.10+
- Node.js 18+
- npm
Optional:
pandoc- DOCX exportpdflatex- PDF exportmarkdownlint-cli2- local Markdown checksshellcheck- Bash static analysis
The setup scripts do not install missing system packages automatically and do not request administrator privileges.
Directory Structure
user_data/- local, user-specific career datainbox/jobs/- raw job-posting capturesruns/- disposable analysesoutputs/- cleaned, reusable outputsexports/- final application documentsmodes/- task-specific operating modes (job triage, source discovery, etc.)scripts/- setup and verification toolstests/- behavior testsdocs/- usage and operations guidesdocs/sources/- public-safe source discovery quickstart and example catalogdocs/runbooks/- repeatable operational procedurestools/browser-extension/-Job Search Workflow Capturebrowser extension sourcefixtures/- fictitious sample data to be added later
Browser Extension
The Job Search Workflow Capture browser extension captures job postings from
LinkedIn Jobs and exports them as Job Search Workflow Markdown/JSONL, CSV, or JSON. It can
also send postings to a local FastAPI capture server that writes directly to
inbox/jobs/ for unattended workflows.
- Install:
docs/runbooks/browser-extension-install.md - Capture server setup:
docs/runbooks/capture-server-setup.md - Integration contract:
docs/integration/job-search-workflow.md - Extension source:
tools/browser-extension/
Extension validation:
cd tools/browser-extension
npm install
npm test
npm run lint
node scripts/validate-manifest.js
Verification
From the public repository root on Linux or macOS:
bash -n scripts/setup.sh
shellcheck scripts/setup.sh
python3 -m unittest discover -s tests -v
markdownlint-cli2 "**/*.md"
./scripts/setup.sh
The GitHub Actions workflow runs the Linux static and behavior checks and a real Windows CMD smoke test as separate jobs. Windows support is not considered verified unless the Windows job passes.
Security and Privacy
- Content under
user_data/,inbox/jobs/,runs/,outputs/andexports/is excluded by.gitignore. .gitignorealone does not guarantee prevention of personal-data leaks.- Before public release, run deterministic PII and secret scans, perform a manual content review, verify licensing and confirm that the Git history is clean.
- This framework does not guarantee employment, interviews or offers.
See .github/workflows/clone-scan.yml for the CI definition.
Comments