Tecnologia além do código.
Régys Borges da Silveira
Início / Acervo

Tag: Open Source

15 resultado(s)

Delphi Unit Backtrace: descubra quem usa uma unit e como ela chega ao DPR

Quem mantém um projeto Delphi grande conhece a pergunta: se eu alterar ou remover esta unit, quais partes da aplicação serão afetadas? Encontrar as referências diretas na cláusula uses ajuda, mas nem sempre mostra o caminho completo.

Ver resumo completo

Quem mantém um projeto Delphi grande conhece a pergunta: se eu alterar ou remover esta unit, quais partes da aplicação serão afetadas? Encontrar as referências diretas na cláusula uses ajuda, mas nem sempre mostra o caminho completo. Uma unit pode ser usada por outra, que é usada por uma terceira, até chegar ao arquivo principal do projeto.

Foi para tornar essa investigação mais prática que criei o Delphi Unit Backtrace. A primeira versão pública já está disponível no GitHub, com executáveis para Win32 e Win64. A ferramenta recebe um arquivo .dproj e o nome da unit, descobre o fonte correspondente e percorre as dependências no sentido inverso: da unit escolhida até seus consumidores e, quando existe essa ligação, até o DPR.

· Régys Borges da Silveira
Ler artigo →

Atropos: como otimizar automaticamente a cláusula uses no Delphi

Quem trabalha há bastante tempo com Delphi provavelmente já encontrou units com cláusulas uses enormes, formadas por dezenas de dependências que ninguém sabe ao certo se ainda são necessárias. Algumas foram adicionadas automaticamente pela IDE, outras eram utilizadas por trechos de código que já não existem e muitas permanecem na seção interface mesmo sendo necessárias apenas na implementação.

Ver resumo completo

Quem trabalha há bastante tempo com Delphi provavelmente já encontrou units com cláusulas uses enormes, formadas por dezenas de dependências que ninguém sabe ao certo se ainda são necessárias. Algumas foram adicionadas automaticamente pela IDE, outras eram utilizadas por trechos de código que já não existem e muitas permanecem na seção interface mesmo sendo necessárias apenas na implementação. Embora pareça um problema meramente estético, esse acúmulo pode aumentar o acoplamento entre as units, dificultar a manutenção e ampliar desnecessariamente o impacto de cada alteração realizada no projeto.

Remover essas dependências manualmente nem sempre é simples. Excluir uma unit da cláusula uses, compilar o projeto e repetir o processo até encontrar todas as dependências desnecessárias pode consumir muito tempo, principalmente em sistemas antigos ou de grande porte. Além disso, algumas units possuem efeitos colaterais durante a inicialização da aplicação e não podem ser removidas apenas porque seus símbolos não aparecem diretamente no código. É nesse cenário que o Atropos se apresenta como uma ferramenta interessante para a comunidade Delphi.

O Atropos é um projeto open source (github.com/ViniAbreu/Atropos) criado para analisar e otimizar automaticamente as cláusulas uses de projetos Delphi. A ferramenta identifica units aparentemente não utilizadas, verifica quais dependências podem ser transferidas da seção interface para a seção implementation e modifica os arquivos de código. Depois disso, ela tenta compilar o projeto para confirmar que as alterações continuam válidas. Se a compilação falhar, os arquivos modificados são restaurados automaticamente.

· Régys Borges da Silveira
Ler artigo →

RadIA 2.8.0: assistência semântica integrada ao editor Delphi

O RadIA 2.8.0 é uma release de integração fina com o editor Delphi.

Ver resumo completo

O RadIA 2.8.0 é uma release de integração fina com o editor Delphi.

Depois da versão 2.7.0 consolidar uma base funcional mais previsível, com criação de projetos por linguagem natural, navegação Code/Design, revisão por bloco e evidências reproduzíveis, a 2.8.0 avança em uma camada mais próxima do uso diário: o contexto semântico do editor.

Essa evolução é importante porque, na prática, a qualidade de uma resposta de IA dentro da IDE depende muito do contexto que ela recebe. Não basta saber que existe um projeto Delphi aberto. É preciso entender qual unit está ativa, qual símbolo está sob o cursor, quais imports estão disponíveis e quais declarações próximas ajudam a explicar a intenção do usuário.

Ao mesmo tempo, esse tipo de integração precisa ser cuidadoso. O editor Delphi já possui seu próprio CodeInsight e sua própria experiência nativa. O objetivo do RadIA 2.8.0 não é substituir isso, mas complementar o fluxo com uma camada observável, limitada e segura de contexto para a IA.

