Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

markdown

🎸 JimiBasic

JimiBasic é uma linguagem de programação moderna que une a simplicidade e legibilidade do clássico BASIC com o poder de desenvolvimento para a era dos agentes de IA. Inspirada pelo espírito criativo e inovador de Jimi Hendrix, a linguagem permite que você crie desde aplicações console rápidas até sistemas complexos com servidores web, integração com LLMs e orquestração de agentes.

🚀 Características Principais

  • Sintaxe Simples e Legível: Fácil de aprender, com comandos em português e suporte a tipos modernos.
  • Compilação para Código Nativo: Gera executáveis .exe para Windows (PE COFF) com alta performance via LLVM.
  • Multiplataforma: O compilador roda no Windows, com suporte planejado para Linux e macOS.
  • Programação Orientada a Agentes: Defina agentes com ferramentas, workflows e colaboração (inspirado no ADK da Google).
  • Integração com IA: Suporte nativo para DeepSeek, Gemini e OpenAI (chat, streaming, function calling).
  • Servidor Web Embutido: Crie APIs REST e sirva páginas HTML/JS com facilidade.
  • Gráficos 2D: Suporte a gráficos via SDL2 (modo texto e modo gráfico).
  • Moderno e Extensível: JSON, HTTP, SQL, WebSockets, Threads e muito mais.

🛠️ Exemplo Rápido

' Um simples servidor web com um agente de IA
AGENT MeuAssistente
    MODEL "deepseek-chat"
    INSTRUCTION "Você é um assistente útil."
    TOOL CalcularMedia
END AGENT

app = NEW HTTPSERVER()
app.POST "/api/chat", SUB (req, res)
    DIM agente AS AGENT
    agente = MeuAssistente()
    res.JSON {"resposta": agente.CHAT(req.BODY.mensagem)}
END SUB

app.LISTEN 3000
PRINT "Servidor rodando em http://localhost:3000"
📦 Instalação
Windows
Baixe o compilador mais recente.

Adicione o diretório bin ao seu PATH.

Compile seu primeiro programa:

bash
JimiBasic meu_programa.bas -o meu_programa.exe
Compilação a partir do código-fonte
bash
git clone https://github.com/seu-usuario/JimiBasic.git
cd JimiBasic
nmake -f Makefile.win
📚 Documentação
Acesse a documentação completa para guias, referência da API e exemplos.

Guia de Início Rápido

Guia da Linguagem

Referência da API

🤝 Como Contribuir
Adoramos contribuições! Leia nosso Guia de Contribuição para saber como ajudar.

Faça um fork do projeto.

Crie sua branch de feature (git checkout -b feature/nova-funcionalidade).

Commit suas mudanças (git commit -m 'Adiciona nova funcionalidade').

Push para a branch (git push origin feature/nova-funcionalidade).

Abra um Pull Request.

🧪 Status do Projeto
Área	Status
Lexer/Parser	✅ Concluído
Geração de Código (LLVM)	✅ Concluído (básico)
Runtime Básico (console)	✅ Concluído
JSON/HTTP/SQL	✅ Concluído
Agentes (AGENT, TOOL)	🚧 Em desenvolvimento
Servidor Web (HTTPSERVER)	✅ Concluído
Gráficos (SDL2)	✅ Concluído (básico)
Threads/Paralelismo	🚧 Em desenvolvimento
Documentação	🚧 Em andamento
📜 Licença
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.

🙏 Agradecimentos
LLVM Project - Pela infraestrutura de compilação.

Google ADK - Pela inspiração na arquitetura de agentes.

Comunidade BASIC - Por manter viva a paixão pela simplicidade.

text

---

## 📄 CONTRIBUTING.md

```markdown
# Guia de Contribuição para o JimiBasic

Obrigado por considerar contribuir para o JimiBasic! Este documento descreve as diretrizes para contribuir com o projeto.

## 📋 Código de Conduta

Ao participar deste projeto, você concorda em manter um ambiente respeitoso e acolhedor para todos.

## 🐛 Reportando Bugs

Use o [Issue Tracker](https://github.com/seu-usuario/JimiBasic/issues) para reportar bugs.
Inclua o máximo de informações possível:
- Versão do JimiBasic.
- Sistema operacional e versão.
- Código-fonte que reproduz o problema.
- Mensagem de erro completa (se houver).

## 💡 Sugerindo Melhorias

Abra uma issue com a tag `enhancement`. Descreva a melhoria e o benefício esperado.

## 🚀 Desenvolvendo

### Pré-requisitos
- Visual Studio 2022 (ou superior) com C++ tools.
- LLVM 18+ (bibliotecas e headers).
- CMake 3.20+ (opcional).

### Configurando o Ambiente
```bash
git clone https://github.com/seu-usuario/JimiBasic.git
cd JimiBasic
Compilando
bash
# Usando o Visual Studio
devenv JimiBasic.sln /Build Release

# Usando CMake (se disponível)
mkdir build && cd build
cmake .. -DLLVM_DIR=C:/caminho/para/llvm
cmake --build . --config Release
Testando
bash
# Compilar os testes
JimiBasic tests\test_lexer.bas -o test_lexer.exe
# Executar os testes
.\test_lexer.exe
🎯 Padrões de Código
C++: Siga o estilo do código existente (indentação de 4 espaços, nomes em CamelCase).

BASIC: Os exemplos devem ser claros e bem comentados.

Commit: Mensagens em português, no formato tipo: descrição curta (ex.: feat: adiciona comando MKDIR).

📝 Processo de Pull Request
Certifique-se de que seu código compila e os testes passam.

Atualize a documentação se necessário.

Envie um Pull Request para a branch main.

Aguarde a revisão.

Obrigado por ajudar a tornar o JimiBasic melhor! 🎸

text

---

## 📄 ROADMAP.md

```markdown
# Roteiro de Desenvolvimento do JimiBasic

Este documento descreve os planos futuros para o JimiBasic.

## 🎯 Versão 1.0 (Lançamento Inicial)

- [x] Compilador completo (Lexer, Parser, CodeGen com LLVM).
- [x] Runtime básico (console, arquivos, JSON).
- [x] Servidor HTTP e cliente HTTP.
- [x] Cliente LLM (DeepSeek, Gemini, OpenAI).
- [x] Suporte a SQL (SQLite).
- [x] Gráficos 2D com SDL2.
- [x] Comandos de sistema (`SHELL`, `MKDIR`, `RMDIR`, `KILL`, `RENAME`).

## 🚀 Versão 1.1 (Agentes e IA)

- [ ] Suporte completo a agentes (`AGENT`, `TOOL`, `WORKFLOW`).
- [ ] Modos de colaboração (`chat`, `task`, `single_turn`).
- [ ] Execução paralela (`PARALLEL`).
- [ ] Human-in-the-Loop (`CONFIRM`).
- [ ] Sessão persistente (`SESSION`).

## 🧩 Versão 1.2 (Paralelismo e Threads)

- [ ] Suporte a threads (`THREAD.START`, `THREAD.WAIT`).
- [ ] Mutexes e sincronização.
- [ ] Execução assíncrona (`AWAIT`, `PROMISE`).
- [ ] WebSockets (`WEBSOCKETSERVER`, `WEBSOCKETCLIENT`).

## 🖥️ Versão 2.0 (Interface Visual)

- [ ] Criação de janelas (TUI e GUI nativa).
- [ ] Sistema de eventos (clique, teclado, timer).
- [ ] Formulários visuais (`.frm`).
- [ ] Controles nativos (botões, caixas de texto, listas).

## 🔧 Melhorias Futuras

- [ ] Suporte a Linux/macOS.
- [ ] Depurador integrado.
- [ ] Geração de documentação automática.
- [ ] Gerenciador de pacotes (`jimi get`).
- [ ] Compilação para WebAssembly (WASM).

---

Acompanhe o progresso e contribua! 🎸

About

Jimi Basic é uma linguagem de programação moderna que une a simplicidade e legibilidade do clássico BASIC com o poder de desenvolvimento para a era dos agentes de IA. Inspirada pelo espírito criativo e inovador de Jimi Hendrix, a linguagem permite que você crie desde aplicações console rápidas até sistemas complexos com servidores web,

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors