commit - /dev/null
commit + edc0c44350371dc0b3e15d49841846c50800bf67
blob - /dev/null
blob + 0c3abb32d3d895c1ae2f491674e66390df9ca4df (mode 644)
--- /dev/null
+++ .gitignore
+build/
+.gradle/
+.idea/
+*.iml
+out/
+result
blob - /dev/null
blob + 3331a54576afea1cab7874e885875a2615ffe0db (mode 644)
--- /dev/null
+++ README.md
+# gotvcs-intellij
+
+Plugin de IntelliJ que integra [Game of Trees](https://gameoftrees.org/) (`got`)
+como proveedor de control de versiones nativo: detección de work trees `.got/`,
+estado de archivos en el panel de Commit, diffs, historial y commits desde la UI.
+
+## Estado actual
+
+Fase 1 + 2 del plan: esqueleto del plugin, detección de raíces `got` y estado
+de archivos (read-only) vía `got status`. Diff completo, commit/rollback,
+historial y update quedan para fases posteriores.
+
+## Build
+
+Requiere JDK 21 y Gradle, provistos por el `flake.nix` de este repo:
+
+```
+nix develop -c gradle buildPlugin
+```
+
+El ZIP resultante queda en `build/distributions/` y se instala manualmente en
+IntelliJ vía *Settings > Plugins > Install Plugin from Disk*.
+
+Compila contra una instalación local de IntelliJ Ultimate (ver `gradle.properties`,
+clave `ideLocalPath`) en vez de descargar un IDE, ya que un IntelliJ descargado
+por Gradle normalmente no ejecuta en NixOS sin `nix-ld`/FHS.
blob - /dev/null
blob + a92b719b88f2202e25972fea0e34acd7c6aad573 (mode 644)
--- /dev/null
+++ build.gradle.kts
+plugins {
+ id("java")
+ id("org.jetbrains.kotlin.jvm") version "2.4.10"
+ id("org.jetbrains.intellij.platform") version "2.18.1"
+}
+
+group = "dev.nezzontli"
+version = "0.1.0"
+
+repositories {
+ mavenCentral()
+ intellijPlatform {
+ defaultRepositories()
+ }
+}
+
+dependencies {
+ intellijPlatform {
+ local(providers.gradleProperty("ideLocalPath").get())
+ bundledPlugin("com.intellij.modules.vcs")
+ }
+}
+
+intellijPlatform {
+ pluginConfiguration {
+ ideaVersion {
+ sinceBuild = "261"
+ }
+
+ changeNotes = """
+ Fase 1 + 2: detección de work trees got y estado de archivos
+ (read-only) en el panel de Commit.
+ """.trimIndent()
+ }
+}
+
+tasks {
+ withType<JavaCompile> {
+ sourceCompatibility = "21"
+ targetCompatibility = "21"
+ }
+ withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
+ compilerOptions {
+ jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
+ }
+ }
+}
blob - /dev/null
blob + f8e71a911910a9c90ccc407775ebd6e10aab7fa6 (mode 644)
--- /dev/null
+++ flake.nix
+{
+ description = "Entorno de build para el plugin IntelliJ de Game of Trees (got)";
+
+ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+
+ outputs =
+ { self, nixpkgs }:
+ let
+ system = "x86_64-linux";
+ pkgs = import nixpkgs { inherit system; };
+ in
+ {
+ devShells.${system}.default = pkgs.mkShell {
+ packages = [
+ pkgs.jdk21
+ pkgs.gradle
+ ];
+
+ JAVA_HOME = "${pkgs.jdk21}/lib/openjdk";
+ };
+ };
+}
blob - /dev/null
blob + 58d4b84c91303c5da085316c31ba5fd096134687 (mode 644)
--- /dev/null
+++ gradle.properties
+# Ruta a la instalación local de IntelliJ Ultimate contra la que se compila
+# y desde la que se resuelven las clases de plataforma (VCS API, etc).
+# En NixOS esta ruta vive bajo /nix/store y cambia con cada actualización del
+# paquete `idea` en /nixdots — si `gradle buildPlugin` falla con un error de
+# "local IDE not found", resolver la ruta actual con:
+# readlink -f /etc/profiles/per-user/ale/bin/idea
+# y actualizar ideLocalPath más abajo.
+ideLocalPath=/nix/store/2j9cidng2j273q9p2xzn0mxj5hkh53fc-idea-2026.1.4/idea
+
+kotlin.stdlib.default.dependency=false
blob - /dev/null
blob + d777b5b47393868c2ec57ced3dd33fe33fb915b1 (mode 644)
--- /dev/null
+++ settings.gradle.kts
+rootProject.name = "gotvcs-intellij"