JetBrains_intellij-platform.../plugin-template.md
2025-10-04 09:24:08 -07:00

4.5 KiB

Here is a tailored example of the IntelliJ Platform Plugin Template project setup, including a separate nanoswarm configuration fragment that respects your nanoswarm-separation requirement:


1. IntelliJ Plugin Project Setup (Template Base)

  • Create your plugin repo from JetBrains' official IntelliJ Platform Plugin Template on GitHub.
  • Set the JVM SDK to Java 17 or later.
  • Basic project files and structure auto-generated, including plugin.xml.

2. Separate .aananoswarm Configuration (Nanoswarm Separation)

Create a separated nanoswarm configuration file named nanoswarm-config.aananoswarm at the root (or resources):

[general]
name = My IntelliJ Plugin
version = 1.0.0
description = "An IntelliJ plugin with separated nanoswarm assistance"

[security]
quantum_safeguard = true
encryption = AES-256-GCM
auth_method = OAuth2

[compliance]
gdpr = enabled
soc2 = enabled

[nanoswarm]
enabled = false
description = "Nanoswarm assistance is disabled for plugin. Only swarmnet integrates nanoswarm components."

[logging]
log_path = logs/plugin.log
audit = true
  • This config explicitly disables direct nanoswarm integration except via swarmnet.
  • Nanoswarm is utilized only for build speed assistance (e.g., CI/CD helpers) without runtime inclusion in plugin code.

3. GitHub Actions Workflow with Nanoswarm Build Assistance

Create .github/workflows/build.yml:

name: Build and Publish Plugin

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          distribution: 'temurin'
          java-version: 17

      - name: Setup Nanoswarm Assistance
        run: |
          echo "Nanoswarm assistance for build:"
          # Commands to invoke nanoswarm build acceleration helpers
          # No integration with plugin runtime          
      
      - name: Build Plugin
        run: ./gradlew buildPlugin

      - name: Publish Plugin
        if: github.ref == 'refs/heads/main'
        run: ./gradlew publishPlugin
        env:
          IDEA_PLUGIN_SIGNING_CERTIFICATE_CHAIN: ${{ secrets.IDEA_PLUGIN_SIGNING_CERTIFICATE_CHAIN }}
          IDEA_PLUGIN_SIGNING_PRIVATE_KEY: ${{ secrets.IDEA_PLUGIN_SIGNING_PRIVATE_KEY }}
          IDEA_PLUGIN_SIGNING_PASSWORD: ${{ secrets.IDEA_PLUGIN_SIGNING_PASSWORD }}
  • Setup Nanoswarm Assistance step runs nanoswarm helpers for speeding CI builds only.
  • Plugin code remains free of nanoswarm runtime stuff; separation is enforced.

Summary

This setup keeps nanoswarm logic strictly isolated to build and CI environments, aligning with the nanoswarm-separation directive. Only the swarmnet component (not this plugin) incorporates nanoswarm at runtime. You get advanced security, compliance, and build acceleration without mixing nanoswarm into the plugin itself.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15