YAMLResume v0.5: O Compilador de Currículos

Apresentando o YAMLResume v0.5, um compilador de currículos que traz o poder da análise estática para o teu currículo.

Estamos animados em anunciar o lançamento de YAMLResume v0.5, um marco significativo que transforma o YAMLResume de uma ferramenta simples num compilador de currículos completo. Esta versão introduz uma arquitetura robusta, poderosa validação de esquema e um CLI melhorado para tornar o teu processo de criação de currículos mais confiável, eficiente e livre de erros.

O Problema com a Escrita Manual de Currículos

Redigir um currículo é frequentemente um processo tedioso e propenso a erros. Ou estejas a usar um processador de texto ou uma linguagem de marcação simples, é fácil cometer erros:

  • Um erro de digitação num campo chave como degree ou fluency.
  • Um endereço de e-mail ou URL formatado incorretamente.
  • Formatos de data inconsistentes.
  • Esquecer um campo obrigatório para uma candidatura a emprego.

Estes pequenos erros podem levar a um ciclo frustrante de edição, geração e correção. O problema central é a falta de um sistema para impor estrutura e validar dados antes de ser gerado o documento final.

A Solução: Um Compilador de Currículos

Inspirado pelos compiladores de linguagens de programação, YAMLResume v0.5 introduz uma nova arquitetura de compilador que trata o ficheiro fonte do teu currículo (em YAML) como código. Este "código" é depois processado através de um pipeline para produzir um PDF profissional e polido.

Esta nova arquitetura define dois componentes centrais:

  1. Um formato de dados padrão para um currículo, juntamente com um esquema para validar os dados.
  2. Um compilador de referência que implementa o formato de dados e a validação de esquema.

Esta abordagem traz várias vantagens chave:

  • Separação de Preocupações: Focas-te únicamente no conteúdo do teu currículo. O compilador trata da apresentação—layout, tipografia e formato.
  • Detecção Precoce de Erros: O compilador valida o teu currículo contra um esquema predefinido, detectando erros instantaneamente com feedback claro e acionável.
  • Consistência e Confiabilidade: Ao impor uma estrutura padrão, o compilador garante que os dados do teu currículo são sempre consistentes e prontos para qualquer modelo.

Vê-lo em Ação

Por exemplo, considera o seguinte currículo com vários erros comuns:

invalid-resume.yml
# yaml-language-server: $schema=https://yamlresume.dev/schema.json
---
content:
  basics:
    name: Andy Dufresne
    headline: Headed for the Pacific
    phone: "(213) 555-9876"
    email: hi@pp
    url: https//ppresume.com/gallery
    summary: |
      - Computer Science major with strong foundation in data structures, algorithms, and software development
      - Pixel perfect full stack web developer, specialised in creating high-quality, visually appealing websites
      - Experiened in databases (SQL, NoSQL), familiar with server-side technologies (Node.js, Express, etc.)
      - Team player, with detail-oriented mindset and a keen eye for design and user experiences
  location:
    address: 123 Main Street
    region: California
    city: S
    country: United States
    postalCode: "95814"
  education:
    - institution: University of Southern California
      url: https://www.cs.usc.edu/
      degree: Bachelor
      area: Computer Engineering and Computer Science
      score: "3.8"
      startDate: Sep 1, 2016
      endDate:
      courses:
        - D
        - Programming Language Concepts
      summary: |
        - Developed proficiency in programming languages such as Java, C++, and Python
        - Gained hands-on experience in software development through various projects and assignments
        - Strong communication and teamwork skills acquired through group projects and presentations

layout:
  typography:
    fontSize: 13pt

Temos vários problemas:

  1. email: hi@pp - o formato é inválido
  2. url: https//ppresume.com/gallery - falta : na parte do protocolo
  3. city: S - demasiado curto, deve ter 2 caracteres ou mais, há alguma cidade no mundo cujo nome tenha apenas 1 caráter?
  4. - D - o primeiro curso é simplesmente demasiado curto, deve ter 2 caracteres ou mais
  5. fontSize: 13pt - deve ser 10pt, 11pt ou 12pt, 13pt é demasiado grande e faz pouco sentido no cenário de redação de currículos

