Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/MadsLorentzen/ai-job-search
/ functions
Functions
204 in github.com/MadsLorentzen/ai-job-search
⨍
Functions
204
◇
Types & classes
42
↳
Endpoints
6
↓ 18 callers
Function
match_score
Compute a match score between 0 and 100 for ranking results.
salary_lookup.py:253
↓ 17 callers
Function
run_guards
(root: Path)
tests/test_security_guards.py:16
↓ 14 callers
Function
parse_sheet
Parse a single worksheet into a list of company entries and detected categories.
tools/convert_salary_excel.py:92
↓ 14 callers
Function
search_company
Search for a company by name. Returns matching entries sorted by relevance.
salary_lookup.py:263
↓ 10 callers
Function
_entry
(company, city="")
tests/test_salary_lookup.py:158
↓ 10 callers
Function
_make_data
(*entries)
tests/test_salary_lookup.py:154
↓ 10 callers
Method
assert_invalid_data
(self, data, expected_message)
tests/test_salary_lookup.py:177
↓ 6 callers
Function
detect_column_type
Detect whether a column header refers to count or index data.
tools/convert_salary_excel.py:83
↓ 6 callers
Function
verify_pdf
(pdf_path, expected_pages=None, min_chars=1, required_text=())
tools/verify_pdf.py:46
↓ 6 callers
Method
write_manifest
(self, data, path=None)
tests/test_security_guards.py:56
↓ 5 callers
Function
format_entry
Format a single company entry for display.
salary_lookup.py:292
↓ 5 callers
Function
run_linter
(root: Path)
tests/test_lint_skills.py:14
↓ 5 callers
Method
write_gitignore
(self, rules)
tests/test_security_guards.py:53
↓ 4 callers
Function
anglicize
Convert Danish/Nordic characters to anglicized equivalents.
salary_lookup.py:173
↓ 4 callers
Function
collect_validation_issues
Return (errors, warnings) for the salary data shape. errors -> hard problems that make lookups crash or emit wrong output (thes
salary_lookup.py:54
↓ 4 callers
Function
extract_core_words
Extract meaningful words from a company name, ignoring noise.
salary_lookup.py:181
↓ 4 callers
Function
normalize
Normalize string for robust fuzzy matching.
salary_lookup.py:164
↓ 4 callers
Method
write_settings
(self, allow)
tests/test_security_guards.py:50
↓ 4 callers
Method
write_settings
(self, data)
tests/test_lint_skills.py:54
↓ 3 callers
Method
_run_validate
(self, payload)
tests/test_salary_lookup.py:288
↓ 3 callers
Function
_sections
Split a command spec into {heading: body} by '##' headers. Splitting this way lets a fork's extra sections (e.g. this fork's '## Blocker logg
tests/test_rank_command.py:25
↓ 3 callers
Method
add_remote
(self, name: str, url: str)
tests/test_check_upstream_updates.py:51
↓ 3 callers
Function
header_matches
Return True when a header contains a meaningful pattern match. Patterns match whole tokens; any pattern also listed in ``COMPOUND_PATTERNS``
tools/convert_salary_excel.py:57
↓ 3 callers
Method
materialize_remote_ref
(self, name: str)
tests/test_check_upstream_updates.py:54
↓ 3 callers
Function
parse_page_count
(pdfinfo_output)
tools/verify_pdf.py:35
↓ 3 callers
Method
run_checker
(self, *args)
tests/test_check_upstream_updates.py:62
↓ 3 callers
Function
run_tool
(command)
tools/verify_pdf.py:15
↓ 3 callers
Function
validate_data
Validate the salary data shape before lookups use it. Preserves historical behavior: exits(1) on the first hard error with the same user-faci
salary_lookup.py:128
↓ 2 callers
Method
_local_refs
(self)
tests/test_readme_assets.py:18
↓ 2 callers
Function
fail_data_error
Exit with a user-facing salary data setup error.
salary_lookup.py:46
↓ 2 callers
Function
match_score_optimized
Compute a match score between 0 and 100 using precalculated query values.
salary_lookup.py:190
↓ 2 callers
Function
read_raw_data
Load and JSON-parse salary_data.json; exit with a helpful message if missing/invalid.
salary_lookup.py:140
↓ 2 callers
Function
rel
(path: Path)
tools/lint_skills.py:31
↓ 2 callers
Function
run_git
(args: list[str])
tools/check_framework_version.py:25
↓ 2 callers
Function
run_git
(args: list[str])
tools/check_upstream_updates.py:38
↓ 2 callers
Method
setUp
(self)
tests/test_check_upstream_updates.py:88
↓ 1 callers
Function
build_parser
()
tools/verify_pdf.py:71
↓ 1 callers
Function
check_command
(path: Path)
tools/lint_skills.py:73
↓ 1 callers
Function
check_gitignore
()
tools/security_guards.py:116
↓ 1 callers
Function
check_package_manifests
()
tools/security_guards.py:143
↓ 1 callers
Function
check_permissions
()
tools/security_guards.py:84
↓ 1 callers
Function
check_settings
()
tools/lint_skills.py:80
↓ 1 callers
Function
check_skill
(path: Path)
tools/lint_skills.py:35
↓ 1 callers
Function
get_base_commit
()
tools/check_framework_version.py:29
↓ 1 callers
Function
get_framework_version_from_text
(text: str)
tools/check_upstream_updates.py:46
↓ 1 callers
Function
get_remote_url
(remote_name: str)
tools/check_upstream_updates.py:42
↓ 1 callers
Function
has_non_trivial_changes
(file_path: Path, base_commit: str)
tools/check_framework_version.py:73
↓ 1 callers
Method
iter_rows
(self, min_row=1, max_row=None, values_only=False)
tests/test_convert_salary_excel.py:18
↓ 1 callers
Function
load_data
Load, parse, and validate salary_data.json for lookups.
salary_lookup.py:159
↓ 1 callers
Function
main
()
salary_lookup.py:377
↓ 1 callers
Function
main
()
tools/check_framework_version.py:110
↓ 1 callers
Function
main
(argv=None)
tools/verify_pdf.py:92
↓ 1 callers
Function
main
()
tools/check_upstream_updates.py:66
↓ 1 callers
Function
main
()
tools/lint_skills.py:98
↓ 1 callers
Function
main
()
tools/security_guards.py:176
↓ 1 callers
Function
main
()
tools/convert_salary_excel.py:244
↓ 1 callers
Function
normalize_text
(text)
tools/verify_pdf.py:42
↓ 1 callers
Function
parse_frontmatter
(path: Path)
tools/check_framework_version.py:55
↓ 1 callers
Function
parse_semver
(version_str: str)
tools/check_upstream_updates.py:59
↓ 1 callers
Function
print_validation_report
Print an actionable validation report. Returns the process exit code.
salary_lookup.py:355
↓ 1 callers
Function
strip_type_patterns
Remove count/index words from a header to derive a category name.
tools/convert_salary_excel.py:75
Method
__getitem__
(self, row_number)
tests/test_convert_salary_excel.py:26
Method
__init__
(self, rows)
tests/test_convert_salary_excel.py:15
Method
setUp
(self)
tests/test_verify_pdf.py:20
Method
setUp
(self)
tests/test_check_upstream_updates.py:32
Method
setUp
(self)
tests/test_check_upstream_updates.py:72
Method
setUp
(self)
tests/test_check_upstream_updates.py:103
Method
setUp
(self)
tests/test_security_guards.py:32
Method
setUp
(self)
tests/test_salary_lookup.py:367
Method
setUp
(self)
tests/test_lint_skills.py:23
Method
tearDown
(self)
tests/test_verify_pdf.py:25
Method
test_aa_variant_matches_aa
(self)
tests/test_salary_lookup.py:131
Method
test_accepts_expected_pages_and_text
(self, mock_run_tool)
tests/test_verify_pdf.py:29
Method
test_all_local_image_references_resolve
(self)
tests/test_readme_assets.py:27
Method
test_allowlisted_negations_pass
(self)
tests/test_security_guards.py:140
Method
test_anglicize_replaces_danish_chars
(self)
tests/test_salary_lookup.py:335
Method
test_anglicized_city_matches_danish_city
(self)
tests/test_salary_lookup.py:443
Method
test_anglicized_match_score
(self)
tests/test_salary_lookup.py:355
Method
test_benign_scripts_pass
(self)
tests/test_security_guards.py:186
Method
test_categories_must_be_object_when_provided
(self)
tests/test_salary_lookup.py:239
Method
test_city_filter_case_insensitive
(self)
tests/test_salary_lookup.py:438
Method
test_city_must_be_string_when_provided
(self)
tests/test_salary_lookup.py:233
Method
test_clean_tree_passes
(self)
tests/test_security_guards.py:61
Method
test_clone_of_template_falls_back_without_fork_warning
(self)
tests/test_check_upstream_updates.py:93
Method
test_command_file_exists
(self)
tests/test_html_report_command.py:28
Method
test_command_file_exists_with_lint_compliant_header
(self)
tests/test_rank_command.py:41
Method
test_command_file_exists_with_lint_compliant_header
(self)
tests/test_notion_sync_command.py:26
Method
test_command_file_is_non_empty
(self)
tests/test_html_report_command.py:40
Method
test_command_file_is_substantive
(self)
tests/test_notion_sync_command.py:34
Method
test_command_file_starts_with_correct_header
lint_skills.py rejects command files that don't start with '# /<name>'.
tests/test_html_report_command.py:31
Method
test_companies_must_be_list
(self)
tests/test_salary_lookup.py:196
Method
test_company_entry_must_be_object
(self)
tests/test_salary_lookup.py:224
Method
test_company_name_is_required
(self)
tests/test_salary_lookup.py:227
Method
test_company_name_must_not_be_blank
(self)
tests/test_salary_lookup.py:230
Method
test_completely_unrelated_names_return_zero
(self)
tests/test_salary_lookup.py:140
Method
test_compound_patterns_match_as_substring_but_others_do_not
(self)
tests/test_convert_salary_excel.py:52
Method
test_count_headers_still_match_common_labels
(self)
tests/test_convert_salary_excel.py:40
Method
test_count_inside_word_does_not_make_count_header
(self)
tests/test_convert_salary_excel.py:45
Method
test_danish_characters_roundtrip
(self)
tests/test_salary_lookup.py:134
Method
test_danish_compound_headers_still_match
(self)
tests/test_convert_salary_excel.py:49
next →
1–100 of 204, ranked by callers