Contact
Vamos trabalhar juntos
Atlassian Forge Developer - Plugin IDE Inteligente

Atlassian Forge Developer - Plugin IDE Inteligente

Um plugin WebStorm/JetBrains oferecendo autocompletion inteligente, validacao em tempo real e documentacao integrada para desenvolvimento Atlassian Forge - 83 escopos OAuth, 71 tipos de eventos, 155+ templates de projetos, totalmente modelados em Kotlin.

Abril 2025 - Julho 2025
~3 meses
Desenvolvedor & Arquiteto Solo
Kotlin 2.1.20IntelliJ Platform SDK 2.5.0Gradle 8.13 (Kotlin DSL)Java 21SnakeYAML 2.2Kotlinx Serialization 1.6.0Gson 2.10.1Kotlinx Coroutines 1.7.3JUnit 4.13.2GitHub ActionsQodanaKover

Linhas Kotlin

9,120

main + testes compilados

Arquivos Totais

112

112 arquivos em todas as categorias

Escopos OAuth

83

Totalmente modelados com descricoes

Templates Forge

155+

Catalogados por produto & tipo de UI

Apresentacao

Visao geral e contexto do projeto

Atlassian Forge Developer e um plugin para WebStorm (e IDEs JetBrains compativeis) que fornece suporte inteligente para desenvolvimento de aplicacoes Atlassian Forge. Oferece autocompletion contextual, realce de sintaxe avancado, validacao em tempo real e correcoes automaticas para arquivos `manifest.yml` - o arquivo de configuracao central de toda aplicacao Forge.

O plugin e destinado a desenvolvedores que constroem aplicacoes cloud para o ecossistema Atlassian (Jira, Confluence, Bitbucket, Compass, Jira Service Management) via plataforma Forge. Antes deste plugin, desenvolvedores editavam seus arquivos manifest.yml sem nenhuma assistencia do IDE: sem sugestoes, sem validacao, sem documentacao contextual. Cada erro neste arquivo so era revelado no momento do deploy, causando ciclos de debug custosos.

O plugin e exclusivamente projetado para aplicacoes Forge e nao suporta aplicacoes Atlassian Connect (que usam `atlassian-connect.json`).

Funcionalidades Principais
Autocompletion YAML contextual baseada na posicao na arvore sintatica - cobrindo propriedades dos 5 produtos Atlassian
Validacao em tempo real contra o schema oficial Forge - propriedades obrigatorias, tipos, patterns, valores deprecados
Correcoes em um clique - adicionar propriedades faltantes, atualizar runtimes deprecados, gerar app IDs ARI validos
Realce de sintaxe avancado - distincao visual por tipo de elemento, configuravel via Settings
Busca integrada de documentacao Atlassian - filtragem por produto e tipo de conteudo, copia Markdown para ferramentas de IA
Gerenciamento de variaveis de ambiente Forge - interface visual com suporte multi-ambiente e criptografia
Assistente de criacao de projetos Forge - 155+ templates oficiais por produto e tipo de UI
Integracao Forge CLI - comandos deploy, tunnel, install, lint diretamente do IDE
Deteccao Inteligente de Projeto

O plugin so ativa suas funcionalidades quando detecta um projeto Forge genuino via criterio duplo: o `manifest.yml` contem um `app.id` comecando com `ari:cloud:ecosystem::` E um `package.json` no mesmo diretorio contem pelo menos uma dependencia `@forge/`. Isso garante que o plugin nunca interfira com outros arquivos YAML.

Atlassian Product Coverage

Objetivos, Contexto, Desafios & Riscos

Contexto estrategico e desafios identificados

O plugin Atlassian Forge Developer foi criado para preencher uma lacuna critica: a ausencia total de ferramentas IDE para o formato proprietario manifest.yml usado pelo Atlassian Forge.

Experiencia do Desenvolvedor

Primeira classe

Suporte nativo do IDE para desenvolvimento Forge no WebStorm

Reducao de Erros

Pre-deploy

Validacao em tempo real detecta erros antes do deploy

