What Programming Languages Are Used in the ai-job-search Repository?

The ai-job-search repository primarily uses Python for automation tooling and TypeScript for job-scraping CLI agents.

The MadsLorentzen/ai-job-search codebase is a specialized toolkit designed to automate job searches using AI agents. Understanding what programming languages are used in the ai-job-search repository reveals a clean architectural separation: Python handles backend automation and CI utilities, while TypeScript powers the command-line interfaces that interact with job portals.

Python: Core Automation and Tooling

Python serves as the backbone for data processing, continuous integration utilities, and security automation. According to the source code, Python scripts in the tools/ directory manage critical pre-deployment checks and framework maintenance.

Key Python files include:

Python Security Guard Implementation

In tools/security_guards.py, the automation logic validates the environment before executing deployment pipelines:


# tools/security_guards.py (excerpt)

def main():
    # Perform basic security checks before CI runs

    check_secret_files()
    check_git_hooks()
    print("Security checks passed.")

This pattern demonstrates Python’s role in repository maintenance and PDF verification, salary lookup utilities, and other data processing workflows.

TypeScript: Job-Scraping CLI Agents

TypeScript dominates the .agents/skills/ directory, where it implements command-line interfaces for scraping specific job portals. These agents handle network requests, parse HTML responses, and provide structured CLI interactions.

Representative TypeScript entry points include:

TypeScript CLI Entry Point

The LinkedIn search agent in .agents/skills/linkedin-search/cli/src/cli.ts uses the Commander.js library to parse arguments and route commands:

// .agents/skills/linkedin-search/cli/src/cli.ts (excerpt)
import { Command } from 'commander';
import { search } from './commands/search';

const program = new Command();
program
  .name('linkedin')
  .description('Search LinkedIn job listings')
  .command('search')
  .argument('<query>', 'Search term')
  .action(search);

program.parse(process.argv);

This architecture allows each job portal to maintain its own TypeScript CLI agent while sharing common networking patterns.

Supporting File Types

While Python and TypeScript constitute the only programming languages for executable code, the repository contains supplementary files for documentation and configuration:

  • Markdown (.md) – Project documentation and README files
  • LaTeX (.tex) – Resume or CV templating
  • JSON (.json) – Configuration files and data schemas

These file types do not execute logic but support the runtime environment for the Python and TypeScript components.

Summary

  • Python handles automation tooling, CI scripts, and data processing tasks in the tools/ directory
  • TypeScript powers interactive CLI agents for job portal scraping in the .agents/skills/ directory
  • The repository follows a polyglot architecture that separates backend automation from user-facing interfaces
  • No other programming languages are used for executable code in the codebase

Frequently Asked Questions

Does the ai-job-search repository use JavaScript or TypeScript?

The repository uses TypeScript exclusively for executable frontend code. While TypeScript compiles to JavaScript, all source files in the .agents/skills/ directories are written in TypeScript with .ts extensions and import type-safe modules like commander.

What is the main purpose of the Python scripts in this repository?

The Python scripts handle automation tasks including security checks, framework version verification, and skill linting. Files like tools/security_guards.py run CI utilities that validate the environment before deployment, while other tools manage data processing workflows.

Are there any other programming languages besides Python and TypeScript?

No. The repository contains only Python and TypeScript for executable code. Other file types like Markdown, LaTeX, and JSON exist for documentation and configuration but are not programming languages used for runtime logic.

Where can I find the TypeScript CLI entry points?

The TypeScript CLI agents reside in .agents/skills/[portal-name]/cli/src/cli.ts files. Specific implementations exist for LinkedIn (linkedin-search), Jobnet (jobnet-search), and Jobbank (jobbank-search), each exposing portal-specific commands and arguments.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →