| Crates.io | jobshell |
| lib.rs | jobshell |
| version | 2.0.4 |
| created_at | 2024-12-13 05:02:16.977459+00 |
| updated_at | 2025-06-19 02:02:20.975253+00 |
| description | A CLI tool for job searching and scraping job boards |
| homepage | |
| repository | https://github.com/angelplusultra/job-shell |
| max_upload_size | |
| id | 1481901 |
| size | 796,582 |
JobShell offers software engineers a distraction-free, terminal-centric solution for managing their job search. Move beyond the noise of traditional platforms and gain control over your applications directly from your command line. Streamline your job hunt and focus on opportunities that matter to you.
CLI Mode
jobshell for a terminal-based menu. Scrape jobs from individual companies, view new postings, and manage your professional network from a single interface.Discord Integration Mode
jobshell --discord to run a continuous background scrape for all supported companies. It will periodically post new job updates to a specified Discord channel.|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Submit a Company Request by opening a GitHub issue.
Before running JobShell, ensure you have the following:
Detectable Chrome Binary:
JobShell uses browser automation to scrape job postings. You must have a working Chrome installation that can be detected by the underlying scraper.
apt, yum) or download from the official site.Desktop Environment (or Virtual Environment):
Headless scraping may still require a display server. If running on a server, use Xvfb or similar tools to simulate a desktop environment.
brew tap angelplusultra/jobshell
brew install jobshell
cargo install jobshell
Download a Binary from Releases:
Head to the Releases page and download the latest binary that matches your operating system.
Place the Binary in Your $PATH:
Move the binary to a directory that's included in your system’s $PATH. On most UNIX-like systems, this could be:
mv jobshell /usr/local/bin/
Set Executable Permissions:
Ensure the binary is executable:
chmod +x /usr/local/bin/jobshell
Bypass Apple Gatekeeper on macOS (If Necessary):
On macOS, you might need to bypass Gatekeeper’s security checks if the binary isn’t signed:
sudo xattr -r -d com.apple.quarantine /usr/local/bin/jobshell
If prompted by Gatekeeper, you can also open System Preferences > Security & Privacy and choose to "Open Anyway" for the jobshell binary.
Install Rust:
If not already installed on your system, Install Rust.
Clone the Repo:
Clone the repo to your system and cd into it
git clone https://github.com/angelplusultra/job-shell && cd job-shell
Create a Release Build:
Compile the JobShell binary for your platform
cargo build --release
Add the Binary to Your $PATH:
Move or copy the compiled binary to a directory on your $PATH.
An example:
mv ./target/release/jobshell /usr/bin/jobshell
jobshell --version
Basic Command:
Run JobShell in interactive CLI mode:
jobshell
What You Can Do in CLI Mode:
Scrape Individual Companies:
Choose a company from the menu and scrape the latest postings.
Manage Connections: Create and manage your personal connections at the supported companies
Scan for New Network Jobs:
If you’ve configured your connections, scan for new roles at companies where you have at least one connection.
View New Jobs Reports:
Open generated new jobs HTML reports for clearer insights
Bookmark Jobs:
Mark interesting opportunities for future reference.
Reach out to connections:
Once you discover a job that interests you and have a connection at the company, JobShell lets you craft a personalized message and open your contact’s LinkedIn profile in one go. Your message, along with the job link, is automatically copied to your clipboard, ready to paste and send.
jobshell --discord
When jobshell --discord is executed, a wizard will guide you through the setup process. This wizard collects the necessary information to configure the job-scraping process and ensures Discord notifications are set up correctly.
6Specify whether you want to scrape all supported companies or restrict scraping to:
Prompt Example:
Scan all companies? (otherwise only followed companies or companies where you have at least 1 connection) (yes/no)
Once all prompts all completed, JobShell begins scraping job postings at the specified hourly interval and new job postings will be sent to the provided Discord channel webhook.
What is Smart Criteria?
Smart Criteria is an optional feature powered by AI (ChatGPT) that allows you to filter newly detected jobs to match your personal preferences. Without Smart Criteria enabled, the Discord channel you set in Discord mode will receive notifications for every new job detected at a company—regardless of whether the role aligns with your search preferences or interests.
This may work well for community Discord servers where you want visibility into all job postings. However, for personal job searches, it can lead to unnecessary noise. Smart Criteria helps you focus on the jobs that matter to you by filtering out irrelevant roles.
How Does Smart Criteria Work?
Smart Criteria is simple to use. You provide plain-text instructions that tell the AI what kind of jobs you’re interested in. The AI then evaluates each job posting against your criteria and notifies you only about jobs that meet your preferences.
Example Smart Criteria:
I am interested in Software Engineer jobs based in Southern California or Remote, US.
How to Enable Smart Criteria
export OPENAI_KEY=your_api_key_here
Replace your_api_key_here with your actual API key.
Scan For New Jobs Across Network and Followed Companies will now only reveal new jobs that match your smart criteria
JobShell in Discord mode will only deploy notifications when new jobs match your smart criteria
To get the most out of JobShell, follow this workflow:
That’s it! You’re all set to simplify your job search with JobShell.