Estes erros, que poderiam ter passado despercebidos anteriormente, agora são detectados instantaneamente. Podes executar yamlresume validate my-resume.yml ou simplesmente yamlresume build my-resume.yml. O YAMLResume reportará todos os problemas no amplamente adotado formato de erro estilo clang, permitindo-te corrigi-los antes de ser gerado o PDF final.

Saída do Comando Validate do YAMLResume

No Coração do Compilador: O Esquema

A pedra angular desta nova versão é o Esquema do YAMLResume. Fornecemos um esquema completo que define a estrutura e regras para cada pedaço de dados no teu currículo.

Usamos duas poderosas tecnologias para isto:

  • Zod: Para validação em tempo de execução dentro do compilador, proporcionando uma rede de segurança robusta e mensagens de erro detalhadas.
  • JSON Schema: Para integração com editores e IDEs. Ao adicionar uma única linha ao teu ficheiro YAML, desbloqueias autocompletar, documentação de propriedades em linha ao passar o cursor, e validação de formato em tempo real diretamente no teu editor.

Se tens um currículo criado antes da v0.5, ainda podes aproveitar a validação de esquema. Apenas adiciona a seguinte linha ao teu ficheiro de currículo e instala o Servidor de Linguagem YAML para o teu editor.

# yaml-language-server: $schema=https://yamlresume.dev/schema.json

Esta integração proporciona um conjunto de benefícios que melhoram drasticamente a experiência de escrita de currículos:

Autocompletar

Passa menos tempo a procurar nomes de campos. O teu editor sugerirá propriedades válidas enquanto escreves, garantindo que usas os campos corretos sempre.

Validação de Formato em Tempo Real

Deteta erros à medida que ocorrem. A validação de esquema fornece feedback instantâneo sobre tudo, desde erros de digitação simples até formatos de e-mail incorretos ou campos obrigatórios em falta.

Se falta uma chave obrigatória, o aviso é escalado para o seu objeto pai, facilitando a sua deteção e correção.

Documentação de Propriedades em Linha

Não mais adivinhar o que um campo faz. Passa o cursor sobre qualquer propriedade para obter documentação instantânea que explica o seu propósito, formato esperado e valores permitidos.

O CLI Melhorado

O CLI de yamlresume agora é mais poderoso do que nunca. O comando build executa todo o pipeline do compilador, desde validação até geração de PDF, enquanto o novo comando validate permite verificar o teu currículo sem construi-lo.

Demo do Compilador do YAMLResume

Este fluxo de trabalho sem interrupções transforma o teu processo de criação de currículos, tornando-o mais eficiente e confiável enquanto minimiza erros.

O Que Isto Significa Para Ti

Com YAMLResume v0.5, podes:

  • Escrever com Confiança: Saber que a estrutura do teu currículo é sólida e os teus dados são válidos.
  • Poupa Tempo: Detetar erros cedo e eliminar o tedioso ciclo de correção.
  • Manter a Flexibilidade: Trocar entre diferentes modelos de currículo sem esforço.
  • Desfrutar de Uma Melhor Experiência de Edição: Obter feedback em tempo real e autocompletar no teu editor favorito.

Convidamos-te a experimentar o poder e a simplicidade do novo compilador YAMLResume:

  • Instala ou atualiza para a última versão: npm install -g yamlresume@latest
  • Lê a nova Documentação do Compilador para aprender mais sobre a arquitetura e o esquema.
  • Junta-te à nossa comunidade no GitHub para fazer perguntas, reportar problemas ou contribuir.

Acreditamos que esta versão marca uma nova era para a criação de currículos, trazendo o poder e a confiabilidade dos compiladores para todos. Não podemos esperar para ver os incríveis currículos que irás construir!

E não te esqueças, podes experimentar o novo compilador com a nossa imagem Docker:

docker run --rm -v $(pwd):/home/yamlresume yamlresume/yamlresume new my-resume.yml
docker run --rm -v $(pwd):/home/yamlresume yamlresume/yamlresume build my-resume.yml

Written by

Xiao Hanyu

At

Wed Jul 16 2025