· Régys Borges da Silveira
Ler artigo →

RadIA 2.7.0: uma base funcional determinística para programar Delphi com IA dentro da IDE

O RadIA nasceu com uma proposta simples de explicar e difícil de executar bem: levar inteligência artificial para dentro do Delphi sem transformar a IDE em apenas mais uma janela de chat. A ideia sempre foi que a IA pudesse participar do fluxo real de desenvolvimento, com acesso controlado a contexto, projeto, editor, designer, build, testes, debugger e…

Ver resumo completo

O RadIA nasceu com uma proposta simples de explicar e difícil de executar bem: levar inteligência artificial para dentro do Delphi sem transformar a IDE em apenas mais uma janela de chat. A ideia sempre foi que a IA pudesse participar do fluxo real de desenvolvimento, com acesso controlado a contexto, projeto, editor, designer, build, testes, debugger e evidências.

A versão 2.7.0 é importante porque não tenta vender uma novidade isolada. Ela fecha uma baseline funcional determinística. Em outras palavras: pega capacidades que vinham amadurecendo nas versões anteriores e as consolida em um conjunto mais previsível, mais validado e mais fácil de demonstrar.

O foco desta release é clareza operacional. O RadIA precisa entender melhor a intenção do usuário, escolher o caminho certo dentro da IDE, pedir consentimento quando houver risco, executar ações reais e deixar evidências suficientes para que o desenvolvedor confie no resultado.

· Régys Borges da Silveira
Ler artigo →

RadIA 2.9.0: um agente que entende o ambiente Delphi e moderniza legado com segurança

O RadIA 2.9.0 representa uma mudança de escala na experiência de IA dentro do Delphi.

Ver resumo completo

O RadIA 2.9.0 representa uma mudança de escala na experiência de IA dentro do Delphi.

Na versão 2.8.0, o foco foi aproximar a IA do ponto real de trabalho. Ghost Text, ações contextuais e agente passaram a compartilhar informações como unit ativa, símbolo sob o cursor, imports e declarações próximas. Foi uma evolução fundamental: em vez de responder apenas com conhecimento genérico, o RadIA passou a compreender melhor o trecho que o desenvolvedor estava editando.

A 2.9.0 parte dessa base e avança para uma pergunta mais difícil: depois de entender o código atual, como um agente pode agir levando em conta as particularidades do Delphi?

Isso envolve muito mais do que conhecer a sintaxe de Object Pascal. Uma decisão correta pode depender da versão e da arquitetura da IDE, do framework VCL ou FMX, da plataforma de destino, dos packages, das bibliotecas presentes no projeto, do vínculo entre .pas e .dfm, das regras de ownership e até do histórico tecnológico de uma aplicação criada com BDE, ADO ou dbExpress.

É nesse espaço que a versão 2.9.0 trabalha. Ela transforma o RadIA em um agente mais consciente do ecossistema Delphi, com novas formas de observar, orientar, validar e modernizar um projeto sem abrir mão de consentimento, limites e evidências.

· Régys Borges da Silveira
Ler artigo →

RadIA 2.6.2: do chat com IA ao agente que cria, compila, depura e valida projetos Delphi

Desde o ultimo artigo, publicado na versao 2.3.0, o RadIA deixou de ser apenas uma plataforma com contexto compactado e avancou para uma experiencia agentiva mais completa dentro do Delphi. A sequencia 2.3.1 ate 2.6.2 trouxe rotas de execucao mais claras, ChatGPT Pro via Codex CLI, terminal de alta fidelidade, publicacao de skills para CLIs, criacao de projetos…

Ver resumo completo

Desde o ultimo artigo, publicado na versao 2.3.0, o RadIA deixou de ser apenas uma plataforma com contexto compactado e avancou para uma experiencia agentiva mais completa dentro do Delphi. A sequencia 2.3.1 ate 2.6.2 trouxe rotas de execucao mais claras, ChatGPT Pro via Codex CLI, terminal de alta fidelidade, publicacao de skills para CLIs, criacao de projetos por prompt, validacao com build, debugger e DUnitX, alem de correcoes importantes de usabilidade e instalacao.

No artigo da versao 2.3.0, o foco principal foi o RTK interno do RadIA: uma camada para reduzir o volume de resultados enviados ao modelo sem perder a evidencia original. Aquela entrega tratava um problema essencial para agentes de IA: contexto nao e infinito, e um runtime serio precisa saber o que deve lembrar, o que pode resumir e o que precisa preservar integralmente.

