Contact
Travaillons ensemble
Atlassian Forge Developer - Plugin IDE Intelligent

Atlassian Forge Developer - Plugin IDE Intelligent

Un plugin WebStorm/JetBrains offrant autocompletion intelligente, validation temps reel et documentation integree pour le developpement Atlassian Forge - 83 scopes OAuth, 71 types d'evenements, 155+ templates de projets, entierement modelises en Kotlin.

Avril 2025 - Juillet 2025
~3 mois
Developpeur & Architecte 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

Lignes Kotlin

9,120

main + tests compiles

Fichiers Totaux

112

112 fichiers toutes categories

Scopes OAuth

83

Entierement modelises avec descriptions

Templates Forge

155+

Catalogues par produit & type d'UI

Presentation

Vue d'ensemble et contexte du projet

Atlassian Forge Developer est un plugin pour WebStorm (et les IDE JetBrains compatibles) qui fournit un support intelligent pour le developpement d'applications Atlassian Forge. Il offre de l'autocompletion contextuelle, de la coloration syntaxique avancee, de la validation en temps reel et des correctifs automatiques pour les fichiers `manifest.yml` - le fichier de configuration central de toute application Forge.

Le plugin s'adresse aux developpeurs qui construisent des applications cloud pour l'ecosysteme Atlassian (Jira, Confluence, Bitbucket, Compass, Jira Service Management) via la plateforme Forge. Avant ce plugin, les developpeurs editaient leurs fichiers manifest.yml sans aucune assistance de l'IDE : pas de suggestions, pas de validation, pas de documentation contextuelle. Chaque erreur ne se revelait qu'au moment du deploiement, entrainant des cycles de debug couteux.

Le plugin est exclusivement concu pour les applications Forge et ne supporte pas les applications Atlassian Connect (qui utilisent `atlassian-connect.json`).

Fonctionnalites Principales
Autocompletion YAML contextuelle basee sur la position dans l'arbre syntaxique - couvrant les proprietes des 5 produits Atlassian
Validation temps reel contre le schema officiel Forge - proprietes requises, types, patterns, valeurs deprecees
Correctifs en un clic - ajout de proprietes manquantes, mise a jour des runtimes deprecees, generation d'app ID ARI valides
Coloration syntaxique avancee - distinction visuelle par type d'element, configurable via Settings
Recherche integree de documentation Atlassian - filtrage par produit et type de contenu, copie Markdown pour outils IA
Gestion des variables d'environnement Forge - interface visuelle avec support multi-environnements et chiffrement
Assistant de creation de projets Forge - 155+ templates officiels par produit et type d'UI
Integration Forge CLI - commandes deploy, tunnel, install, lint directement depuis l'IDE
Detection Intelligente de Projet

Le plugin n'active ses fonctionnalites que lorsqu'il detecte un veritable projet Forge via un double critere : le `manifest.yml` contient un `app.id` commencant par `ari:cloud:ecosystem::` ET un `package.json` dans le meme repertoire contient au moins une dependance `@forge/`. Cela garantit que le plugin n'interfere pas avec d'autres fichiers YAML.

Atlassian Product Coverage

Objectifs, Contexte, Enjeux & Risques

Contexte strategique et defis identifies

Le plugin Atlassian Forge Developer a ete cree pour combler un manque critique : l'absence totale d'outillage IDE pour le format proprietaire manifest.yml utilise par Atlassian Forge.

Experience Developpeur

Premier choix

Support natif IDE pour le developpement Forge dans WebStorm

Reduction des erreurs

Pre-deploiement

La validation temps reel detecte les erreurs avant le deploiement

Couverture produits

5 produits

Jira, Confluence, Bitbucket, Compass, JSM + Rovo

Documentation

Integree

Documentation Atlassian consultable directement depuis l'IDE

Templates

155+

Templates officiels Forge accessibles via l'assistant de projet

Contexte

Le projet s'appuie sur le template officiel de JetBrains pour le developpement de plugins IntelliJ Platform. Le schema du manifest Forge est complexe et proprietaire : il couvre des centaines de proprietes reparties entre les modules de 5 produits Atlassian, 83 scopes OAuth 2.0, 71 types d'evenements et 155+ templates de projets. Ce schema a du etre entierement modelise en Kotlin pour alimenter l'autocompletion et la validation.

Enjeux

Productivite developpeur : chaque minute gagnee sur la configuration Forge se repercute sur des milliers de developpeurs dans l'ecosysteme Atlassian. Qualite du code : la detection d'erreurs avant deploiement evite des cycles de debug couteux sur la plateforme cloud. Positionnement strategique : etre le premier plugin IDE dedie a Forge donne un avantage concurrentiel significatif sur le JetBrains Marketplace.

Risques Identifies

Dependance au schema Atlassian

Le schema Forge evolue regulierement ; le plugin doit suivre les mises a jour sous peine de devenir obsolete

Compatibilite IDE

Supporter les versions 2024.2 a 2025.2 de WebStorm (builds 242-252) necessite des tests de compatibilite rigoureux

