Charbon CLI is your ultimate Command Line Interface to streamline the job search and application process! 🎯 It provides powerful tools to automate and optimize your job-hunting workflow, so you can focus on landing your dream job! 💼✨
Charbon CLI supports a 10-batch stage FIFO queue style and a live one-to-one feature with the following commands:
- Description: Uses Google Custom Search JSON API to search for jobs on job boards.
- Current Support: Supports "Lever.co" (with plans to support other boards).
- Functionality:
- Associates search results with a tagged resume for use in the
charbon applycommand. - Allows specific keywords with the
--keywordsoption and filters by job boards using the--boardoption (default: "lever"). - Enables location-based filtering with the
--countryoption (default: "us"). - Stores jobs in a database and marks them with a status of "Discovered."
- Associates search results with a tagged resume for use in the
- Database Support: Supports multiple paradigms; currently uses an SQLite adapter (MVP).
- Description: Uses Puppeteer to scrape job descriptions and custom questions.
- Functionality:
- Processes job descriptions using OpenAI's GPT-4o API to extract structured JSON data.
- Stores extracted data in the database with a status of "Scraped."
- Description: Fetches all "Scraped" jobs for manual review.
- Functionality:
- Allows users to flag jobs as "Not Interested" or "Not Qualified."
- Marks suitable jobs as "Reviewed" to prepare for the next stage.
- Description: Fetches all "Reviewed" jobs and processes custom questions.
- Functionality:
- Uses OpenAI's GPT-4o API and a user-provided knowledge base to generate answers to custom questions.
- Stores these answers and updates the job status to "Prepared."
- Description: Automates the application process.
- Functionality:
- Uses Puppeteer to open a Chrome browser and auto-apply using the tagged resume and custom answers.
- Allows manual user review of answers with the option to regenerate responses.
- Marks jobs as "Applied" upon completion.
- Description: Consolidates all processes except
charbon search. - Functionality:
- Processes jobs one by one for fine-grained control.
This project is not yet published on npm and requires cloning or forking the repository to use. Users must manually set up the environment.
- A "data" folder containing:
db.sqlite(SQLite database file).knowledge.txt(knowledge base file).
- Google Custom Search JSON API key.
- OpenAI account with available credits.
- Clone the repository:
git clone https://github.com/TantelyRandriamazaoro/charbon-cli.git
- Navigate to the project directory:
cd charbon-cli - Install the dependencies:
npm install
- Set up the environment variables:
cp .env.template .env
- Edit the
.envfile with your API keys and other credentials. - build the project:
npm run build
- Link the project to your system:
npm link
- Run the CLI:
charbon --help
- Follow the instructions to use the CLI.
Run the following command for help:
charbon --help- Search for jobs:
charbon search "Software Engineer" --keywords "remote, full-time" --board "lever" --country "us"
- Scrape job details:
charbon scrape
- Review scraped jobs:
charbon review
- Prepare applications:
charbon prepare
- Apply to jobs:
charbon apply
- Use live mode for manual control:
charbon live
Charbon CLI is an MVP aimed at quickly delivering results rather than achieving perfection. Here's a roadmap for the next set of features:
-
Publish as a Global npm Package:
- Make Charbon CLI globally installable for easier access.
-
Add a GUI with Nuxt.js:
- Develop a user-friendly graphical interface for those who prefer a visual workflow.
-
Backend Development:
- Create a backend using Python or Nest.js.
- Implement user authentication and monetization features.
-
Configuration Management:
- Integrate Terraform for managing infrastructure configurations.
-
CI/CD Pipelines:
- Establish continuous integration and deployment pipelines for streamlined updates.
-
Containerization:
- Launch the front-end and back-end in containers for scalability and portability.
-
CLI Integration with Backend:
- Enable the CLI to be programmatically used as part of the backend application.
We welcome contributions! Please fork the repository and create a pull request. See the original README for detailed contribution steps.
Charbon CLI is licensed under the MIT License.
For demos or inquiries, contact me by email. Additional support can be obtained by opening an issue on GitHub.
Thanks to the open-source community and contributors for inspiration and support in building Charbon CLI.