De la para ca, o RadIA evoluiu em outra direcao igualmente importante: transformar essa base agentiva em uma experiencia mais pratica, mais visivel e mais proxima do trabalho diario no Delphi.

Entre as versoes 2.3.1 e 2.6.2, o projeto avancou em cinco frentes:

O resultado e um RadIA menos dependente de explicacao previa. O usuario pode conversar, pedir uma acao, criar um projeto, aprovar um plano, ver a IDE trabalhar, acompanhar build, testes e debugger, e conferir a versao instalada nas proprias janelas.

· Régys Borges da Silveira
Ler artigo →

RadIA 2.3.0: como compactar o contexto da IA pode mudar a forma de programar no Delphi

Se você acompanha o RadIA, já sabe que a proposta do projeto não é colocar apenas mais uma janela de chat dentro do Delphi. O objetivo é permitir que a inteligência artificial participe de fluxos reais de desenvolvimento: inspecionar o projeto aberto, localizar símbolos, alterar arquivos, compilar, executar testes, analisar diffs e apresentar evidências verificáveis.

Ver resumo completo

Se você acompanha o RadIA, já sabe que a proposta do projeto não é colocar apenas mais uma janela de chat dentro do Delphi. O objetivo é permitir que a inteligência artificial participe de fluxos reais de desenvolvimento: inspecionar o projeto aberto, localizar símbolos, alterar arquivos, compilar, executar testes, analisar diffs e apresentar evidências verificáveis.

Esse tipo de experiência tem um desafio que normalmente aparece somente quando o agente começa a executar tarefas longas: o volume de contexto cresce muito rápido.

Uma compilação pode produzir centenas de hints. Uma suíte de testes pode repetir milhares de linhas de sucesso. Um diff pode ter centenas de kilobytes. Uma busca na base de conhecimento pode retornar trechos extensos. Se todo esse conteúdo continuar sendo reenviado integralmente ao modelo a cada nova decisão, a IA passa a gastar contexto, tempo e possivelmente dinheiro relendo informações que já foram processadas.

O RadIA 2.3.0 enfrenta esse problema com um RTK interno, escrito em Delphi e integrado diretamente ao Agent Runtime.

RTK, neste contexto, é uma camada de compactação de resultados de ferramentas. Em vez de entregar ao modelo todo o payload bruto em cada passo, o RadIA cria uma projeção menor, determinística e orientada às evidências que realmente importam. O resultado original não é apagado: ele permanece armazenado e pode ser recuperado por resumo ou por faixa sem executar a ferramenta novamente.

O efeito esperado é simples de explicar: menos ruído no contexto, mais espaço para raciocínio, menos repetição e maior capacidade de sustentar tarefas longas.

A versão 2.3.0 do RadIA reduz o volume de resultados reenviado aos modelos sem descartar a evidência original. Em dez execuções Release, o benchmark controlado mediu 96,71% de redução no corpus completo e 75,65% quando removemos o stress test de 1 MiB. Este artigo explica o que esses números realmente demonstram, o que eles não demonstram e por que tratar contexto como recurso pode ser uma evolução importante na programação assistida por IA.

Mas antes de falar em economia, precisamos responder à pergunta mais importante: os benchmarks são reais e confiáveis?

· Régys Borges da Silveira
Ler artigo →

RadIA 2.2.2: jornadas DEXT conversacionais, ajuda integrada e uma experiência de IA mais previsível no Delphi

O RadIA 2.2.2 transforma comandos de automação em jornadas guiadas que preservam o contexto, adiciona geração de servidores DEXT minimalistas ou com controllers e deixa a configuração de modelos, CLI e MCP muito mais clara.

Ver resumo completo

O RadIA 2.2.2 transforma comandos de automação em jornadas guiadas que preservam o contexto, adiciona geração de servidores DEXT minimalistas ou com controllers e deixa a configuração de modelos, CLI e MCP muito mais clara.

O RadIA é open source. Código-fonte, documentação, histórico e instruções de compilação estão no repositório oficial no GitHub.

Se você acompanha o desenvolvimento do RadIA, sabe que o nosso objetivo nunca foi criar apenas mais uma janela de chat dentro do Delphi. A proposta é usar inteligência artificial para executar fluxos reais de desenvolvimento: entender o projeto aberto, propor um plano, criar ou alterar arquivos, compilar, executar testes e apresentar evidências do resultado.

