Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,37 @@ on:
branches: ["main"]

jobs:
resume-parser-sidecar:
runs-on: ubuntu-latest
defaults:
run:
working-directory: resume-parser-sidecar

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install Tesseract
run: |
sudo apt-get update
sudo apt-get install -y tesseract-ocr

- name: Install sidecar dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e '.[dev]'

- name: Run sidecar tests
run: pytest tests -q

extension:
runs-on: ubuntu-latest
needs: resume-parser-sidecar
defaults:
run:
working-directory: careerflow
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,11 @@ careerflow/*.crx
careerflow/*.pem

docs/.DS_Store

resume-parser-sidecar/.venv/
resume-parser-sidecar/.pytest_cache/
resume-parser-sidecar/.mypy_cache/
resume-parser-sidecar/.ruff_cache/
resume-parser-sidecar/dist/
resume-parser-sidecar/*.egg-info/
resume-parser-sidecar/**/__pycache__/
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,14 @@ Website: [sir-ad.github.io/knight](https://sir-ad.github.io/knight/)

```bash
git clone git@github.com:sir-ad/knight.git
cd knight/resume-parser-sidecar
./scripts/setup-venv.sh
./scripts/run.sh
```

In another terminal:

```bash
cd knight/careerflow
npm install
npm run build
Expand Down Expand Up @@ -77,9 +85,17 @@ npm run build
npm run package
```

From [`resume-parser-sidecar`](./resume-parser-sidecar):

```bash
source .venv/bin/activate
pytest tests -q
```

## Release Artifacts

- CI verifies typecheck, tests, build, and packaged extension output
- CI also installs `tesseract-ocr` and runs the sidecar `pytest` suite
- Release workflow attaches the packaged Chrome extension zip to GitHub Releases
- Pages workflow deploys the docs site from [`docs`](./docs)

Expand All @@ -92,3 +108,4 @@ npm run package
- Confidential research docs are intentionally excluded from version control.
- Local tool settings in `.claude/` are also ignored.
- Product and implementation details for the extension live in [`careerflow/README.md`](./careerflow/README.md).
- Local parser service details live in [`resume-parser-sidecar/README.md`](./resume-parser-sidecar/README.md).
8 changes: 8 additions & 0 deletions careerflow/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,14 @@ npm run typecheck
npm test -- --runInBand
```

Sidecar validation:

```bash
cd ../resume-parser-sidecar
source .venv/bin/activate
pytest tests -q
```

## Load In Chrome

1. Run `npm run build`
Expand Down
4 changes: 3 additions & 1 deletion careerflow/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@
"https://generativelanguage.googleapis.com/*",
"https://openrouter.ai/*",
"http://localhost:11434/*",
"http://127.0.0.1:11434/*"
"http://127.0.0.1:11434/*",
"http://localhost:43118/*",
"http://127.0.0.1:43118/*"
],
"permissions": [
"storage",
Expand Down
Loading
Loading