npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ciaaccscript

v2.3.0

Published

CIAACCScript 2.3: linguagem comica, simples, visual, com IA, lint, autocomplete e formatter.

Readme

CIAACCScript 2.0

CIAACCScript 2.0 e uma linguagem interpretada em Node.js, inspirada por C e JavaScript, mas com uma identidade propria: palavras-chave comicas, foco em IA e agora suporte funcional a orientacao a objetos.

O arquivo padrao usa extensao .ciaacc.

Instalar

Via npm:

npm.cmd install -g ciaaccscript@latest
ciaacc install-vscode

Depois feche e abra o VS Code. Arquivos .ciaacc devem ganhar highlight, icone e botao de play.

Sem npm, dentro da pasta do projeto:

.\ciaacc.cmd .\examples\ciaacc-2-demo.ciaacc

Comandos uteis

ciaacc arquivo.ciaacc          # executa um arquivo
ciaacc lint arquivo.ciaacc     # checa sintaxe e estilo
ciaacc format arquivo.ciaacc   # formata o arquivo no lugar
ciaacc --repl                  # modo interativo
ciaacc --help                  # ajuda
ciaacc --docs                  # mostra onde esta este README
ciaacc --readme                # imprime este README
ciaacc --open-docs             # abre este README
ciaacc install-vscode          # instala a extensao local no VS Code
ciaacc uninstall-vscode        # remove a extensao local do VS Code

Lint, autocomplete e formatter

A extensao do VS Code inclui:

  • lint no painel Problems;
  • autocomplete de palavras-chave, tipos, funcoes nativas e bibliotecas;
  • snippets para paeTaComo, paezao, hermesFaca, nuQuidito, vmCaiu e janela.jogoDaVelha;
  • formatter via Format Document.

Atalhos uteis no VS Code:

Ctrl+Space              autocomplete
Shift+Alt+F             formatar documento
Ctrl+Shift+P > Format Document

Pela CLI:

ciaacc lint .\arquivo.ciaacc
ciaacc format .\arquivo.ciaacc

O lint acusa erros de sintaxe e tambem da dicas quando encontra palavras antigas como receita, fixo e rabiscar.

O formatter e inspirado no Prettier: ele ajusta indentacao e alguns espacos basicos, mas nao e o Prettier oficial.

As formas antigas tambem funcionam:

ciaacc --install-vscode
ciaacc --uninstall-vscode

Visual 2.0

Estas sao as declaracoes principais da linguagem:

| CIAACCScript 2.0 | Significado | | --- | --- | | cs | variavel mutavel, como let | | cs2 | constante, como const | | paeTaComo | declara funcao | | felizao | retorna valor de funcao | | paezao | declara classe | | hermesFaca | if | | claudeFaca | else | | aiDentro | while | | nuQuidito | for each | | aiFora | break | | vmCaiu | try | | arrumaAi | catch | | victorTostes | imprime no terminal | | ehprompt | converte para texto | | caioTomate | converte para numero | | token | true | | lol | false | | casalabs | null |

A sintaxe antiga (mutavel, fixo, receita, devolve, se, senao, para, enquanto, print, rabiscar) continua funcionando por compatibilidade, mas a cara oficial da 2.0 e a tabela acima.

Ola mundo

cs2 nome: texto = "CIAACCScript 2.0";
victorTostes("Ola, " + nome);

Variaveis e tipos

cs idade: inteiro = 19;
cs2 pi: decimal = 3.14;
cs2 ativo: logico = token;
cs2 desligado: logico = lol;
cs2 nada: vazio = casalabs;
cs2 frase: texto = "modo 2.0 ativado";

Tipos disponiveis:

  • inteiro
  • decimal
  • numero
  • texto
  • logico
  • vazio
  • lista
  • mapa
  • funcao
  • classe
  • qualquer

Funcoes

paeTaComo soma(a: inteiro, b: inteiro) -> inteiro {
  felizao a + b;
}

victorTostes(soma(2, 3));

Sem felizao, a funcao retorna casalabs.

Classes

Classes usam paezao. O metodo especial nascer funciona como construtor. Dentro dos metodos, use this para acessar o objeto.

paezao Pessoa {
  paeTaComo nascer(nome: texto) {
    this.nome = nome;
    this.pontos = 0;
  }

  paeTaComo ganhar() {
    this.pontos += 1;
  }

  paeTaComo apresentar() -> texto {
    felizao this.nome + " tem " + ehprompt(this.pontos) + " pontos";
  }
}

cs2 p: mapa = Pessoa("Brunno");
p.ganhar();
victorTostes(p.apresentar());

