cursor-sdk auth.md: non-null assertion described as a runtime missing-variable check
Mantenedores costumam responder em até 1 dia
@lab1207 já está trabalhando nisso.
Desde 2/10/2026.
Avaliação
- Dificuldade
- 1/5
- Tempo estimado
- Menos de uma hora
- Facilidade para iniciantes
- 92/100
- Tipo de issue
- Documentação
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- typescript
- Domínio
- documentation
Direção de pesquisa
Abra cursor-sdk/skills/cursor-sdk/references/auth.md na linha referenciada e revise o parágrafo que descreve apiKey: process.env.CURSOR_API_KEY!. Compare-o com a verificação explícita de chave ausente mostrada algumas linhas abaixo. Atualize a explicação para distinguir corretamente a asserção em tempo de compilação do TypeScript da validação em tempo de execução e, em seguida, verifique se a documentação não afirma mais que ! verifica a variável de ambiente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Observed at commit 2eb7ed4613cfc8f098dfe464a23680ea44d84c5e: cursor-sdk/skills/cursor-sdk/references/auth.md line 45.
The text reads:
The non-null assertion (
!) is a readable way to say "fail loudly if the env var is missing" — otherwise the SDK will throw an auth error later and the stack trace won't point at the env var.
for the example apiKey: process.env.CURSOR_API_KEY!.
Problem
In TypeScript the postfix ! is a compile-time-only assertion; it is erased in emitted JavaScript and performs no runtime check. If CURSOR_API_KEY is unset, undefined is passed through and the failure appears later in the SDK, exactly the outcome the sentence says ! avoids.
Suggested fix
Reword to say that ! only silences the type error and does no check, and lead with the explicit check that is already shown a few lines below:
const apiKey = process.env.CURSOR_API_KEY;
if (!apiKey) {
console.error("Missing CURSOR_API_KEY. ...");
process.exit(1);
}
- Linguagem predominante
- TypeScript
- Estrelas
- 13.9k
- Forks
- 1.4k
- Merge médio
- 7h 2min
- PRs com merge (30d)
- 153
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de cursor/plugins
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 80/100
cursor/plugins#990 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
statechart: a relative TLA2TOOLS or JAVA path fails, because TLC runs in the snapshot folderTalvez já em andamento @Ehsan-hash assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
cursor/plugins#973 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de cursor/plugins
Issues semelhantes
-
bug ui-dashboard
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 91/100
caelestia-dots/caelestia#534 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
area: scripts bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
tdk-landscape/tdk-cli-core#2706 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
bobadilla-tech/biasmarket.com#402 ·
Mantenedores costumam responder em até 1 dia
-
bug good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
javvadivijayprasad/sel2pw#28 ·