Complexite du PSI

La manipulation de l'arbre syntaxique (PSI) de l'IntelliJ Platform est techniquement exigeante et sujette a des regressions subtiles

Adoption marche

La version pre-release (0.1.0) peut limiter l'adoption initiale sur le Marketplace

Les Etapes - Ce que j'ai fait

Parcours d'implementation de l'initialisation a la stabilisation

Phase 1
Initialisation & Configuration
Avril 2025
  • Fork du template officiel JetBrains intellij-platform-plugin-template
  • Configuration du projet pour WebStorm (platformType = WS)
  • Mise en place du package app.addly.atlassian
  • Configuration des dependances : plugin YAML, kotlinx-serialization, SnakeYAML, Gson, Coroutines
  • Mise en place de 5 workflows CI/CD GitHub Actions
Phase 2
Developpement des Fonctionnalites Principales
Mai - Juin 2025
  • Modelisation complete du schema Forge dans ManifestSchema.kt (669 lignes)
  • Catalogue de 83 scopes OAuth 2.0 couvrant tous les produits Atlassian
  • Catalogue de 71 types d'evenements pour les triggers Forge
  • Autocompletion contextuelle (ManifestCompletionContributor, 370 lignes)
  • Validation temps reel (ManifestValidator, 620 lignes)
  • Inspections IDE avec correctifs automatiques (ManifestInspection, 341 lignes)
  • Coloration syntaxique avancee (ManifestSyntaxHighlighter, 250 lignes)
  • Detection intelligente de projets Forge (double critere ARI + @forge/)
Phase 3
Fonctionnalites Avancees
Juin - Juillet 2025
  • Panel de recherche documentation Atlassian integre via API Algolia
  • Documentation contextuelle au survol (tooltips sur les proprietes du manifest)
  • Gestionnaire visuel de variables d'environnement (multi-env, chiffrement, synchronisation)
  • Integration de l'execution du Forge CLI (deploy, tunnel, install, lint)
  • Assistant de creation de projets Forge couvrant 155+ templates officiels
  • Scripts de developpement : hot-reload, monitoring de logs, analyse d'erreurs
Phase 4
Tests & Stabilisation
Continu
  • 10 fichiers de tests : completion, validation (5 fichiers), highlighting, detection, setup, generation
  • Donnees de test : manifests valides et avec erreurs, package.json, fichiers XML
  • Configurations IDE : Run Plugin, Run Tests, Run Verifications
  • Analyse statique Qodana avec JDK 21
  • Rapports de couverture de code Kover
Progression du Projet
Taille des Composants (Lignes de Code)

Les Acteurs - Les Interactions

Modele de collaboration et ecosysteme des parties prenantes