Objetos de classe sao mapas com metodos anexados, por isso o tipo recomendado para instancia e mapa.

Controle de fluxo

If/else

hermesFaca (idade >= 18) {
  victorTostes("passou");
} claudeFaca {
  victorTostes("volta depois");
}

While

cs i: inteiro = 0;

aiDentro (i < 3) {
  victorTostes(i);
  i += 1;
}

For each e break

nuQuidito (nome em ["Brunno", "Samuel", "Willian", "Gabriel"]) {
  hermesFaca (nome == "Willian") {
    aiFora;
  }

  victorTostes(nome);
}

Try/catch

vmCaiu {
  panico "deu ruim, mas com estilo";
} arrumaAi (erro) {
  victorTostes("erro capturado:", erro);
}

Estruturas de dados

Lista:

cs2 valores: lista = [10, 20, 30];
victorTostes(valores[0]);

Mapa:

cs robo: mapa = {
  nome: "MiniModelo",
  cafe: token,
  score: 0.91
};

robo.score += 0.05;
victorTostes(robo.nome, robo.score);

Operadores

+  -  *  /  %
==  !=  <  <=  >  >=
e  ou  nao  !
=  +=  -=  *=  /=

Biblioteca padrao

| Funcao | Uso | | --- | --- | | victorTostes(...) | imprime no terminal | | tamanho(valor) | tamanho de texto, lista ou mapa | | tipo(valor) | retorna o tipo CIAACC | | ehprompt(valor) | converte para texto | | caioTomate(valor) | converte para numero | | agora() | timestamp em milissegundos |

Aliases antigos:

  • print(...)
  • rabiscar(...)
  • texto(...)
  • numero(...)

Biblioteca de IA

A variavel global ai continua sendo o centro de IA da linguagem.

cs2 tokens: lista = ai.tokenizar("IA rapida e comica");
cs2 probs: lista = ai.softmax([2, 1, 0.2]);
cs2 classe: inteiro = ai.decidir(probs);
cs2 sim: decimal = ai.similaridade([1, 0, 1], [1, 1, 0]);

victorTostes(tokens);
victorTostes(probs);
victorTostes(classe);
victorTostes(sim);

Funcoes:

  • ai.tokenizar(texto)
  • ai.sigmoid(numero)
  • ai.softmax(lista)
  • ai.similaridade(lista, lista)
  • ai.decidir(listaOuMapa)

Biblioteca visual janela

CIAACCScript tambem tem uma biblioteca visual simples. Ela gera uma pagina HTML temporaria e abre no navegador padrao, funcionando como uma janela clicavel sem instalar dependencias extras.

Jogo da velha

paeTaComo main() {
  janela.jogoDaVelha({
    titulo: "CIAACC Velha",
    jogadorX: "Hermes",
    jogadorO: "Claude",
    pontosParaVencer: 5
  });
}

main();

Rodar:

ciaacc .\examples\jogo-da-velha.ciaacc

O jogo abre com tabuleiro clicavel, placar e reset automatico quando alguem chega a 5 pontos.

HTML simples

janela.abrirHtml("Minha janela", "<h1>Ola do CIAACC</h1>");

Exemplo 2.0

Rode:

ciaacc .\examples\ciaacc-2-demo.ciaacc

Ou dentro da pasta do projeto:

.\ciaacc.cmd .\examples\ciaacc-2-demo.ciaacc

VS Code

Depois de:

ciaacc install-vscode

Voce pode abrir qualquer pasta, criar teste.ciaacc e clicar no play no canto superior direito.

Se o VS Code nao reconhecer:

Ctrl+Shift+P
Developer: Reload Window

Se ainda aparecer Plain Text, clique no canto inferior direito e selecione CIAACCScript.

Publicar nova versao

Atualize a version em package.json, depois:

npm.cmd test
npm.cmd pack --dry-run
npm.cmd publish

Estrutura do projeto

CIAACCScript\
  bin\ciaacc.js
  src\ciaacc.js
  examples\
  tests\
  vscode-extension\
  ciaacc.cmd
  install-vscode.cmd
  install-vscode.ps1
  uninstall-vscode.cmd
  README.md

Limitacoes atuais

  • nao compila para codigo nativo;
  • nao tem imports;
  • nao tem heranca entre classes;
  • nao tem LSP/autocomplete inteligente;
  • a biblioteca ai e utilitaria, nao treina modelos reais.

Mesmo assim, CIAACCScript 2.0 ja executa funcoes, classes, objetos, listas, mapas, loops, try/catch, break, tipos simples e ferramentas de IA.