Does anyone know where the official Arduino package_index.json file is maintained?
I have searched in the arduino/arduino-ide and arduino/arduino-cli GitHub repositories but couldn't find this file. This makes me curious about its update and maintenance mechanism. Is there a dedicated repository, or an internal process managed by the Arduino team to decide which third-party development boards can be included?
Understanding this mechanism might help understand from the source why ESP32 was added, and whether this is a long-term strategy.
I can't "confirm" this, but the "esp32" platform was added to the primary package index two years ago so this is well established.
Something to be aware of is that there is some delay before Arduino adds the entry for a new release of the "esp32" boards platform to the primary package index. For example, version 3.3.0 of the platform was released earlier today, and is available for installation when using the "Additional Boards Manager URL" provided by Espressif, but it is not available from the primary package index. However, the previous release 3.2.1 is available from the primary package index.
So if you prioritize simplicity, relying on the primary package index in your instructions is the best approach, but if you instead prioritize always making the state of the art platform available, then you should instead include instructions for adding the "Additional Boards Manager URL" to the Arduino IDE preferences.
Unfortunately it is not publicly available.
It is maintained via a dedicated system. There is no purpose in going into the details since this is not publicly visible anyway.
Yes, 3rd party packages for Arduino's partners are added to the primary package index. So this is handled via business agreements between the Arduino company and the 3rd party entity that maintains an Arduino package.
Thank you very much for your detailed and clear explanation!
The background information on the package_index.json maintenance mechanism is very helpful. Even though it's not public, understanding the mechanism behind it adds valuable transparency for us as community members.
Your advice regarding the tutorial is also valuable.