droidsembly 0.0.0-stage → 0.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/LICENSE +21 -0
  2. package/README.it.md +184 -0
  3. package/README.md +184 -3
  4. package/bin/cubefarm.js +297 -0
  5. package/bin/distribution.d.ts +3 -0
  6. package/bin/distribution.js +48 -0
  7. package/dist/THIRD_PARTY_LICENSES.txt +2542 -0
  8. package/dist/assets/AccessibilitySettings-DSmFk9JC.js +30 -0
  9. package/dist/assets/AccessibilitySettings-HrzBDUTN.css +1 -0
  10. package/dist/assets/AppViewer-alNn4TBB.js +5 -0
  11. package/dist/assets/Balloon-UTs7npGo.js +1 -0
  12. package/dist/assets/Batched-BOgjreKO.js +45 -0
  13. package/dist/assets/Birds-BA2HM-AD.js +1 -0
  14. package/dist/assets/Blimp-CTykuz6B.js +1 -0
  15. package/dist/assets/BufferGeometryUtils-BsmWvcA2.js +1 -0
  16. package/dist/assets/Duck-DH63jUrP.js +1 -0
  17. package/dist/assets/Effects-CNyhhFkE.js +65 -0
  18. package/dist/assets/Fireworks-CJfDJOeb.js +33 -0
  19. package/dist/assets/Helicopter-CW_SP7xP.js +1 -0
  20. package/dist/assets/Hurricane-9WqZGyZg.js +33 -0
  21. package/dist/assets/Kaiju-SpSi_jBg.js +1 -0
  22. package/dist/assets/Meteors-DvjhLfbF.js +1 -0
  23. package/dist/assets/MissionConsole-BEP5CdC8.js +1 -0
  24. package/dist/assets/Office-BBnd6tyn.js +563 -0
  25. package/dist/assets/Office-DMOP02gg.css +1 -0
  26. package/dist/assets/PhotoPanel-DehErnsv.js +1 -0
  27. package/dist/assets/PhotoPanel-v4ANHBsO.css +1 -0
  28. package/dist/assets/PhotoScene-Ce-dzToM.js +115 -0
  29. package/dist/assets/Plane-0nfvzL_c.js +1 -0
  30. package/dist/assets/Pocket-CBoyL0ra.js +2 -0
  31. package/dist/assets/Rainbow-CdcWsmW8.js +28 -0
  32. package/dist/assets/Roof-mkMKniSZ.js +34 -0
  33. package/dist/assets/Shell-BmnZn4UL.js +13 -0
  34. package/dist/assets/Skywriting-06dZPAfg.js +1 -0
  35. package/dist/assets/TerminalView-BrP-ENHg.css +1 -0
  36. package/dist/assets/TerminalView-wlhSixSH.js +17 -0
  37. package/dist/assets/ToyWorld-Cuu9aW-K.js +1 -0
  38. package/dist/assets/Ufo-iHaoe5t1.js +1 -0
  39. package/dist/assets/Whale-DZg88zIX.js +1 -0
  40. package/dist/assets/all-CYErCTCA.js +11 -0
  41. package/dist/assets/billboardLayout-DSKGXPIM.js +1 -0
  42. package/dist/assets/bloomMarks-DariC6lY.js +4231 -0
  43. package/dist/assets/cheerRules-CZGSrxOB.js +1 -0
  44. package/dist/assets/cityLayout-7ckfe3wf.js +1 -0
  45. package/dist/assets/director-CrzFgnoP.js +1 -0
  46. package/dist/assets/dogState-DiOvoobI.js +1 -0
  47. package/dist/assets/doors-BHKj8tkO.js +1 -0
  48. package/dist/assets/gallery-ColCPQQE.js +1 -0
  49. package/dist/assets/gate-BplJKcLG.js +2 -0
  50. package/dist/assets/index-B6qvKFYN.js +10 -0
  51. package/dist/assets/index-COpmc42S.css +1 -0
  52. package/dist/assets/instantReplay-DGiLgvkQ.js +1 -0
  53. package/dist/assets/interact-0qw7BGhL.js +1 -0
  54. package/dist/assets/jsx-runtime-BFUkm7bt.js +1 -0
  55. package/dist/assets/jukeboxSongs-CjbAzAeb.js +1 -0
  56. package/dist/assets/kit-C6ByUQ-Y.js +2 -0
  57. package/dist/assets/mic-B316hcCe.js +1 -0
  58. package/dist/assets/news-CrPol-gz.js +1 -0
  59. package/dist/assets/paint.worker-D95XJ3xX.js +1 -0
  60. package/dist/assets/photoMode-CYxQfgUF.js +1 -0
  61. package/dist/assets/pipeline-BOTOZ69L.js +1215 -0
  62. package/dist/assets/rapier-CXAOW8OC.js +1 -0
  63. package/dist/assets/rig-wAyl3G1G.js +1 -0
  64. package/dist/assets/speechLanguage-BtfdhZNI.js +1 -0
  65. package/dist/assets/store-FA83kfnc.js +5 -0
  66. package/dist/assets/useDayTime-0XsqM14Q.js +1 -0
  67. package/dist/assets/useGraphics-Cif18p7Q.js +1 -0
  68. package/dist/assets/voiceMessages-DtNmUazr.js +1 -0
  69. package/dist/assets/weatherState-ExG1doW-.js +1 -0
  70. package/dist/icons/Sora-OFL.txt +93 -0
  71. package/dist/icons/apple-touch-icon.png +0 -0
  72. package/dist/icons/badge-96.png +0 -0
  73. package/dist/icons/badge.svg +1 -0
  74. package/dist/icons/droid-antenna.svg +29 -0
  75. package/dist/icons/droid-eyes.svg +29 -0
  76. package/dist/icons/droid-shell.svg +29 -0
  77. package/dist/icons/droid-spark.svg +29 -0
  78. package/dist/icons/droid-wire.svg +29 -0
  79. package/dist/icons/favicon-16.png +0 -0
  80. package/dist/icons/favicon-32.png +0 -0
  81. package/dist/icons/favicon.svg +1 -0
  82. package/dist/icons/icon-192.png +0 -0
  83. package/dist/icons/icon-512.png +0 -0
  84. package/dist/icons/icon-maskable-512.png +0 -0
  85. package/dist/icons/icon.svg +29 -0
  86. package/dist/icons/logo-dark.svg +29 -0
  87. package/dist/icons/logo-light.svg +29 -0
  88. package/dist/icons/sora-400.ttf +0 -0
  89. package/dist/icons/sora-700.ttf +0 -0
  90. package/dist/index.html +26 -0
  91. package/dist/manifest.webmanifest +19 -0
  92. package/dist/third-party-licenses.json +1106 -0
  93. package/dist-server/browser-init.js +24 -0
  94. package/dist-server/index.js +20049 -0
  95. package/dist-server/index.js.map +7 -0
  96. package/dist-server/ptyHost.js +234 -0
  97. package/dist-server/ptyHost.js.map +7 -0
  98. package/package.json +98 -6
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Leon van Zyl
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.it.md ADDED
@@ -0,0 +1,184 @@
1
+ # Droidsembly
2
+
3
+ <p align="center">
4
+ <img src="https://raw.githubusercontent.com/rosariomoscato/droidsembly/main/client/public/icons/logo-light.svg" alt="Logo Droidsembly" width="360">
5
+ </p>
6
+
7
+ **Small droids. Serious software.**
8
+
9
+ Uno spazio visuale per lo sviluppo software assistito dall'AI: collega i tuoi repository GitHub, coordina gli agenti di coding e segui il lavoro in un ufficio 3D interattivo o in una dashboard adatta al telefono.
10
+
11
+ [English](https://github.com/rosariomoscato/droidsembly/blob/main/README.md) · **Italiano**
12
+
13
+ [Codice sorgente](https://github.com/rosariomoscato/droidsembly) · [Segnala un problema](https://github.com/rosariomoscato/droidsembly/issues) · [Documentazione](#documentazione) · [Sostieni il progetto](#sostieni-il-progetto)
14
+
15
+ **Sito in arrivo:** `droidsembly.com`. Fino alla sua apertura, questo repository è il riferimento per installazione e documentazione.
16
+
17
+ **Gratuito e open source, con licenza MIT.** Nessuna attivazione a pagamento o sblocco commerciale degli agenti. Il sostegno volontario aiuta lo sviluppo; abbonamenti AI, consumi API e servizi cloud opzionali hanno costi e limiti propri.
18
+
19
+ ## Guarda l'ufficio
20
+
21
+ ![Lobby demo di Droidsembly con agenti robot, reception e uffici del manager e del CEO](https://raw.githubusercontent.com/rosariomoscato/droidsembly/main/docs/branding/screenshots/office.png)
22
+
23
+ <details>
24
+ <summary>Kanban e vista mobile Pocket</summary>
25
+
26
+ ![Bacheca Kanban demo con backlog, sviluppo, QA e fasi di merge](https://raw.githubusercontent.com/rosariomoscato/droidsembly/main/docs/screenshots/cyan-panels/kanban-en.png)
27
+
28
+ <img src="https://raw.githubusercontent.com/rosariomoscato/droidsembly/main/docs/branding/screenshots/pocket-mobile.png" alt="Dashboard Pocket in italiano con stato del progetto, chat CEO e navigazione del team" width="360">
29
+
30
+ </details>
31
+
32
+ Sono catture demo già disponibili nel fork. Alcuni dettagli grafici precedono gli ultimi aggiornamenti dei popup; nomi di aziende e progetti sono contenuti dimostrativi.
33
+
34
+ ## Cosa puoi fare
35
+
36
+ - **Coordinare agenti di coding:** Claude Code, Codex e OpenCode V2, con selezione dei modelli e delle varianti di ragionamento supportate. La disponibilità dipende dal runtime: Agent SDK resta esclusivamente Claude e OpenCode è attualmente solo locale.
37
+ - **Seguire il workflow completo:** issue → sviluppo e controlli iniziali → pull request → sessione QA separata → correzioni → merge quando le condizioni configurate sono soddisfatte.
38
+ - **Mantenere il controllo:** assegnazione manuale o automatica, onboarding CEO facoltativo, approvazione dei cambi team e interruttore distinto per il merge automatico.
39
+ - **Osservare il lavoro reale:** terminali live, piani dei progetti, Kanban e console del manager. Clone e worktree locali separano le copie di lavoro degli agenti; non sono sandbox di sicurezza.
40
+ - **Consultare l'utilizzo AI:** osservazioni multi-provider, token/costi comunicati e limiti selettivi dello scheduler. I dati mancanti restano non disponibili, non zero o illimitati. Vedi [Utilizzo AI](https://github.com/rosariomoscato/droidsembly/blob/main/docs/AI_USAGE.md).
41
+ - **Chiedere analisi in sola lettura:** avvia una conversazione senza issue o PR. Le regole di sola lettura sono istruzioni all'agente, non una sandbox.
42
+ - **Usare desktop e mobile:** ufficio 3D e vista Pocket touch, interfaccia inglese/italiana, comandi da tastiera e impostazioni di accessibilità. Vedi [copertura delle lingue](https://github.com/rosariomoscato/droidsembly/blob/main/docs/languages.md).
43
+ - **Personalizzare l'ufficio:** agenti robot, cane robot, decorazioni, musica adattiva, modalità foto e time-lapse.
44
+
45
+ ## Installa questo fork
46
+
47
+ **Distribuzione attuale: compilazione dai sorgenti.** Il pacchetto npm `droidsembly@0.4.0-beta.1` e il comando pubblico `droidsembly` sono in preparazione locale; non sono stati pubblicati. Non è ancora disponibile un installer desktop. `npx cubefarm` installa il pacchetto originale, non Droidsembly.
48
+
49
+ Dopo una pubblicazione beta esplicitamente autorizzata, il comando previsto è `npx droidsembly@next` (`npx.cmd droidsembly@next` in PowerShell). Non usarlo finché il rilascio non sarà annunciato in questo repository. Le versioni stabili useranno `latest`; le beta verificano gli aggiornamenti su `next`. Il nuovo pacchetto non espone un alias globale `cubefarm`. Il file interno `bin/cubefarm.js`, i launcher dei checkout esistenti e la cartella dati predefinita restano compatibili.
50
+
51
+ ### Requisiti
52
+
53
+ - [Node.js](https://nodejs.org/) **22 o successivo**, con npm, e [Git](https://git-scm.com/).
54
+ - Per lavoro reale: [GitHub CLI](https://cli.github.com/), autenticato con `gh auth login`, e un coding agent supportato con accesso al proprio provider.
55
+ - Claude Code è incluso tramite Agent SDK. OpenCode **2.x** e Codex si installano separatamente quando selezionati. Le sessioni terminale esclusivamente OpenCode non richiedono un abbonamento Claude.
56
+ - Google Chrome per gli agenti che verificano i progetti nel browser.
57
+
58
+ Il progetto è destinato a Windows, macOS e Linux. La demo senza AI descritta sotto non richiede credenziali dei provider o login GitHub.
59
+
60
+ ### 1. Scarica e compila
61
+
62
+ Esegui questi comandi nella cartella che dovrà contenere un **nuovo** checkout.
63
+
64
+ **Windows — PowerShell**
65
+
66
+ ```powershell
67
+ git clone https://github.com/rosariomoscato/droidsembly.git
68
+ cd droidsembly
69
+ npm.cmd ci
70
+ npm.cmd run build
71
+ ```
72
+
73
+ **macOS / Linux**
74
+
75
+ ```bash
76
+ git clone https://github.com/rosariomoscato/droidsembly.git
77
+ cd droidsembly
78
+ npm ci
79
+ npm run build
80
+ ```
81
+
82
+ ### 2. Prova la demo senza AI
83
+
84
+ Dal checkout, avvia il server compilato con cartella dati e porte dedicate:
85
+
86
+ **Windows — PowerShell**
87
+
88
+ ```powershell
89
+ $env:SWARM_HOME = Join-Path $env:LOCALAPPDATA 'Droidsembly-Demo'
90
+ $env:SWARM_PORT = '4419'
91
+ $env:SWARM_HOST = '127.0.0.1'
92
+ $env:SWARM_PREVIEW_PORT = '9600'
93
+ $env:SWARM_DEMO = '1'
94
+ node dist-server/index.js --demo
95
+ ```
96
+
97
+ **macOS / Linux**
98
+
99
+ ```bash
100
+ SWARM_HOME="$HOME/.droidsembly-demo" SWARM_PORT=4419 SWARM_HOST=127.0.0.1 SWARM_PREVIEW_PORT=9600 SWARM_DEMO=1 node dist-server/index.js --demo
101
+ ```
102
+
103
+ Apri **http://127.0.0.1:4419/** e verifica che sia indicata la **MODALITÀ DEMO**. GitHub e agenti sono simulati; lo stato demo viene salvato soltanto nella cartella demo scelta. Ferma il server con `Ctrl+C`. Scegli porte libere se queste sono occupate.
104
+
105
+ ### 3. Avvia un ufficio reale
106
+
107
+ Ferma prima la demo. Usa una cartella dati distinta e rimuovi `--demo`. Le sessioni reali possono modificare i progetti collegati e consumare quota AI.
108
+
109
+ **Windows — PowerShell**
110
+
111
+ ```powershell
112
+ $env:SWARM_HOME = Join-Path $env:LOCALAPPDATA 'Droidsembly'
113
+ $env:SWARM_PORT = '4419'
114
+ $env:SWARM_HOST = '127.0.0.1'
115
+ $env:SWARM_PREVIEW_PORT = '9600'
116
+ $env:SWARM_DEMO = '0'
117
+ node dist-server/index.js
118
+ ```
119
+
120
+ **macOS / Linux**
121
+
122
+ ```bash
123
+ SWARM_HOME="$HOME/.droidsembly" SWARM_PORT=4419 SWARM_HOST=127.0.0.1 SWARM_PREVIEW_PORT=9600 SWARM_DEMO=0 node dist-server/index.js
124
+ ```
125
+
126
+ Apri **http://127.0.0.1:4419/**. Le cartelle degli esempi sono una scelta esplicita per una nuova installazione, non una migrazione: percorsi dati e launcher esistenti restano validi. Senza `SWARM_HOME`, il percorso predefinito dell'app rimane `~/.cubefarm`.
127
+
128
+ Prima di collegare un progetto, seleziona il coding agent del CEO se non vuoi usare il predefinito Claude Code. Per saltare l'analisi AI iniziale, disattiva l'opzione che permette al CEO di studiare il repository e pianificare dal brief. Assegnazione automatica, merge automatico e revisioni periodiche CEO sono impostazioni distinte. Vedi [Agenti](https://github.com/rosariomoscato/droidsembly/blob/main/docs/agents.md) per configurazione dei provider e limiti dei runtime.
129
+
130
+ ## Desktop, mobile e PWA
131
+
132
+ Il backend Node.js gira sul computer; il browser visualizza e controlla l'ufficio. Installare la PWA aggiunge l'interfaccia alla schermata iniziale, **ma non installa il backend Node.js o i coding agent**. Il computer dell'ufficio deve restare acceso e raggiungibile.
133
+
134
+ Per installazione mobile e accesso remoto privato, segui [Pocket](https://github.com/rosariomoscato/droidsembly/blob/main/docs/pocket.md) e [Accesso da telefono](https://github.com/rosariomoscato/droidsembly/blob/main/docs/phone-access.md). Le funzioni PWA richiedono un browser compatibile e un contesto sicuro, come HTTPS o localhost. L'ufficio non ha un login integrato: mantienilo su loopback oppure usa un accesso privato autenticato, anziché esporlo pubblicamente.
135
+
136
+ ### Comandi essenziali
137
+
138
+ | Comando | Azione |
139
+ | --- | --- |
140
+ | `W A S D` / frecce | Cammina |
141
+ | `Shift` | Corri |
142
+ | `E` / clic sinistro | Interagisci |
143
+ | `P` | Apri il telefono |
144
+ | `Tab` | Panoramica dell'ufficio |
145
+ | `K` | Modalità foto |
146
+ | `M` | Silenzia |
147
+ | `H` | Guida e lista completa dei comandi |
148
+ | `Esc` | Libera il mouse / chiudi un pannello |
149
+
150
+ Le impostazioni comprendono sottotitoli, comfort di movimento, scala UI, contrasto e viste a elenco. Pocket offre navigazione adatta al touch.
151
+
152
+ ## Aggiornamenti
153
+
154
+ Per un'installazione dai sorgenti, ferma l'ufficio quando gli agenti sono inattivi, salva un backup dello `SWARM_HOME` scelto e consulta il [changelog del fork](https://github.com/rosariomoscato/droidsembly/blob/main/docs/FORK_CHANGELOG.md). In un checkout pulito su `main`, esegui `git pull --ff-only`, poi `npm.cmd ci` e `npm.cmd run build` su Windows (`npm ci` e `npm run build` su macOS/Linux). Riavvia con la stessa cartella dati e le stesse porte. Preserva eventuali modifiche locali prima di aggiornare.
155
+
156
+ Non usare `npx cubefarm@latest` per aggiornare questo fork: punta al pacchetto npm originale. La CLI preparata verifica soltanto `droidsembly`, su `next` per le prerelease e `latest` per le stabili; una voce del registry non disponibile viene ignorata. I comandi diretti del server qui indicati non usano il launcher autoaggiornante del checkout; vedi [come funzionano gli aggiornamenti](https://github.com/rosariomoscato/droidsembly/blob/main/docs/how-it-works.md#updating-the-office) per quel flusso distinto. Gli aggiornamenti del pacchetto sono manuali; installare un nuovo nome npm non migra un'installazione esistente o i suoi dati.
157
+
158
+ ## Sostieni il progetto
159
+
160
+ Droidsembly è gratuito e open source. Se ti è utile, puoi sostenerne lo sviluppo lasciando una stella al repository, condividendolo, segnalando problemi riproducibili o contribuendo con miglioramenti.
161
+
162
+ **È previsto il sostegno economico volontario tramite GitHub Sponsors.** Il profilo non è ancora attivo; il link verrà aggiunto quando disponibile. Nessuna donazione è necessaria per usare l'app o sbloccare gli agenti. Restano applicabili i limiti tecnici e le quote dei provider AI.
163
+
164
+ ## Documentazione
165
+
166
+ - [Agenti e configurazione dei provider](https://github.com/rosariomoscato/droidsembly/blob/main/docs/agents.md)
167
+ - [Workflow, terminali, QA e aggiornamenti](https://github.com/rosariomoscato/droidsembly/blob/main/docs/how-it-works.md)
168
+ - [Utilizzo AI multi-provider](https://github.com/rosariomoscato/droidsembly/blob/main/docs/AI_USAGE.md) (italiano)
169
+ - [Pocket, PWA e notifiche](https://github.com/rosariomoscato/droidsembly/blob/main/docs/pocket.md) · [Accesso da telefono](https://github.com/rosariomoscato/droidsembly/blob/main/docs/phone-access.md)
170
+ - [Agenti cloud opzionali](https://github.com/rosariomoscato/droidsembly/blob/main/docs/cloud.md) · [Voce](https://github.com/rosariomoscato/droidsembly/blob/main/docs/voice.md)
171
+ - [Copertura inglese/italiano](https://github.com/rosariomoscato/droidsembly/blob/main/docs/languages.md)
172
+ - [Contributi e sviluppo](https://github.com/rosariomoscato/droidsembly/blob/main/CONTRIBUTING.md)
173
+ - [Changelog del fork](https://github.com/rosariomoscato/droidsembly/blob/main/docs/FORK_CHANGELOG.md) (italiano)
174
+ - [Report delle verifiche locali](https://github.com/rosariomoscato/droidsembly/blob/main/docs/validation-english-italian.md) · [Indagine sul pathfinding](https://github.com/rosariomoscato/droidsembly/blob/main/docs/pathfinding-investigation.md)
175
+
176
+ Parte delle guide tecniche è in inglese. I risultati CI e i fallimenti storici locali sono evidenze distinte: una CI verde non dimostra che quei fallimenti locali siano risolti.
177
+
178
+ ## Crediti e licenza
179
+
180
+ Droidsembly è mantenuto da [Rosario Moscato](https://github.com/rosariomoscato), a partire da [CubeFarm di Leon van Zyl](https://github.com/leonvanzyl/cubefarm). Questo fork era precedentemente ospitato su `rosariomoscato/cubefarm`.
181
+
182
+ Il fork aggiunge integrazione OpenCode V2, selezione di modelli/varianti, onboarding facoltativo e analisi manuale, supporto inglese/italiano, grafica robotica e identità visiva, stile coordinato desktop/mobile, musica adattiva e monitoraggio dell'utilizzo multi-provider. Il [changelog](https://github.com/rosariomoscato/droidsembly/blob/main/docs/FORK_CHANGELOG.md) documenta implementazioni e verifiche.
183
+
184
+ Distribuito con licenza [MIT](https://github.com/rosariomoscato/droidsembly/blob/main/LICENSE), conservando l'avviso originale **Copyright (c) 2026 Leon van Zyl**. I componenti di terze parti mantengono le rispettive licenze, inclusa la [SIL Open Font License del font Sora](https://github.com/rosariomoscato/droidsembly/blob/main/client/public/icons/Sora-OFL.txt).
package/README.md CHANGED
@@ -1,3 +1,184 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
1
+ # Droidsembly
2
+
3
+ <p align="center">
4
+ <img src="https://raw.githubusercontent.com/rosariomoscato/droidsembly/main/client/public/icons/logo-light.svg" alt="Droidsembly logo" width="360">
5
+ </p>
6
+
7
+ **Small droids. Serious software.**
8
+
9
+ A visual workspace for AI-assisted software development: connect your GitHub repositories, coordinate coding agents and follow their work in an interactive 3D office or a mobile-friendly dashboard.
10
+
11
+ **English** · [Italiano](https://github.com/rosariomoscato/droidsembly/blob/main/README.it.md)
12
+
13
+ [Source code](https://github.com/rosariomoscato/droidsembly) · [Report an issue](https://github.com/rosariomoscato/droidsembly/issues) · [Documentation](#documentation) · [Support the project](#support-the-project)
14
+
15
+ **Website coming soon:** `droidsembly.com`. Until it launches, this repository is the reference for installation and documentation.
16
+
17
+ **Free and open source, under the MIT license.** No paid activation or commercial agent unlocks. Voluntary support helps development; your AI subscriptions, API usage and optional cloud services have their own costs and limits.
18
+
19
+ ## See the office
20
+
21
+ ![Droidsembly demo lobby with robot agents, reception and the manager and CEO offices](https://raw.githubusercontent.com/rosariomoscato/droidsembly/main/docs/branding/screenshots/office.png)
22
+
23
+ <details>
24
+ <summary>Kanban and mobile Pocket view</summary>
25
+
26
+ ![Demo Kanban board showing backlog, development, QA and merge stages](https://raw.githubusercontent.com/rosariomoscato/droidsembly/main/docs/screenshots/cyan-panels/kanban-en.png)
27
+
28
+ <img src="https://raw.githubusercontent.com/rosariomoscato/droidsembly/main/docs/branding/screenshots/pocket-mobile.png" alt="Italian Pocket dashboard with project status, CEO chat and team navigation" width="360">
29
+
30
+ </details>
31
+
32
+ These are existing demo captures from the fork. Some styling predates the latest popup updates; company and project names are demo content.
33
+
34
+ ## What you can do
35
+
36
+ - **Coordinate coding agents:** Claude Code, Codex and OpenCode V2, with model selection and supported reasoning variants. Provider availability depends on the runtime; the Agent SDK runtime is Claude-only, and OpenCode is currently local-only.
37
+ - **Follow the full workflow:** issue → development and initial checks → pull request → separate QA session → corrections → merge when the configured conditions pass.
38
+ - **Keep control:** manual or automatic assignment, optional CEO onboarding, team-change approvals and a separate auto-merge switch.
39
+ - **Watch real work:** live terminals, project floors, a Kanban board and the manager console. Local clones and worktrees separate agents' working copies; they are not security sandboxes.
40
+ - **Inspect AI usage:** multi-provider observations, reported tokens/costs and selective scheduling limits. Missing provider data remains unavailable, not zero or unlimited. See [AI usage](https://github.com/rosariomoscato/droidsembly/blob/main/docs/AI_USAGE.md) (Italian).
41
+ - **Ask for read-only analysis:** start a discussion without an issue or PR. Read-only rules are agent instructions, not a sandbox.
42
+ - **Use desktop or mobile:** a 3D office and a touch-friendly Pocket view, English/Italian interface, keyboard controls and accessibility settings. See [language coverage](https://github.com/rosariomoscato/droidsembly/blob/main/docs/languages.md).
43
+ - **Make the office yours:** robot agents, a robot dog, decorations, adaptive music, photo mode and time-lapse.
44
+
45
+ ## Install this fork
46
+
47
+ **Current distribution: build from source.** The npm package `droidsembly@0.4.0-beta.1` and public command `droidsembly` are being prepared locally; they have not been published. There is no desktop installer yet. `npx cubefarm` installs the original package, not Droidsembly.
48
+
49
+ After an explicitly authorized beta release, the planned command is `npx droidsembly@next` (`npx.cmd droidsembly@next` in PowerShell). Do not use it until the release is announced in this repository. Stable releases will use `latest`; beta versions check `next` for updates. The new package exposes no global `cubefarm` alias. The internal entry file `bin/cubefarm.js`, existing checkout launchers and default data directory remain compatible.
50
+
51
+ ### Requirements
52
+
53
+ - [Node.js](https://nodejs.org/) **22 or newer**, with npm, and [Git](https://git-scm.com/).
54
+ - For real work: [GitHub CLI](https://cli.github.com/), authenticated with `gh auth login`, and a supported coding agent signed in to its provider.
55
+ - Claude Code is bundled through the Agent SDK. OpenCode **2.x** and Codex are installed separately when selected. OpenCode-only terminal sessions do not require a Claude subscription.
56
+ - Google Chrome for agents that test projects in a browser.
57
+
58
+ The project targets Windows, macOS and Linux. The no-AI demo below does not require provider credentials or a GitHub login.
59
+
60
+ ### 1. Download and build
61
+
62
+ Run these commands in the parent folder where you want a **new** checkout.
63
+
64
+ **Windows — PowerShell**
65
+
66
+ ```powershell
67
+ git clone https://github.com/rosariomoscato/droidsembly.git
68
+ cd droidsembly
69
+ npm.cmd ci
70
+ npm.cmd run build
71
+ ```
72
+
73
+ **macOS / Linux**
74
+
75
+ ```bash
76
+ git clone https://github.com/rosariomoscato/droidsembly.git
77
+ cd droidsembly
78
+ npm ci
79
+ npm run build
80
+ ```
81
+
82
+ ### 2. Try the no-AI demo
83
+
84
+ From the checkout, start the built server with a dedicated data folder and ports:
85
+
86
+ **Windows — PowerShell**
87
+
88
+ ```powershell
89
+ $env:SWARM_HOME = Join-Path $env:LOCALAPPDATA 'Droidsembly-Demo'
90
+ $env:SWARM_PORT = '4419'
91
+ $env:SWARM_HOST = '127.0.0.1'
92
+ $env:SWARM_PREVIEW_PORT = '9600'
93
+ $env:SWARM_DEMO = '1'
94
+ node dist-server/index.js --demo
95
+ ```
96
+
97
+ **macOS / Linux**
98
+
99
+ ```bash
100
+ SWARM_HOME="$HOME/.droidsembly-demo" SWARM_PORT=4419 SWARM_HOST=127.0.0.1 SWARM_PREVIEW_PORT=9600 SWARM_DEMO=1 node dist-server/index.js --demo
101
+ ```
102
+
103
+ Open **http://127.0.0.1:4419/** and confirm **DEMO MODE** is displayed. GitHub and agents are simulated; demo state is saved only in the chosen demo folder. Stop with `Ctrl+C`. Choose unused ports if these are occupied.
104
+
105
+ ### 3. Start a real office
106
+
107
+ Stop the demo first. Use a separate data folder and remove `--demo`. Real sessions can modify connected projects and consume AI quota.
108
+
109
+ **Windows — PowerShell**
110
+
111
+ ```powershell
112
+ $env:SWARM_HOME = Join-Path $env:LOCALAPPDATA 'Droidsembly'
113
+ $env:SWARM_PORT = '4419'
114
+ $env:SWARM_HOST = '127.0.0.1'
115
+ $env:SWARM_PREVIEW_PORT = '9600'
116
+ $env:SWARM_DEMO = '0'
117
+ node dist-server/index.js
118
+ ```
119
+
120
+ **macOS / Linux**
121
+
122
+ ```bash
123
+ SWARM_HOME="$HOME/.droidsembly" SWARM_PORT=4419 SWARM_HOST=127.0.0.1 SWARM_PREVIEW_PORT=9600 SWARM_DEMO=0 node dist-server/index.js
124
+ ```
125
+
126
+ Open **http://127.0.0.1:4419/**. These example folders are an explicit choice for a new installation, not a migration: existing data paths and launchers remain valid. Without `SWARM_HOME`, the application's default remains `~/.cubefarm`.
127
+
128
+ Before connecting a project, select the CEO's coding agent if you do not want the default Claude Code. To skip the initial AI analysis, turn off **Let the CEO study this repository and plan from the brief**. Auto-assignment, auto-merge and periodic CEO reviews are separate settings. See [Agents](https://github.com/rosariomoscato/droidsembly/blob/main/docs/agents.md) for provider setup and runtime limitations.
129
+
130
+ ## Desktop, mobile and PWA
131
+
132
+ The Node.js backend runs on your computer; the browser displays and controls the office. Installing the PWA adds the interface to your home screen **but does not install the Node.js backend or coding agents**. The office computer must remain running and reachable.
133
+
134
+ For mobile installation and private remote access, follow [Pocket mode](https://github.com/rosariomoscato/droidsembly/blob/main/docs/pocket.md) and [Phone access](https://github.com/rosariomoscato/droidsembly/blob/main/docs/phone-access.md). PWA features require a supported browser and a secure context, such as HTTPS or localhost. The office has no built-in sign-in: keep it on loopback or use authenticated private access rather than exposing it publicly.
135
+
136
+ ### Essential controls
137
+
138
+ | Control | Action |
139
+ | --- | --- |
140
+ | `W A S D` / arrows | Walk |
141
+ | `Shift` | Run |
142
+ | `E` / left click | Interact |
143
+ | `P` | Open the phone |
144
+ | `Tab` | Office overview |
145
+ | `K` | Photo mode |
146
+ | `M` | Mute |
147
+ | `H` | Help and full control list |
148
+ | `Esc` | Release the mouse / close a panel |
149
+
150
+ Settings include captions, motion comfort, UI scaling, contrast and list views. Pocket provides touch-friendly navigation.
151
+
152
+ ## Updating
153
+
154
+ For a source installation, stop the office when agents are idle, back up your chosen `SWARM_HOME`, and review the [fork changelog](https://github.com/rosariomoscato/droidsembly/blob/main/docs/FORK_CHANGELOG.md). In a clean checkout on `main`, use `git pull --ff-only`, then `npm.cmd ci` and `npm.cmd run build` on Windows (`npm ci` and `npm run build` on macOS/Linux). Restart using the same data folder and ports. Preserve local changes before updating.
155
+
156
+ Do not use `npx cubefarm@latest` to update this fork: it targets the original npm package. This prepared CLI checks only `droidsembly`, using `next` for prereleases and `latest` for stable versions; an unavailable registry entry is ignored. The direct server commands above do not use the checkout's self-updating launcher; see [how updating works](https://github.com/rosariomoscato/droidsembly/blob/main/docs/how-it-works.md#updating-the-office) for that separate workflow. Package updates are manual; installing a new package name does not migrate an existing installation or its data.
157
+
158
+ ## Support the project
159
+
160
+ Droidsembly is free and open source. If it helps you, you can support its development by starring the repository, sharing it, reporting reproducible issues or contributing improvements.
161
+
162
+ **Voluntary financial support is planned through GitHub Sponsors.** The profile is not yet activated; a link will be added when it is available. No donation is required to use the app or unlock agents. Technical limits and AI-provider quotas still apply.
163
+
164
+ ## Documentation
165
+
166
+ - [Agents and provider setup](https://github.com/rosariomoscato/droidsembly/blob/main/docs/agents.md)
167
+ - [Workflow, terminals, QA and updates](https://github.com/rosariomoscato/droidsembly/blob/main/docs/how-it-works.md)
168
+ - [Multi-provider AI usage](https://github.com/rosariomoscato/droidsembly/blob/main/docs/AI_USAGE.md) (Italian)
169
+ - [Pocket, PWA and notifications](https://github.com/rosariomoscato/droidsembly/blob/main/docs/pocket.md) · [Phone access](https://github.com/rosariomoscato/droidsembly/blob/main/docs/phone-access.md)
170
+ - [Optional cloud agents](https://github.com/rosariomoscato/droidsembly/blob/main/docs/cloud.md) · [Voice](https://github.com/rosariomoscato/droidsembly/blob/main/docs/voice.md)
171
+ - [English/Italian coverage](https://github.com/rosariomoscato/droidsembly/blob/main/docs/languages.md)
172
+ - [Contributing and development](https://github.com/rosariomoscato/droidsembly/blob/main/CONTRIBUTING.md)
173
+ - [Fork changelog](https://github.com/rosariomoscato/droidsembly/blob/main/docs/FORK_CHANGELOG.md) (Italian)
174
+ - [Local validation report](https://github.com/rosariomoscato/droidsembly/blob/main/docs/validation-english-italian.md) · [Pathfinding investigation](https://github.com/rosariomoscato/droidsembly/blob/main/docs/pathfinding-investigation.md)
175
+
176
+ CI results and historical local test failures are separate evidence; a green CI run does not establish that those local failures have been resolved.
177
+
178
+ ## Credits and license
179
+
180
+ Droidsembly is maintained by [Rosario Moscato](https://github.com/rosariomoscato), based on [CubeFarm by Leon van Zyl](https://github.com/leonvanzyl/cubefarm). This fork was previously hosted at `rosariomoscato/cubefarm`.
181
+
182
+ The fork adds OpenCode V2 integration, model/variant selection, optional onboarding and manual analysis, English/Italian support, robot visuals and branding, coordinated desktop/mobile styling, adaptive music and multi-provider usage monitoring. The [changelog](https://github.com/rosariomoscato/droidsembly/blob/main/docs/FORK_CHANGELOG.md) records implementation and validation history.
183
+
184
+ Licensed under [MIT](https://github.com/rosariomoscato/droidsembly/blob/main/LICENSE), preserving the original **Copyright (c) 2026 Leon van Zyl** notice. Third-party components retain their respective licenses, including the [Sora font's SIL Open Font License](https://github.com/rosariomoscato/droidsembly/blob/main/client/public/icons/Sora-OFL.txt).