
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.
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`).
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.
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.
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
- 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
- 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/)
- 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
- 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
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.
| Source | Lignes | % du Total | Fichiers |
|---|---|---|---|
| JetBrains Template (unchanged) | 1,636 | 10.8% | 20 |
| Adapted from template | 652 | 4.3% | 6 |
| Original (Dev + Claude Code) | 12,921 | 84.9% | 86 |
| TOTAL | 15,209 | 100% | 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
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
- 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
- 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
- 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
- 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
- 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
- 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
Parcours associe
Experience professionnelle liee a cette realisation
Competences mobilisees
Competences techniques et humaines appliquees
Galerie d'images
Captures et visuels du projet

