Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Cla-Code-Community/ats-forge

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gerador de Currículos ATS

Template — Gere currículos compatíveis com sistemas ATS nos formatos DOCX e Markdown a partir de um único arquivo JSON. Desenvolvido com TypeScript e Arquitetura Limpa (Clean Architecture).

Recursos

  • Gera currículos nos formatos .docx e .md para diferentes objetivos profissionais.
  • Extrai palavras-chave de uma descrição de vaga e as incorpora ao currículo.
  • Todos os seus dados pessoais ficam centralizados em um único arquivo resume.json (ignorado pelo Git — nunca é enviado ao repositório).
  • Toda a configuração dos perfis profissionais fica em arquivos JSON dentro da pasta config/, sem necessidade de alterar código TypeScript.
  • Arquitetura baseada em Clean Architecture: Domínio → Aplicação → Infraestrutura → Apresentação.

Início Rápido

# 1. Clone o repositório ou utilize este template
git clone https://github.com/your-user/ats-cv-generator.git
cd ats-cv-generator

# 2. Instale as dependências
npm install

# 3. Crie seu arquivo de currículo
cp resume.example.json resume.json
# ✏️ Edite o arquivo resume.json com seus dados reais

# 4. Gere todos os currículos (DOCX)
npm run generate -- --all

# 5. Os arquivos gerados estarão na pasta ./output/

Personalização

1. Seus dados pessoais → resume.json

Copie resume.example.json para resume.json e preencha todos os campos.

O arquivo resume.json é ignorado pelo Git, garantindo que seus dados pessoais nunca sejam enviados ao repositório.

2. Perfis profissionais → config/focuses.json

Cada chave representa um perfil profissional. Você pode adicionar, renomear ou remover perfis conforme desejar.

{
  "node_react": {
    "filename": "Curriculo_Node_React.docx",
    "title": "Engenheiro Full Stack Node.js"
  }
}

3. Resumos profissionais → config/profiles.json

Defina um resumo profissional para cada perfil. O texto pode ser escrito em primeira ou terceira pessoa.

{
  "node_react": "Engenheiro de Software especializado em..."
}

4. Competências → config/skills.json

As habilidades são organizadas por categoria e exibidas na ordem definida no arquivo.

{
  "node_react": {
    "Linguagens": ["TypeScript", "JavaScript"],
    "Backend": ["Node.js", "Express.js"]
  }
}

5. Regras de impacto → config/impact-rules.json

Relaciona empresas (com o mesmo nome utilizado em resume.json) a métricas baseadas em palavras-chave.

Quando uma atividade profissional contém alguma das palavras-chave definidas, o resultado correspondente é automaticamente acrescentado à descrição.

{
  "Acme Corp": [
    {
      "keywords": ["api", "rest"],
      "result": "Redução de 30% no tempo de resposta dos serviços"
    }
  ]
}

Utilização pela Linha de Comando (CLI)

# Gerar todos os perfis (DOCX)
npm run generate -- --all

# Gerar apenas um perfil
npm run generate -- --focus=node_react

# Gerar currículo personalizado a partir de uma descrição de vaga
npm run generate -- --focus=node_react --job=descricao-da-vaga.txt

# Gerar todos os currículos em Markdown
npm run generate -- --all --markdown

# Gerar todos os perfis utilizando uma descrição de vaga
npm run generate -- --all --job=descricao-da-vaga.txt

Opções disponíveis

Opção Descrição
--all Gera todos os perfis configurados
--focus=<id> Gera apenas um perfil específico
--job=<arquivo> Caminho para um arquivo .txt contendo a descrição da vaga para extração de palavras-chave
--markdown Gera arquivos .md em vez de .docx

Estrutura do Projeto

ats-cv-generator/
├── src/
│   ├── domain/                     # Regras de negócio (sem dependências externas)
│   │   ├── entities/
│   │   ├── interfaces/
│   │   └── services/
│   ├── application/                # Casos de uso
│   ├── infrastructure/             # Adaptadores externos
│   ├── presentation/               # Interface de linha de comando (CLI)
│   └── main.ts                     # Ponto de entrada
├── config/                         # Arquivos de configuração
│   ├── focuses.json
│   ├── profiles.json
│   ├── skills.json
│   └── impact-rules.json
├── resume.example.json             # Modelo de currículo
├── resume.json                     # Seus dados (ignorado pelo Git)
├── output/                         # Currículos gerados (ignorado pelo Git)
├── tsconfig.json
└── package.json

Arquitetura

        Argumentos CLI
              │
    ┌─────────▼──────────┐
    │ Apresentação (CLI) │
    └─────────┬──────────┘
              │
    ┌─────────▼──────────┐
    │     Aplicação      │
    └─────────┬──────────┘
              │
    ┌─────────▼──────────┐
    │      Domínio       │
    └─────────┬──────────┘
              │
    ┌─────────▼──────────┐
    │   Infraestrutura   │
    └────────────────────┘

A camada de Domínio possui zero dependências externas. Ela não depende de bibliotecas como fs, docx ou path, tornando as regras de negócio independentes e facilmente testáveis.


Compilação

# Compila o projeto para a pasta dist/
npm run build

# Executa a versão compilada
npm run generate:compiled -- --all

Licença

Este projeto está licenciado sob a Licença MIT.

About

Um projeto Nodejs que gera automaticamente currículos personalizados em Word, otimizados para sistemas ATS (Applicant Tracking System) como Greenhouse, Lever e Workday.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.