Ce plugin a ete developpe en projet solo sous la marque Addly (https://addly.app), une entite dediee a la creation d'outils de productivite pour developpeurs. En tant que developpeur unique, j'ai gere l'integralite du cycle de vie produit : architecture, implementation, tests, CI/CD, documentation et preparation Marketplace.

Le developpement a ete assiste par Claude Code pour la generation de code et les sessions de pair-programming. Le workflow combinait mon expertise approfondie du domaine Atlassian Forge avec une implementation acceleree par IA - un modele ou l'humain fournit la vision, l'architecture et la connaissance du domaine tandis que l'IA assiste l'execution du code.

Repartition des Contributions (Lignes de Code)
File Distribution
Detail des Contributions
SourceLignes% du TotalFichiers
JetBrains Template (unchanged)1,63610.8%20
Adapted from template6524.3%6
Original (Dev + Claude Code)12,92184.9%86
TOTAL15,209100%112

Dependances Externes

Atlassian a fourni la plateforme Forge, la documentation et l'API de recherche Algolia. JetBrains a fourni l'IntelliJ Platform SDK, le template de plugin et l'infrastructure de distribution Marketplace. La communaute de developpeurs Forge represente la base d'utilisateurs cible.

Les Resultats

Livrables, metriques et evolution personnelle

Pour le Produit

Metriques du Code
Profondeur de Modelisation du Schema

Extensions Plugin

12

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

Workflows CI/CD

5

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

Icones & Visuels

19

7 icones SVG + 10 PNG readme + 2 SVG readme

Scripts Utilitaires

5

1 bash + 3 JS + 1 configuration JSON

Pour l'Entreprise (Addly)

Le plugin est un produit publiable sur le JetBrains Marketplace avec un pipeline de publication entierement automatise (signature + deploiement). Il fournit une couverture complete du schema Forge pour les 5 produits Atlassian Cloud. A ce jour, aucun concurrent direct n'existe sur le Marketplace JetBrains pour le support specifique d'Atlassian Forge.

Pour Moi - Ce que j'ai appris

Ce projet a approfondi mon expertise dans plusieurs domaines techniques et strategiques :

  • Patterns avances Kotlin - coroutines, serialisation, DSL, conventions IntelliJ Platform
  • Maitrise de l'IntelliJ Platform SDK - manipulation PSI, extension points, inspections, quick fixes, tool windows, completion contributors, syntax highlighters
  • Architecture de plugins IDE - gestion du cycle de vie, extension points, actions, listeners, gestion des types de fichiers
  • Le Developer Experience (DevEx) comme discipline - comprendre qu'un outil IDE economisant 5 minutes par jour par developpeur se justifie rapidement a l'echelle
  • Workflows de developpement assiste par IA - utilisation de Claude Code avec des specifications detaillees (CLAUDE.md) pour accelerer l'implementation tout en maintenant le controle architectural
  • Precision de la modelisation de domaine - les fichiers de schema (ManifestSchema, Scopes, EventTypes) representent la valeur fondamentale ; plus le modele est precis, plus le plugin est utile

Les Lendemains du Projet

Etat post-developpement et trajectoire future

Etat Immediat

Le plugin a atteint la version 0.1.0 avec toutes les fonctionnalites principales implementees. Le pipeline de publication sur le JetBrains Marketplace est entierement automatise via GitHub Actions : une GitHub Release declenche la signature, le packaging et le deploiement. La CI/CD comprend 5 workflows couvrant build, tests, analyse statique (Qodana), verification de compatibilite et release automatisee.

Evolution Prevue

La feuille de route immediate comprend : committer le code source initial dans git (actuellement non versionne), ameliorer la couverture de tests au-dela du ratio actuel de ~14.5%, internationaliser tous les messages UI (actuellement 8 proprietes i18n), et creer des scripts de mise a jour automatique du schema pour suivre les changements Atlassian Forge par programmation.

Etat Actuel & Contexte de la Serie

Le plugin est en developpement actif dans le cadre d'une serie plus large de plugins IDE JetBrains construits sous la marque Addly. Ce plugin particulier a ete choisi pour cette presentation car il demontre le mieux la profondeur technique et la completude produit realisables avec l'IntelliJ Platform SDK. Les autres plugins de la serie suivent des patterns similaires de modelisation de domaine approfondie combinee avec une integration IDE complete.

Mon Regard Critique

Retrospective honnete sur les reussites et les axes d'amelioration

Points Forts
  • Couverture fonctionnelle exhaustive : autocompletion, validation, highlighting, quick fixes, documentation integree, gestion de variables, creation de projets
  • Architecture propre et modulaire organisee par fonctionnalite (completion, validation, highlighting, search, forge), chaque module avec une responsabilite claire
  • Modelisation rigoureuse du schema : 83 scopes, 71 events, 155+ templates catalogues avec descriptions
  • Detection intelligente de projet par double critere evitant les faux positifs
  • CI/CD mature : 5 workflows GitHub Actions couvrant build, tests, analyse Qodana, verification de compatibilite et publication signee
  • Outillage de developpement : dev-webstorm.sh avec watch, monitoring, debug + analyseur de logs
Axes d'Amelioration
  • Absence de commits git : le depot est initialise mais aucun commit n'a ete effectue - pas d'historique, pas de rollback, pas de traceabilite
  • Version pre-release (0.1.0) : peut limiter l'adoption initiale sur le Marketplace
  • Couverture de tests limitee : ratio ~14.5% tests/code (1 157 lignes tests / 7 963 lignes main)
  • i18n minimaliste : seulement 8 proprietes de messages - beaucoup de textes probablement hardcodes en Kotlin
  • Documentation des scripts en francais : peut limiter les contributions internationales en cas d'open source

Enseignements Durables

  1. Le Developer Experience (DevEx) est un domaine a fort impact - un outil qui fait gagner 5 minutes par jour a chaque developpeur se justifie rapidement a l'echelle de l'ecosysteme Atlassian
  2. L'IntelliJ Platform est puissante mais exigeante - la manipulation du PSI, les extension points et les conventions de l'API necessitent un investissement d'apprentissage significatif mais permettent de construire des outils tres integres
  3. La modelisation du domaine est la valeur fondamentale - les fichiers de schema (ManifestSchema, Scopes, EventTypes) representent la valeur du plugin ; plus le modele est precis et complet, plus le plugin devient utile
  4. L'IA comme accelerateur de developpement - les specifications CLAUDE.md + workflow Claude Code demontrent comment l'IA peut assister le developpement de projets complexes, de l'implementation au debugging, tandis que l'humain maintient la vision et le controle architectural

Architecture & Diagrammes Techniques

Architecture du Plugin
Architecture du plugin Atlassian Forge Developer montrant les composants, le flux de donnees et l'integration des services externes
Pipeline CI/CD
Pipeline CI/CD GitHub Actions du developpement a la publication sur le JetBrains Marketplace
Detailed Architecture
Complete architecture showing IDE integration, plugin modules, and external services with lines of code per component

Parcours associe

Experience professionnelle liee a cette realisation

Competences mobilisees

Competences techniques et humaines appliquees

Galerie d'images

Captures et visuels du projet

Plugin JetBrains - Structure du projet et configuration du SDK
Structure du projet IntelliJ Platform avec modules SDK et organisation des sources Kotlin