A versão 2.2.2 avança justamente nessa direção. Ela introduz jornadas conversacionais para criação de APIs DEXT, melhora a descoberta dos recursos do próprio plugin e resolve pontos importantes de previsibilidade na seleção de modelos, no limite de tokens e na configuração de CLI e MCP.

Em outras palavras: o RadIA ficou mais fácil de descobrir, mais claro de configurar e mais seguro de usar em tarefas longas.

· Régys Borges da Silveira
Ler artigo →

Boss4D 1.7.0: componentes, múltiplas versões do Delphi e uma cadeia de entrega verificável

Gerenciar dependências é apenas uma parte do trabalho em projetos Delphi. Quando o projeto utiliza componentes visuais, pacotes runtime e design-time, diferentes versões da IDE e pipelines de integração contínua, instalar uma biblioteca deixa de ser uma simples operação de download.

Ver resumo completo

Gerenciar dependências é apenas uma parte do trabalho em projetos Delphi. Quando o projeto utiliza componentes visuais, pacotes runtime e design-time, diferentes versões da IDE e pipelines de integração contínua, instalar uma biblioteca deixa de ser uma simples operação de download.

A versão 1.7.0 do Boss4D foi construída para enfrentar esse cenário completo. Ela amplia o gerenciador de dependências para cuidar também da compilação, instalação e recuperação de componentes, sem abandonar a compatibilidade com projetos BOSS nem o suporte ao Lazarus.

O resultado é uma versão especialmente importante para equipes que precisam reproduzir ambientes Delphi, automatizar builds e manter evidências sobre os pacotes utilizados.

· Régys Borges da Silveira
Ler artigo →

Boss4D 1.6.0: Registry v2, pacotes verificáveis e paridade real no Linux

https://github.com/regyssilveira/Boss4Delphi

Ver resumo completo

https://github.com/regyssilveira/Boss4Delphi

O Boss4D 1.6.0 aprofunda uma transformação iniciada nas versões anteriores:deixar de ser apenas uma ferramenta para clonar dependências Git e tornar-seuma plataforma completa de gerenciamento, distribuição e auditoria de pacotespara Delphi e Lazarus.

Se a versão 1.5.0 estabeleceu as fundações para pacotes imutáveis, conformidadee execução nativa com Free Pascal, a versão 1.6.0 conecta essas peças em fluxosde produção. O Registry ganhou um protocolo mais eficiente, os pacotes podemser instalados com verificação de integridade e proveniência, a CLI Linux passoua cobrir o trabalho cotidiano de um projeto e o processo de publicação recebeunovas garantias.

Neste artigo, veremos o que mudou, quais problemas essas capacidades resolvem ecomo começar a utilizá-las.

· Régys Borges da Silveira
Ler artigo →

AgentKit4D: O Kit de Qualidade Definitivo para Projetos Delphi na Era das IAs

O desenvolvimento de software com Delphi tem passado por uma evolução incrível nos últimos anos. Com compiladores modernos, suporte a multiplataforma e frameworks inovadores, a linguagem continua sendo a espinha dorsal de sistemas robustos em todo o mundo.

Ver resumo completo

O desenvolvimento de software com Delphi tem passado por uma evolução incrível nos últimos anos. Com compiladores modernos, suporte a multiplataforma e frameworks inovadores, a linguagem continua sendo a espinha dorsal de sistemas robustos em todo o mundo. E agora, estamos vivenciando uma nova revolução: o uso de assistentes de inteligência artificial (coding agents) no dia a dia da programação, como Cursor, GitHub Copilot, Claude e Gemini.

No entanto, essa ajuda tecnológica traz um desafio clássico para o ecossistema Delphi. As IAs, por mais inteligentes que sejam, nem sempre conhecem de forma nativa as particularidades do gerenciamento de memória do Delphi, a correta ordem de destruição de objetos, ou a sintaxe moderna do framework Dext. Como resultado, é comum que elas sugiram códigos propensos a memory leaks (vazamentos de memória) ou que violem as regras de análise estática.

É exatamente para solucionar essa lacuna que tenho o orgulho de apresentar o AgentKit4D (Delphi Agent Quality Kit). Um projeto desenvolvido para atuar como uma ponte de qualidade de código estrita, alinhando desenvolvedores humanos e assistentes de IA sob as melhores práticas da engenharia de software moderno.

· Régys Borges da Silveira
Ler artigo →

Boss4D – O Gerenciador de Pacotes Modernizado