Cobertura de Produtos

5 produtos

Jira, Confluence, Bitbucket, Compass, JSM + Rovo

Documentacao

Integrada

Documentacao Atlassian pesquisavel diretamente do IDE

Templates

155+

Templates oficiais Forge acessiveis via assistente de projeto

Contexto

O projeto se baseia no template oficial da JetBrains para desenvolvimento de plugins IntelliJ Platform. O schema do manifest Forge e complexo e proprietario: cobre centenas de propriedades distribuidas entre modulos de 5 produtos Atlassian, 83 escopos OAuth 2.0, 71 tipos de eventos e 155+ templates de projetos. Todo este schema teve que ser modelado em Kotlin para alimentar o autocompletion e a validacao.

Desafios

Produtividade do desenvolvedor: cada minuto economizado na configuracao Forge impacta milhares de desenvolvedores no ecossistema Atlassian. Qualidade do codigo: deteccao de erros pre-deploy evita ciclos de debug custosos na plataforma cloud. Posicionamento estrategico: ser o primeiro plugin IDE dedicado ao Forge proporciona vantagem competitiva significativa no JetBrains Marketplace.

Riscos Identificados

Dependencia do schema Atlassian

O schema Forge evolui regularmente; o plugin deve acompanhar atualizacoes ou arrisca ficar obsoleto

Compatibilidade IDE

Suportar versoes 2024.2 a 2025.2 do WebStorm (builds 242-252) requer testes de compatibilidade rigorosos

Complexidade do PSI

Manipular a arvore sintatica (PSI) da IntelliJ Platform e tecnicamente exigente e propenso a regressoes sutis

Adocao do mercado

Versao pre-release (0.1.0) pode limitar a adocao inicial no Marketplace

As Etapas - O que Eu Fiz

Jornada de implementacao da inicializacao a estabilizacao

Fase 1
Inicializacao & Configuracao
Abril 2025
  • Fork do template oficial JetBrains intellij-platform-plugin-template
  • Configuracao do projeto para WebStorm (platformType = WS)
  • Estruturacao do pacote app.addly.atlassian
  • Configuracao de dependencias: plugin YAML, kotlinx-serialization, SnakeYAML, Gson, Coroutines
  • Configuracao de 5 workflows CI/CD GitHub Actions
Fase 2
Desenvolvimento das Funcionalidades Principais
Maio - Junho 2025
  • Modelagem completa do schema Forge em ManifestSchema.kt (669 linhas)
  • Catalogo de 83 escopos OAuth 2.0 cobrindo todos os produtos Atlassian
  • Catalogo de 71 tipos de eventos para triggers Forge
  • Autocompletion contextual (ManifestCompletionContributor, 370 linhas)
  • Validacao em tempo real (ManifestValidator, 620 linhas)
  • Inspecoes IDE com correcoes automaticas (ManifestInspection, 341 linhas)
  • Realce de sintaxe avancado (ManifestSyntaxHighlighter, 250 linhas)
  • Deteccao inteligente de projetos Forge (criterio duplo ARI + @forge/)
Fase 3
Funcionalidades Avancadas
Junho - Julho 2025
  • Painel de busca de documentacao Atlassian integrado via API Algolia
  • Documentacao contextual ao passar o mouse (tooltips nas propriedades do manifest)
  • Gerenciador visual de variaveis de ambiente (multi-env, criptografia, sincronizacao)
  • Integracao da execucao do Forge CLI (deploy, tunnel, install, lint)
  • Assistente de criacao de projetos Forge cobrindo 155+ templates oficiais
  • Scripts de desenvolvimento: hot-reload, monitoramento de logs, analise de erros
Fase 4
Testes & Estabilizacao
Continuo
  • 10 arquivos de teste: completion, validacao (5 arquivos), highlighting, deteccao, setup, geracao
  • Dados de teste: manifests validos e com erros, package.json, arquivos XML
  • Configuracoes IDE: Run Plugin, Run Tests, Run Verifications
  • Analise estatica Qodana com JDK 21
  • Relatorios de cobertura de codigo Kover
