Rename project to Argus Nexus

This commit is contained in:
denshooter
2026-03-10 12:09:48 +01:00
parent daef092099
commit 8406072817
16 changed files with 34 additions and 34 deletions
@@ -1,4 +1,4 @@
# 👁️ God's Eye - Umfassende System-Spezifikation & Historie
# 👁️ Argus Nexus - Umfassende System-Spezifikation & Historie
## 1. Die Vision (Der User-Wunsch)
Das Ziel war die Erschaffung einer privaten **Intelligence-Plattform** im Stil von *Palantir* oder *Worldview*.
+2 -2
View File
@@ -1,7 +1,7 @@
# GEMINI.md - Projekt-Zentrale & Team-Mandat
## 🎯 Übergeordnetes Ziel
Ich agiere als das vollständige Engineering-Team von "God's Eye". Jede meiner Handlungen muss den Standards und Verantwortlichkeiten entsprechen, die in `docs/team/` definiert sind.
Ich agiere als das vollständige Engineering-Team von "Argus Nexus". Jede meiner Handlungen muss den Standards und Verantwortlichkeiten entsprechen, die in `docs/team/` definiert sind.
## 👥 Team-Integration & Workflow
Bei jeder Aufgabe (Directive oder Inquiry) folge ich diesem Protokoll:
@@ -21,7 +21,7 @@ Damit das Projekt gesund wächst, verpflichte ich mich zu folgenden automatische
## 🛠️ Technische Leitplanken
- **Code-Stil:** Höchste Priorität auf Typsicherheit und Dokumentation (Docstrings/Comments).
- **Infrastruktur:** Alles ist Code (IaC). Keine manuellen Setups ohne Dokumentation im DevOps-Profil.
- **Security:** "God's Eye" erfordert maximale Sicherheit. Jedes Feature wird auf potenzielle Leaks geprüft.
- **Security:** "Argus Nexus" erfordert maximale Sicherheit. Jedes Feature wird auf potenzielle Leaks geprüft.
---
*Hinweis an Gemini CLI: Diese Datei ist dein primäres Mandat. Lies sie bei jedem Start und richte dein Verhalten strikt danach aus.*
+3 -3
View File
@@ -1,7 +1,7 @@
# God's Eye - Project Vision & Core Capabilities
# Argus Nexus - Project Vision & Core Capabilities
## 👁️ Die Mission
"God's Eye" ist eine private, OSINT-basierte (Open Source Intelligence) Kommandozentrale zur globalen Situationswahrnehmung. Es aggregiert fragmentierte Datenströme der Welt in einem einzigen, hochperformanten 3D-Interface, um Muster zu erkennen, die für das bloße Auge unsichtbar bleiben.
"Argus Nexus" ist eine private, OSINT-basierte (Open Source Intelligence) Kommandozentrale zur globalen Situationswahrnehmung. Es aggregiert fragmentierte Datenströme der Welt in einem einzigen, hochperformanten 3D-Interface, um Muster zu erkennen, die für das bloße Auge unsichtbar bleiben.
## 🚀 Kern-Funktionen
@@ -28,4 +28,4 @@
- **High Performance:** GPU-beschleunigtes 3D-Rendering für flüssige Darstellung tausender Objekte.
---
*"God's Eye sieht alles, kostet nichts und gehört nur dir."*
*"Argus Nexus sieht alles, kostet nichts und gehört nur dir."*
+2 -2
View File
@@ -1,4 +1,4 @@
# 👁️ God's Eye - Bedienungsanleitung
# 👁️ Argus Nexus - Bedienungsanleitung
## 🛠️ Voraussetzungen
- **Node.js & npm**
@@ -41,4 +41,4 @@ Navigiere zu: **`http://localhost:5173`**
- `PROJECT_VISION.md`: Detaillierte Beschreibung der System-Fähigkeiten.
---
*Hinweis: God's Eye nutzt Echtzeit-Daten. Die erste Ladezeit der Satelliten und Flugzeuge kann beim ersten Start 10-15 Sekunden dauern.*
*Hinweis: Argus Nexus nutzt Echtzeit-Daten. Die erste Ladezeit der Satelliten und Flugzeuge kann beim ersten Start 10-15 Sekunden dauern.*
+2 -2
View File
@@ -231,7 +231,7 @@ async def lifespan(app: FastAPI):
asyncio.create_task(save_snapshots()),
]
# Save initial snapshot once data loads
print("[GOD'S EYE] All 9 data pipelines online.")
print("[ARGUS NEXUS] All 9 data pipelines online.")
yield
for t in tasks:
t.cancel()
@@ -251,7 +251,7 @@ app.add_middleware(
async def root():
return {
"status": "ONLINE",
"system": "GOD'S EYE",
"system": "ARGUS NEXUS",
"version": "2.1.0",
"active_clients": len(clients),
"data_counts": {
+1 -1
View File
@@ -1,7 +1,7 @@
# Lead Software Architect / Tech Lead
## Rolle & Fokus
Der Lead Architect ist verantwortlich für die technische Gesamtvision des Projekts "God's Eye". Er trifft fundamentale Architekturentscheidungen und stellt sicher, dass das System skalierbar, sicher und wartbar bleibt.
Der Lead Architect ist verantwortlich für die technische Gesamtvision des Projekts "Argus Nexus". Er trifft fundamentale Architekturentscheidungen und stellt sicher, dass das System skalierbar, sicher und wartbar bleibt.
## Kernkompetenzen
- **System-Design:** Microservices vs. Monolith, Event-Driven Architecture.
+1 -1
View File
@@ -1,7 +1,7 @@
# Senior Backend Engineer
## Rolle & Fokus
Der Backend Engineer kümmert sich um die "Schaltzentrale" von "God's Eye" APIs, Geschäftslogik und Datenintegrität.
Der Backend Engineer kümmert sich um die "Schaltzentrale" von "Argus Nexus" APIs, Geschäftslogik und Datenintegrität.
## Kernkompetenzen
- **API-Design:** RESTful, GraphQL, gRPC.
+1 -1
View File
@@ -1,7 +1,7 @@
# Frontend Architect
## Rolle & Fokus
Der Frontend Architect ist zuständig für die User Experience und die visuelle Komponente von "God's Eye". Fokus auf intuitive Bedienung und hohe Performance im Browser.
Der Frontend Architect ist zuständig für die User Experience und die visuelle Komponente von "Argus Nexus". Fokus auf intuitive Bedienung und hohe Performance im Browser.
## Kernkompetenzen
- **Frameworks:** React, Vue.js oder Angular.
+1 -1
View File
@@ -1,7 +1,7 @@
# DevOps & SRE Specialist
## Rolle & Fokus
Der DevOps & SRE Specialist ist verantwortlich für die Verfügbarkeit, Skalierbarkeit und Sicherheit der Infrastruktur. "God's Eye" muss stabil unter Last laufen.
Der DevOps & SRE Specialist ist verantwortlich für die Verfügbarkeit, Skalierbarkeit und Sicherheit der Infrastruktur. "Argus Nexus" muss stabil unter Last laufen.
## Kernkompetenzen
- **IaC:** Terraform oder CloudFormation.
+1 -1
View File
@@ -1,7 +1,7 @@
# Data & Integration Engineer
## Rolle & Fokus
Der Data Engineer ist verantwortlich für die Anbindung, Transformation und Aggregation externer Datenquellen (APIs, Streams) für das "God's Eye" Projekt. Da das System stark auf Echtzeit-Ereignissen basiert, liegt der Fokus auf performanter und kostenfreier Datenbeschaffung.
Der Data Engineer ist verantwortlich für die Anbindung, Transformation und Aggregation externer Datenquellen (APIs, Streams) für das "Argus Nexus" Projekt. Da das System stark auf Echtzeit-Ereignissen basiert, liegt der Fokus auf performanter und kostenfreier Datenbeschaffung.
## Kernkompetenzen
- **Data Pipelines:** ETL-Prozesse, Stream-Processing (Kafka, RabbitMQ oder einfache asynchrone Queues).
+2 -2
View File
@@ -1,6 +1,6 @@
# God's Eye Development Team
# Argus Nexus Development Team
Willkommen in der technischen Zentrale von God's Eye. Hier findest du die Profile und Zuständigkeiten unseres spezialisierten Engineering-Teams.
Willkommen in der technischen Zentrale von Argus Nexus. Hier findest du die Profile und Zuständigkeiten unseres spezialisierten Engineering-Teams.
## Team-Struktur
+2 -2
View File
@@ -4,8 +4,8 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>GOD'S EYE — Global Intelligence Platform</title>
<meta name="description" content="Real-time global intelligence and surveillance platform" />
<title>ARGUS NEXUS - Global Intelligence Platform</title>
<meta name="description" content="Real-time global intelligence and situational awareness platform" />
</head>
<body>
<div id="root"></div>
+5 -5
View File
@@ -72,8 +72,8 @@ function App() {
const { lastJsonMessage, readyState, sendJsonMessage } = useWebSocket(wsUrl, { shouldReconnect: () => true, reconnectInterval: 3000 });
useEffect(() => {
(window as any).__GODS_EYE_REQUEST_SECTOR__ = (box: any) => sendJsonMessage({ type: 'request_sector', box });
return () => { (window as any).__GODS_EYE_REQUEST_SECTOR__ = null; };
(window as any).__ARGUS_NEXUS_REQUEST_SECTOR__ = (box: any) => sendJsonMessage({ type: 'request_sector', box });
return () => { (window as any).__ARGUS_NEXUS_REQUEST_SECTOR__ = null; };
}, [sendJsonMessage]);
const [systemStatus, setSystemStatus] = useState('Initializing Sentinel...');
@@ -81,7 +81,7 @@ function App() {
useEffect(() => {
const msg = lastJsonMessage as any;
if (msg?.type === 'status') { setSystemStatus(msg.message); return; }
if (msg?.type === 'sector_update') { (window as any).__GODS_EYE_ON_SECTOR_DATA__?.(msg); return; }
if (msg?.type === 'sector_update') { (window as any).__ARGUS_NEXUS_ON_SECTOR_DATA__?.(msg); return; }
if (msg?.type === 'update' && !historyModeRef.current) {
const updateSig = JSON.stringify(msg.last_updated || {});
if (updateSig === lastUpdateSigRef.current) return;
@@ -173,7 +173,7 @@ function App() {
<Shield size={15} className="text-sky-400" />
</div>
<div>
<div className="text-sm font-black tracking-[0.2em] text-white drop-shadow-[0_0_8px_rgba(255,255,255,0.4)]">GOD'S EYE</div>
<div className="text-sm font-black tracking-[0.2em] text-white drop-shadow-[0_0_8px_rgba(255,255,255,0.4)]">ARGUS NEXUS</div>
<div className="text-[8px] text-sky-500 tracking-[0.35em] font-bold uppercase">Strategic Command</div>
</div>
</div>
@@ -446,7 +446,7 @@ function App() {
{/* BOTTOM STATUS BAR */}
<footer className="absolute bottom-0 left-0 right-0 h-9 z-20 flex items-center justify-between px-4 bg-[#020617]/90 border-t border-slate-800/60 backdrop-blur-sm pointer-events-none">
<div className="flex items-center gap-5 text-[9px] text-slate-600">
<span className="flex items-center gap-1.5"><Globe size={9} className="text-sky-700"/> GOD'S EYE v2.1</span>
<span className="flex items-center gap-1.5"><Globe size={9} className="text-sky-700"/> ARGUS NEXUS v2.1</span>
<span className="flex items-center gap-1.5"><Plane size={9} className="text-amber-700"/>{rawData.planes.length.toLocaleString()} AC · <span className="text-rose-700">{milPlanes.length} MIL</span></span>
<span className="flex items-center gap-1.5"><Anchor size={9} className="text-blue-700"/>{rawData.ships.length} VES</span>
<span className="flex items-center gap-1.5"><Satellite size={9} className="text-sky-700"/>{rawData.satellites.length} SAT</span>
+6 -6
View File
@@ -89,8 +89,8 @@ const GlobeView: React.FC<Props> = ({ data, selectedItem, onSelectItem, onPovCha
}, [viewMode]);
useEffect(() => {
(window as any).__GODS_EYE_ON_SECTOR_DATA__ = (msg: any) => { spRef.current = msg.planes || []; ssRef.current = msg.ships || []; };
return () => { (window as any).__GODS_EYE_ON_SECTOR_DATA__ = null; };
(window as any).__ARGUS_NEXUS_ON_SECTOR_DATA__ = (msg: any) => { spRef.current = msg.planes || []; ssRef.current = msg.ships || []; };
return () => { (window as any).__ARGUS_NEXUS_ON_SECTOR_DATA__ = null; };
}, []);
useEffect(() => {
@@ -99,7 +99,7 @@ const GlobeView: React.FC<Props> = ({ data, selectedItem, onSelectItem, onPovCha
const pov = currentPov.current;
if (pov.altitude > 1.2) { spRef.current = []; ssRef.current = []; return; }
const span = pov.altitude * 45;
(window as any).__GODS_EYE_REQUEST_SECTOR__?.({ lamin: Math.max(-90, pov.lat-span), lamax: Math.min(90, pov.lat+span), lomin: pov.lng-span*1.5, lomax: pov.lng+span*1.5 });
(window as any).__ARGUS_NEXUS_REQUEST_SECTOR__?.({ lamin: Math.max(-90, pov.lat-span), lamax: Math.min(90, pov.lat+span), lomin: pov.lng-span*1.5, lomax: pov.lng+span*1.5 });
}, 2500);
return () => clearInterval(interval);
}, [isLoaded, viewMode]);
@@ -133,7 +133,7 @@ const GlobeView: React.FC<Props> = ({ data, selectedItem, onSelectItem, onPovCha
return rc.intersectObjects([pM.current, sM.current, saM.current]);
};
globeRef.current!.addEventListener('pointerup', (e) => {
const hits = getHits(e); if (hits.length > 0 && hits[0].instanceId != null) (window as any).__GODS_EYE_HIT__ = { obj: hits[0].object, idx: hits[0].instanceId };
const hits = getHits(e); if (hits.length > 0 && hits[0].instanceId != null) (window as any).__ARGUS_NEXUS_HIT__ = { obj: hits[0].object, idx: hits[0].instanceId };
});
tileMgr.loadBaseLayer().catch(()=>{}); setIsLoaded(true);
return () => { if (typeof globe._destructor === 'function') globe._destructor(); globeInstance.current = null; };
@@ -177,12 +177,12 @@ const GlobeView: React.FC<Props> = ({ data, selectedItem, onSelectItem, onPovCha
const [x, y, z] = polar2xyz(selectedItem.lat, selectedItem.lon ?? selectedItem.lng, selectedItem.dataType === 'satellite' ? 0.16 : 0.03);
selM.current.position.set(x, y, z); selM.current.lookAt(0, 0, 0); selM.current.visible = true;
} else selM.current.visible = false;
const hit = (window as any).__GODS_EYE_HIT__;
const hit = (window as any).__ARGUS_NEXUS_HIT__;
if (hit) {
if (hit.obj === pM.current) onSelectItem({ ...rendered.p[hit.idx], dataType: 'plane' });
else if (hit.obj === sM.current) onSelectItem({ ...rendered.s[hit.idx], dataType: 'ship' });
else if (hit.obj === saM.current) onSelectItem({ ...rendered.sa[hit.idx], dataType: 'satellite' });
(window as any).__GODS_EYE_HIT__ = null;
(window as any).__ARGUS_NEXUS_HIT__ = null;
}
requestAnimationFrame(animate);
}
+2 -2
View File
@@ -1,11 +1,11 @@
{
"name": "gods-eye-root",
"name": "argus-nexus-root",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "gods-eye-root",
"name": "argus-nexus-root",
"version": "1.0.0",
"devDependencies": {
"concurrently": "^9.2.1"
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "gods-eye-root",
"name": "argus-nexus-root",
"version": "1.0.0",
"description": "Root management for God's Eye project",
"description": "Root management for Argus Nexus project",
"scripts": {
"install-all": "npm install && cd frontend && npm install && cd ../backend && python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt",
"backend": "cd backend && source venv/bin/activate && python3 main.py",