Skip to content

Latest commit

 

History

History
194 lines (142 loc) · 8.55 KB

File metadata and controls

194 lines (142 loc) · 8.55 KB

ran — biblioteca de componentes web (ranui) e utilitários TypeScript (ranuts)

ran logo

Uma biblioteca de componentes web construída sobre custom elements nativos e independente de framework (ranui), e uma biblioteca de utilitários TypeScript preparada para tree-shaking (ranuts), com as ferramentas e a documentação bilíngue (inglês e chinês) que as acompanham.

license PRs welcome! Build Status Types Included forks stars

Funcionalidades • Pacotes • Início rápido • Documentação • Como contribuir


English | 中文 | 日本語 | Español | Português | 한국어 | Deutsch | فارسی

✨ Funcionalidades

  • 🎨 Bibliotecas de UI: componentes web
  • 🛠️ Bibliotecas de utilitários: utilitários em TypeScript
  • 🤖 Aprendizado de máquina: ferramentas básicas de ML e experimentos
  • 📱 Aplicações web: aplicação de chat IM (protótipo)
  • 🔧 Ferramentas de desenvolvimento: ferramentas de build e de depuração
  • 🌐 Web3: experimentos com contratos inteligentes
  • 🎯 Ferramentas visuais: experimentos de visualização de dados

📦 Pacotes

Este monorepo reúne vários pacotes experimentais:

Bibliotecas principais (fase alfa)

Pacote Versão Downloads Descrição
ranui ranui version npm-d biblioteca de componentes web
ranuts ranuts version npm-d biblioteca de utilitários

Projetos experimentais

Pacote Descrição
im Protótipo de aplicação de chat
visual Experimentos de visualização de dados
ranite Experimentos com ferramentas de build
debug Utilitários de depuração
image-process Experimentos de processamento de imagem
cpro Aprendizado e experimentos em C/C++
rust Aprendizado e experimentos em Rust

Quais deles a CI de fato verifica está declarado em packages/manifest.json, e esse arquivo é executável em vez de descritivo: bin/run-checks.mjs roda cada verificação nos pacotes que a declaram, então um pacote listado ali como verificado realmente é, e o que não é diz o porquê. pnpm run verify:packages falha quando surge em packages/ um diretório ausente do manifesto — nenhum pacote novo entra sem que alguém decida se ele é verificado.

🚀 Início rápido

Instalação

# Clonar o repositório
git clone https://github.com/chaxus/ran.git
cd ran

# Instalar as dependências
pnpm install

# Compilar todos os pacotes
pnpm build

Usar os pacotes principais

# Instalar o ranui (componentes web)
npm install ranui

# Instalar os utilitários
npm install ranuts

Desenvolvimento

# Subir o servidor de desenvolvimento
pnpm dev

# Rodar os testes
pnpm test

# Compilar um pacote específico
pnpm --filter ranui build

📚 Documentação

🤖 IA / Claude Code

O repositório traz um marketplace de plugins do Claude Code para que assistentes de IA leiam e usem as bibliotecas sem vasculhar o código-fonte. Adicione o marketplace e depois instale a biblioteca que você usa:

/plugin marketplace add chaxus/ran
/plugin install ranui@ran      # ranui — componentes web
/plugin install ranuts@ran     # ranuts — utilitários

Cada skill cobre o import map, um inventário, exemplos de uso e as convenções, e aponta para a referência da API que vai junto com o pacote. Os detalhes estão na seção de cada biblioteca: ranui e ranuts.

⚠️ Aviso importante

Este é um projeto de exploração técnica e aprendizado em fase inicial. A maior parte dos pacotes está em fase alfa ou é experimental.

Pontos principais:

  • 🚧 Desenvolvimento inicial: a maior parte das funcionalidades ainda está sendo feita
  • 🧪 Experimental: as APIs podem mudar com frequência
  • 📚 Foco no aprendizado: serve sobretudo para aprender e experimentar

🤝 Como contribuir

Toda contribuição é bem-vinda, seja de quem está aprendendo ou de quem já programa. Veja como ajudar:

  1. Faça um fork do repositório
  2. Crie um branch para a sua funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça o commit das suas mudanças (git commit -m 'Add amazing feature')
  4. Envie o branch (git push origin feature/amazing-feature)
  5. Abra um pull request

Diretrizes de desenvolvimento

  • Siga o estilo de código existente
  • Acrescente testes às funcionalidades novas sempre que der
  • Atualize a documentação quando for preciso
  • Tenha paciência com o que ainda é experimental

🌟 Por que código aberto?

Acredito na capacidade do código aberto de acelerar o aprendizado e a inovação. Ao longo do meu caminho como desenvolvedor, fui influenciado por incontáveis projetos abertos. Ao publicar este código experimental, espero:

  • Compartilhar o que aprendi com a comunidade
  • Permitir que outras pessoas aprendam com este código e experimentem
  • Estimular a colaboração e a troca de conhecimento
  • Criar um espaço para continuar aprendendo e melhorando

📊 Estatísticas do projeto

Contributors

📄 Licença

Este projeto é licenciado sob a licença MIT — veja os detalhes no arquivo LICENSE.


Feito com ❤️ pela comunidade Ran

Se o projeto te ajuda a aprender, deixe uma ⭐️