Progresso do Projeto
Tamanho dos Componentes (Linhas de Codigo)

Os Atores - As Interacoes

Modelo de colaboracao e ecossistema de partes interessadas

Este plugin foi desenvolvido como projeto solo sob a marca Addly (https://addly.app), uma empresa dedicada a criacao de ferramentas de produtividade para desenvolvedores. Como unico desenvolvedor, gerenciei todo o ciclo de vida do produto: arquitetura, implementacao, testes, CI/CD, documentacao e preparacao para o Marketplace.

O desenvolvimento foi assistido pelo Claude Code para geracao de codigo e sessoes de pair-programming. O workflow combinava minha expertise profunda no dominio Atlassian Forge com implementacao acelerada por IA - um modelo onde o humano fornece visao, arquitetura e conhecimento de dominio enquanto a IA assiste na execucao do codigo.

Distribuicao das Contribuicoes (Linhas de Codigo)
File Distribution
Detalhes das Contribuicoes
FonteLinhas% do TotalArquivos
JetBrains Template (unchanged)1,63610.8%20
Adapted from template6524.3%6
Original (Dev + Claude Code)12,92184.9%86
TOTAL15,209100%112

Dependencias Externas

Atlassian forneceu a plataforma Forge, documentacao e API de busca Algolia. JetBrains forneceu o IntelliJ Platform SDK, template de plugin e infraestrutura de distribuicao do Marketplace. A comunidade de desenvolvedores Forge representa a base de usuarios alvo.

Os Resultados

Entregas, metricas e crescimento pessoal

Para o Produto

Metricas do Codigo
Profundidade da Modelagem do Schema

Extensoes do Plugin

12

Completion, annotator, inspection, highlighter, tool windows, etc.

Workflows CI/CD

5

Build, release, UI tests, template cleanup, template verify

Icones & Visuais

19

7 icones SVG + 10 PNG readme + 2 SVG readme

Scripts Utilitarios

5

1 bash + 3 JS + 1 configuracao JSON

Para a Empresa (Addly)

O plugin e um produto publicavel no JetBrains Marketplace com pipeline de publicacao totalmente automatizado (assinatura + deploy). Fornece cobertura completa do schema Forge para os 5 produtos Atlassian Cloud. Ate o momento, nenhum concorrente direto existe no Marketplace JetBrains para suporte especifico ao Atlassian Forge.

Para Mim - O que Aprendi

Este projeto aprofundou minha expertise em diversas areas tecnicas e estrategicas:

  • Padroes avancados Kotlin - coroutines, serializacao, DSL, convencoes IntelliJ Platform
  • Dominio do IntelliJ Platform SDK - manipulacao PSI, extension points, inspecoes, quick fixes, tool windows, completion contributors, syntax highlighters
  • Arquitetura de plugins IDE - gestao de ciclo de vida, extension points, acoes, listeners, gestao de tipos de arquivo
  • Developer Experience (DevEx) como disciplina - entender que uma ferramenta IDE economizando 5 minutos por dia por desenvolvedor se justifica rapidamente em escala
  • Workflows de desenvolvimento assistido por IA - uso de Claude Code com especificacoes detalhadas (CLAUDE.md) para implementacao acelerada mantendo o controle arquitetural
  • Precisao na modelagem de dominio - os arquivos de schema (ManifestSchema, Scopes, EventTypes) representam o valor fundamental; quanto mais preciso o modelo, mais util o plugin

O Dia Seguinte do Projeto

Estado pos-desenvolvimento e trajetoria futura

Estado Imediato

O plugin atingiu a versao 0.1.0 com todas as funcionalidades principais implementadas. O pipeline de publicacao no JetBrains Marketplace e totalmente automatizado via GitHub Actions: uma GitHub Release aciona assinatura, empacotamento e deploy. O CI/CD inclui 5 workflows cobrindo build, testes, analise estatica (Qodana), verificacao de compatibilidade e release automatizado.

Evolucao Planejada

O roadmap imediato inclui: commitar o codigo fonte inicial no git (atualmente nao versionado), melhorar a cobertura de testes alem do ratio atual de ~14.5%, internacionalizar todas as mensagens de UI (atualmente 8 propriedades i18n) e criar scripts de atualizacao automatica do schema para acompanhar mudancas do Atlassian Forge programaticamente.

Estado Atual & Contexto da Serie

O plugin esta em desenvolvimento ativo como parte de uma serie mais ampla de plugins IDE JetBrains construidos sob a marca Addly. Este plugin particular foi escolhido para esta apresentacao porque melhor demonstra a profundidade tecnica e completude de produto alcancaveis com o IntelliJ Platform SDK. Outros plugins da serie seguem padroes similares de modelagem de dominio profunda combinada com integracao IDE completa.

Minha Visao Critica

Retrospectiva honesta sobre sucessos e areas de melhoria

Pontos Fortes
  • Cobertura funcional exaustiva: autocompletion, validacao, highlighting, quick fixes, documentacao integrada, gestao de variaveis, criacao de projetos
  • Arquitetura limpa e modular organizada por funcionalidade (completion, validacao, highlighting, search, forge), cada modulo com responsabilidade clara
  • Modelagem rigorosa do schema: 83 escopos, 71 eventos, 155+ templates catalogados com descricoes
  • Deteccao inteligente de projeto por criterio duplo evitando falsos positivos
  • CI/CD maduro: 5 workflows GitHub Actions cobrindo build, testes, analise Qodana, verificacao de compatibilidade e publicacao assinada
  • Ferramental de desenvolvimento: dev-webstorm.sh com watch, monitoramento, debug + analisador de logs
Areas de Melhoria
  • Sem commits git: o repositorio esta inicializado mas nenhum commit foi feito - sem historico, sem rollback, sem rastreabilidade
  • Versao pre-release (0.1.0): pode limitar adocao inicial no Marketplace
  • Cobertura de testes limitada: ratio ~14.5% testes/codigo (1.157 linhas testes / 7.963 linhas main)
  • i18n minimalista: apenas 8 propriedades de mensagens - muitos textos provavelmente hardcoded no codigo Kotlin
  • Documentacao dos scripts em frances: pode limitar contribuicoes internacionais em caso de open source

Licoes Duradouras

  1. Developer Experience (DevEx) e um dominio de alto impacto - uma ferramenta que economiza 5 minutos por dia por desenvolvedor se justifica rapidamente em escala no ecossistema Atlassian
  2. A IntelliJ Platform e poderosa mas exigente - manipulacao do PSI, extension points e convencoes da API requerem investimento significativo de aprendizado mas permitem construir ferramentas profundamente integradas
  3. A modelagem de dominio e o valor fundamental - os arquivos de schema (ManifestSchema, Scopes, EventTypes) representam o valor do plugin; quanto mais preciso e completo o modelo, mais util o plugin se torna
  4. IA como acelerador de desenvolvimento - as especificacoes CLAUDE.md + workflow Claude Code demonstram como IA pode assistir o desenvolvimento de projetos complexos, da implementacao ao debugging, enquanto o humano mantem a visao e controle arquitetural

Arquitetura & Diagramas Tecnicos

Arquitetura do Plugin
Arquitetura do plugin Atlassian Forge Developer mostrando componentes, fluxo de dados e integracao de servicos externos
Pipeline CI/CD
Pipeline CI/CD GitHub Actions do desenvolvimento a publicacao no JetBrains Marketplace
Detailed Architecture
Complete architecture showing IDE integration, plugin modules, and external services with lines of code per component

Trajetoria relacionada

Experiencia profissional ligada a esta realizacao

Competencias aplicadas

Competencias tecnicas e humanas aplicadas

Galeria de imagens

Capturas e visuais do projeto

Plugin JetBrains - Estrutura do projeto e configuracao do SDK
Estrutura do projeto IntelliJ Platform com modulos SDK e organizacao do codigo-fonte Kotlin