Se você desenvolve em Delphi, com certeza já conhece ou ouviu falar do Boss, o gerenciador de dependências que revolucionou a forma como organizamos, instalamos e compartilhamos código na nossa comunidade. Hoje, tenho o enorme prazer de apresentar o Boss4D (Boss4Delphi), uma versão do Boss modernizada, robusta, altamente testada e alinhada com as melhores práticas de Engenharia de Software modernas e…

Ver resumo completo

Se você desenvolve em Delphi, com certeza já conhece ou ouviu falar do Boss, o gerenciador de dependências que revolucionou a forma como organizamos, instalamos e compartilhamos código na nossa comunidade. Hoje, tenho o enorme prazer de apresentar o Boss4D (Boss4Delphi), uma versão do Boss modernizada, robusta, altamente testada e alinhada com as melhores práticas de Engenharia de Software modernas e totalmente feito em Delphi e aberto, regyssilveira/Boss4Delphi.

Neste artigo vamos ver o que mudou e passar por todas as novidades que o projeto traz.

· Régys Borges da Silveira
Ler artigo →

TMS Smart Setup: O Gerenciador de Pacotes que Pode Transformar o Ecossistema Delphi

Durante décadas, a instalação de componentes e bibliotecas sempre foi uma das tarefas mais trabalhosas para desenvolvedores Delphi. Embora fornecedores como TMS Software, DevExpress, Fast Reports, ACBr e diversos projetos open source tenham evoluído seus mecanismos de distribuição, a realidade ainda envolve instaladores específicos, configurações manuais, ajustes em Library Path, compilação de pacotes e resolução de dependências.

Ver resumo completo

Durante décadas, a instalação de componentes e bibliotecas sempre foi uma das tarefas mais trabalhosas para desenvolvedores Delphi. Embora fornecedores como TMS Software, DevExpress, Fast Reports, ACBr e diversos projetos open source tenham evoluído seus mecanismos de distribuição, a realidade ainda envolve instaladores específicos, configurações manuais, ajustes em Library Path, compilação de pacotes e resolução de dependências.

Enquanto outras plataformas adotaram soluções modernas como npm, NuGet, Maven e pip, o ecossistema Delphi permaneceu dependente de abordagens tradicionais para gerenciamento de componentes.

Com o lançamento do projeto open source Smart Setup, a TMS Software propõe uma mudança significativa nesse cenário. Mais do que um simples instalador, o projeto surge como uma plataforma para automação de builds, gerenciamento de dependências e distribuição de bibliotecas Delphi, C++Builder e Lazarus/FPC.

A pergunta que surge é inevitável: Será que finalmente estamos diante de um verdadeiro gerenciador de pacotes para Delphi?

· Régys Borges da Silveira
Ler artigo →

Projetos Delphi inteiros gerados por IA: a revolução do RadIA v0.0.15

https://github.com/regyssilveira/RadIA-Plugin

Ver resumo completo

https://github.com/regyssilveira/RadIA-Plugin

Se você desenvolve em Delphi e acompanha a jornada do RadIA — o assistente de Inteligência Artificial de código aberto acoplado diretamente à barra lateral da IDE —, prepare-se para o maior salto de produtividade e refinamento de arquitetura que já entregamos.

Nas últimas versões (da v0.0.13 à v0.0.15), o RadIA deixou de ser apenas um integrador de chat para se consolidar como uma ferramenta de automação de código de ponta e um motor flexível de inteligência coletiva.

Neste artigo, vou guiar você pela nossa mais recente trilha de evolução tecnológica: desde a geração de projetos compiláveis em segundos até o sofisticado gerenciamento de prompts em duas camadas da nova versão v0.0.15.

· Régys Borges da Silveira
Ler artigo →

RadIA: Evolução Acelerada com GitHub Copilot Nativo, AWS Bedrock, Suporte Multi-IDE e Novas IAs!

https://github.com/regyssilveira/RadIA-Plugin

Ver resumo completo

https://github.com/regyssilveira/RadIA-Plugin

Se você acompanha o desenvolvimento do RadIA — o assistente de inteligência artificial open-source integrado diretamente à IDE do Delphi — sabe que o nosso objetivo é transformar a experiência de desenvolvimento Object Pascal. Desde o nosso último post, a base de código do RadIA passou por uma evolução fantástica.

Neste artigo, vou detalhar as principais novidades implementadas nas versões mais recentes, trazendo recursos avançados de conectividade corporativa, suporte a múltiplos ambientes, maior controle de prompts e novos provedores.

· Régys Borges da Silveira
Ler artigo →