fix: standardize project name to LogWhispererAI (no space)

- Replace all occurrences of 'LogWhisperer AI' with 'LogWhispererAI'
- Fix 47 instances across 30 files including:
  - Documentation (README, PRD, specs, docs)
  - Frontend components (Footer, Navbar, Hero, etc.)
  - Backend files (Dockerfile, server.js)
  - Workflow files (n8n, bash scripts)
  - Configuration files (AGENTS.md, LICENSE)

Ensures consistent branding across the entire codebase.
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-03 17:07:35 +02:00
parent 8eb7dfb00e
commit 92217897ca
30 changed files with 47 additions and 47 deletions

View File

@@ -1,4 +1,4 @@
# LogWhisperer AI - Environment Variables # LogWhispererAI - Environment Variables
# Telegram Bot Configuration # Telegram Bot Configuration
# Ottieni questi valori seguendo le istruzioni in docs/telegram_setup.md # Ottieni questi valori seguendo le istruzioni in docs/telegram_setup.md

View File

@@ -7,7 +7,7 @@ read: true
@n8n-specialist @n8n-specialist
Sei un esperto di automazione n8n. Il tuo compito è interfacciare LogWhisperer AI con l'istanza Docker su 192.168.254.12. Sei un esperto di automazione n8n. Il tuo compito è interfacciare LogWhispererAI con l'istanza Docker su 192.168.254.12.
Focus Operativo Focus Operativo

View File

@@ -1,4 +1,4 @@
# LogWhisperer AI - Agent Rules # LogWhispererAI - Agent Rules
Regole operative per gli agenti AI che collaborano su questo progetto. Regole operative per gli agenti AI che collaborano su questo progetto.

View File

@@ -20,11 +20,11 @@ Nessuna Modifica: È vietato modificare, alterare, adattare, tradurre, decompila
Uso Non Autorizzato: È vietato vendere, noleggiare, dare in locazione, concedere in licenza o utilizzare il software per scopi commerciali senza una licenza specifica rilasciata dall'autore. Uso Non Autorizzato: È vietato vendere, noleggiare, dare in locazione, concedere in licenza o utilizzare il software per scopi commerciali senza una licenza specifica rilasciata dall'autore.
Tutela del Marchio: I nomi "LogWhisperer AI", "Sacchi's Server Sentinel" e il "Metodo Sacchi" sono marchi e metodologie di proprietà dell'autore. Tutela del Marchio: I nomi "LogWhispererAI", "Sacchi's Server Sentinel" e il "Metodo Sacchi" sono marchi e metodologie di proprietà dell'autore.
Legge Applicabile e Foro Competente Legge Applicabile e Foro Competente
Il presente accordo è regolato dalla legge italiana. Per qualsiasi controversia derivante dall'interpretazione, esecuzione o risoluzione della presente licenza e per ogni disputa relativa al progetto "LogWhisperer AI", sarà competente in via esclusiva il Foro di Milano, Italia. Il presente accordo è regolato dalla legge italiana. Per qualsiasi controversia derivante dall'interpretazione, esecuzione o risoluzione della presente licenza e per ogni disputa relativa al progetto "LogWhispererAI", sarà competente in via esclusiva il Foro di Milano, Italia.
Contatti Contatti

View File

@@ -10,7 +10,7 @@
🎯 Visione del Progetto 🎯 Visione del Progetto
LogWhisperer AI trasforma i log di sistema e database spesso incomprensibili in alert azionabili descritti in "plain language". È pensato per piccole web agency e freelance che gestiscono infrastrutture (AWS, DigitalOcean, VPS) senza avere un sistemista senior dedicato. LogWhispererAI trasforma i log di sistema e database spesso incomprensibili in alert azionabili descritti in "plain language". È pensato per piccole web agency e freelance che gestiscono infrastrutture (AWS, DigitalOcean, VPS) senza avere un sistemista senior dedicato.
## 🚀 Stato di Sviluppo ## 🚀 Stato di Sviluppo

View File

@@ -1,4 +1,4 @@
# Docker Compose - LogWhisperer AI Development Environment # Docker Compose - LogWhispererAI Development Environment
# Usage: docker compose up -d # Usage: docker compose up -d
# Access Frontend: http://localhost:5173 # Access Frontend: http://localhost:5173
# Access Fake Backend API: http://localhost:3000 # Access Fake Backend API: http://localhost:3000

View File

@@ -1,6 +1,6 @@
# LogWhisperer AI - Agent Staff Catalog # LogWhispererAI - Agent Staff Catalog
Catalogo completo degli agenti AI specializzati che collaborano sul progetto LogWhisperer AI. Catalogo completo degli agenti AI specializzati che collaborano sul progetto LogWhispererAI.
--- ---
@@ -211,7 +211,7 @@ Mantiene aggiornata la documentazione e il changelog.
Esperto in automazione e orchestrazione n8n. Esperto in automazione e orchestrazione n8n.
**Responsabilità:** **Responsabilità:**
- Interfacciare LogWhisperer AI con l'istanza Docker su 192.168.254.12 - Interfacciare LogWhispererAI con l'istanza Docker su 192.168.254.12
- Configurazione e testing dei Webhook di ricezione log - Configurazione e testing dei Webhook di ricezione log
- Monitorare esecuzioni per garantire applicazione "Metodo Sacchi" nei prompt LLM - Monitorare esecuzioni per garantire applicazione "Metodo Sacchi" nei prompt LLM
- Troubleshooting della connessione tra script Bash locale e API n8n - Troubleshooting della connessione tra script Bash locale e API n8n

View File

@@ -1,4 +1,4 @@
Ottimo progetto. Per trasformare **LogWhisperer AI** in un prodotto reale in 4 giorni usando **OpenCode.ai**, dobbiamo configurare l'ambiente in modo che l'agente non si limiti a scrivere codice, ma agisca come un vero team di sviluppo (Tech Lead + Developer + QA). Ottimo progetto. Per trasformare **LogWhispererAI** in un prodotto reale in 4 giorni usando **OpenCode.ai**, dobbiamo configurare l'ambiente in modo che l'agente non si limiti a scrivere codice, ma agisca come un vero team di sviluppo (Tech Lead + Developer + QA).
Ecco come configurare OpenCode.ai seguendo la tua metodologia **Spec-Driven**, **TDD** e il **Metodo Sacchi**. Ecco come configurare OpenCode.ai seguendo la tua metodologia **Spec-Driven**, **TDD** e il **Metodo Sacchi**.

View File

@@ -1,6 +1,6 @@
# Piano d'Azione per lo Sviluppo della Landing Page # Piano d'Azione per lo Sviluppo della Landing Page
**Obiettivo:** Creare una landing page di alta qualità che comunichi efficacemente l'UVP di LogWhisperer AI e converta i visitatori in utenti attivi. **Obiettivo:** Creare una landing page di alta qualità che comunichi efficacemente l'UVP di LogWhispererAI e converta i visitatori in utenti attivi.
## 🎯 UVP da Comunicare ## 🎯 UVP da Comunicare
> *"Il DevOps tascabile che traduce i crash del tuo server e ti dice l'esatto comando per risolverli"* > *"Il DevOps tascabile che traduce i crash del tuo server e ti dice l'esatto comando per risolverli"*

View File

@@ -1,6 +1,6 @@
# Git History - LogWhisperer AI # Git History - LogWhispererAI
**Repository:** LogWhisperer AI **Repository:** LogWhispererAI
**Branch Principale:** `main` **Branch Principale:** `main`
**Ultimo Aggiornamento:** 2026-04-02 **Ultimo Aggiornamento:** 2026-04-02
**Commit Corrente:** `88cfe9a` **Commit Corrente:** `88cfe9a`
@@ -18,7 +18,7 @@
## Panoramica ## Panoramica
Questo documento traccia la storia dei commit del progetto LogWhisperer AI. Viene aggiornato periodicamente per riflettere l'evoluzione del codebase. Questo documento traccia la storia dei commit del progetto LogWhispererAI. Viene aggiornato periodicamente per riflettere l'evoluzione del codebase.
### Convenzioni di Commit ### Convenzioni di Commit

View File

@@ -1,5 +1,5 @@
# Product Requirements Document (PRD) - MVP # Product Requirements Document (PRD) - MVP
## Progetto: LogWhisperer AI (aka Sacchi's Server Sentinel) ## Progetto: LogWhispererAI (aka Sacchi's Server Sentinel)
**Status:** 🟢 MVP Active Development - Sprint 1 Completed **Status:** 🟢 MVP Active Development - Sprint 1 Completed
**Last Updated:** 2026-04-02 **Last Updated:** 2026-04-02

View File

@@ -4,7 +4,7 @@ Here is the English translation:
**PROMPT TO INSERT INTO THE AI:** **PROMPT TO INSERT INTO THE AI:**
*"Act as a Tech Lead and Project Manager expert in Lean Startup and Micro-SaaS methodologies. I have provided you with the Product Requirements Document (PRD) for the 'LogWhisperer AI' project. *"Act as a Tech Lead and Project Manager expert in Lean Startup and Micro-SaaS methodologies. I have provided you with the Product Requirements Document (PRD) for the 'LogWhispererAI' project.
Our goal is to launch this MVP to market in just 4 days ('fail fast, fail cheap' approach) using No-Code/Low-Code logic wherever possible to save time. Our goal is to launch this MVP to market in just 4 days ('fail fast, fail cheap' approach) using No-Code/Low-Code logic wherever possible to save time.
Your task is to analyze the PRD and generate a development strategy ('Spec-driven development') structured as follows:* Your task is to analyze the PRD and generate a development strategy ('Spec-driven development') structured as follows:*

View File

@@ -1,5 +1,5 @@
# Project Review - Sprint 1 # Project Review - Sprint 1
## LogWhisperer AI - Log Ingestion ## LogWhispererAI - Log Ingestion
**Data Review:** 2026-04-02 **Data Review:** 2026-04-02
**Sprint:** 1 - Log Ingestion Script **Sprint:** 1 - Log Ingestion Script
@@ -430,7 +430,7 @@ Tutti i deliverable dello Sprint 1 sono stati prodotti e verificati con successo
--- ---
**Review Condotta da:** Agent Staff LogWhisperer AI **Review Condotta da:** Agent Staff LogWhispererAI
**Data:** 2026-04-02 **Data:** 2026-04-02
**Prossima Review:** Post-Sprint 2 **Prossima Review:** Post-Sprint 2

View File

@@ -1,6 +1,6 @@
# Roadmap & Suggerimenti di Sviluppo # Roadmap & Suggerimenti di Sviluppo
> **Documento Living** - Questo file raccoglie idee, suggerimenti e potenziali nuove funzionalità per LogWhisperer AI. > **Documento Living** - Questo file raccoglie idee, suggerimenti e potenziali nuove funzionalità per LogWhispererAI.
> >
> Ultimo aggiornamento: 2026-04-03 > Ultimo aggiornamento: 2026-04-03
@@ -289,4 +289,4 @@ Hai un'idea? Aggiungila a questo documento seguendo il formato:
--- ---
*Documento mantenuto dal team LogWhisperer AI* *Documento mantenuto dal team LogWhispererAI*

View File

@@ -1,4 +1,4 @@
# 🤖 Staff di Agenti AI - LogWhisperer AI # 🤖 Staff di Agenti AI - LogWhispererAI
Questo documento definisce i ruoli, le responsabilità e le configurazioni per i sotto-agenti da utilizzare in OpenCode.ai per garantire un workflow "Spec-Driven" e "Safety First". Questo documento definisce i ruoli, le responsabilità e le configurazioni per i sotto-agenti da utilizzare in OpenCode.ai per garantire un workflow "Spec-Driven" e "Safety First".

View File

@@ -10,7 +10,7 @@
## 1. Overview ## 1. Overview
### 1.1 Scopo ### 1.1 Scopo
L'AI Processing Pipeline è il cuore intelligente di LogWhisperer AI. Trasforma log grezzi di sistema in insight azionabili utilizzando OpenRouter per accedere a modelli AI (GPT-4o-mini) con fallback automatico e costi ottimizzati. L'AI Processing Pipeline è il cuore intelligente di LogWhispererAI. Trasforma log grezzi di sistema in insight azionabili utilizzando OpenRouter per accedere a modelli AI (GPT-4o-mini) con fallback automatico e costi ottimizzati.
### 1.2 Flusso Dati ### 1.2 Flusso Dati
@@ -56,7 +56,7 @@ Il prompt di sistema incorpora esplicitamente i tre pilastri del Metodo Sacchi:
### 2.2 System Prompt Completo ### 2.2 System Prompt Completo
```javascript ```javascript
const SYSTEM_PROMPT = `Sei LogWhisperer AI, un assistente DevOps esperto specializzato nell'analisi di log di sistema. const SYSTEM_PROMPT = `Sei LogWhispererAI, un assistente DevOps esperto specializzato nell'analisi di log di sistema.
## MISSIONE ## MISSIONE
Analizza i log ricevuti e fornisci insight azionabili in italiano, semplice e chiaro. Analizza i log ricevuti e fornisci insight azionabili in italiano, semplice e chiaro.
@@ -305,7 +305,7 @@ const SITE_URL = process.env.OPENROUTER_SITE_URL || 'https://logwhisperer.ai';
const APP_NAME = process.env.OPENROUTER_APP_NAME || 'LogWhispererAI'; const APP_NAME = process.env.OPENROUTER_APP_NAME || 'LogWhispererAI';
// System Prompt (incollare qui il SYSTEM_PROMPT completo) // System Prompt (incollare qui il SYSTEM_PROMPT completo)
const SYSTEM_PROMPT = `Sei LogWhisperer AI...`; const SYSTEM_PROMPT = `Sei LogWhispererAI...`;
// Input dal nodo precedente // Input dal nodo precedente
const inputData = $input.first().json; const inputData = $input.first().json;

View File

@@ -1,6 +1,6 @@
# Sprint 1 Verification Report # Sprint 1 Verification Report
**Progetto:** LogWhisperer AI **Progetto:** LogWhispererAI
**Sprint:** 1 - Log Ingestion Script **Sprint:** 1 - Log Ingestion Script
**Data Verifica:** 2026-04-02 **Data Verifica:** 2026-04-02
**Verificatore:** OpenCode Agent **Verificatore:** OpenCode Agent
@@ -38,7 +38,7 @@
## 1. Overview ## 1. Overview
Questo documento certifica il completamento dello Sprint 1 del progetto LogWhisperer AI. Lo sprint aveva come obiettivo la creazione di uno script Bash per l'ingestion dei log di sistema, seguendo la metodologia TDD (Test-Driven Development) e il Metodo Sacchi. Questo documento certifica il completamento dello Sprint 1 del progetto LogWhispererAI. Lo sprint aveva come obiettivo la creazione di uno script Bash per l'ingestion dei log di sistema, seguendo la metodologia TDD (Test-Driven Development) e il Metodo Sacchi.
--- ---

View File

@@ -8,7 +8,7 @@
## 📋 Descrizione ## 📋 Descrizione
Il `fake-backend` è un server Node.js/Express che simula le risposte dell'API di LogWhisperer AI. È progettato per: Il `fake-backend` è un server Node.js/Express che simula le risposte dell'API di LogWhispererAI. È progettato per:
- **Sviluppo UI**: Testare l'interfaccia utente con risposte realistiche - **Sviluppo UI**: Testare l'interfaccia utente con risposte realistiche
- **Demo offline**: Mostrare il prodotto senza connessione internet - **Demo offline**: Mostrare il prodotto senza connessione internet

View File

@@ -1,4 +1,4 @@
# Dockerfile.dev - Development container for LogWhisperer AI Frontend # Dockerfile.dev - Development container for LogWhispererAI Frontend
# Optimized for Node.js with Hot Module Replacement (HMR) # Optimized for Node.js with Hot Module Replacement (HMR)
FROM node:20-alpine FROM node:20-alpine

View File

@@ -53,7 +53,7 @@ export const Footer: React.FC = () => {
<div className="flex items-center gap-2 mb-4"> <div className="flex items-center gap-2 mb-4">
<span className="text-2xl">🌌</span> <span className="text-2xl">🌌</span>
<span className="text-xl font-bold text-white tracking-tight"> <span className="text-xl font-bold text-white tracking-tight">
LogWhisperer AI LogWhispererAI
</span> </span>
</div> </div>
<p className="text-slate-400 text-sm leading-relaxed mb-6"> <p className="text-slate-400 text-sm leading-relaxed mb-6">
@@ -226,7 +226,7 @@ export const Footer: React.FC = () => {
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6"> <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6">
<div className="flex flex-col sm:flex-row items-center justify-between gap-4"> <div className="flex flex-col sm:flex-row items-center justify-between gap-4">
<p className="text-slate-500 text-sm"> <p className="text-slate-500 text-sm">
© {currentYear} LogWhisperer AI. Tutti i diritti riservati. © {currentYear} LogWhispererAI. Tutti i diritti riservati.
</p> </p>
<p className="text-slate-600 text-xs"> <p className="text-slate-600 text-xs">
Made with by Luca Sacchi Ricciardi Made with by Luca Sacchi Ricciardi

View File

@@ -12,7 +12,7 @@ export const Navbar: React.FC<NavbarProps> = ({ onCtaClick }) => {
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<span className="text-2xl">🌌</span> <span className="text-2xl">🌌</span>
<span className="text-xl font-bold text-slate-900 tracking-tight"> <span className="text-xl font-bold text-slate-900 tracking-tight">
LogWhisperer AI LogWhispererAI
</span> </span>
</div> </div>
@@ -20,7 +20,7 @@ export const Navbar: React.FC<NavbarProps> = ({ onCtaClick }) => {
<button <button
onClick={onCtaClick} onClick={onCtaClick}
className="px-5 py-2.5 bg-indigo-600 hover:bg-indigo-700 text-white font-semibold rounded-lg transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 text-sm sm:text-base" className="px-5 py-2.5 bg-indigo-600 hover:bg-indigo-700 text-white font-semibold rounded-lg transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 text-sm sm:text-base"
aria-label="Inizia gratis con LogWhisperer AI" aria-label="Inizia gratis con LogWhispererAI"
> >
Inizia Gratis Inizia Gratis
</button> </button>

View File

@@ -49,7 +49,7 @@ export const Hero: React.FC<HeroProps> = ({
<button <button
onClick={onSecondaryCtaClick} onClick={onSecondaryCtaClick}
className="w-full sm:w-auto px-8 py-4 bg-white hover:bg-slate-50 text-slate-700 font-semibold rounded-xl border-2 border-slate-200 transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-slate-400 focus:ring-offset-2 text-lg" className="w-full sm:w-auto px-8 py-4 bg-white hover:bg-slate-50 text-slate-700 font-semibold rounded-xl border-2 border-slate-200 transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-slate-400 focus:ring-offset-2 text-lg"
aria-label="Guarda la demo di LogWhisperer AI" aria-label="Guarda la demo di LogWhispererAI"
> >
Guarda la Demo Guarda la Demo
</button> </button>

View File

@@ -94,7 +94,7 @@ export const OnboardingWizard: React.FC<OnboardingWizardProps> = ({ onComplete }
Inizia in 3 semplici passi Inizia in 3 semplici passi
</h2> </h2>
<p className="text-lg text-slate-600 max-w-2xl mx-auto"> <p className="text-lg text-slate-600 max-w-2xl mx-auto">
Configura LogWhisperer AI sul tuo server in meno di 5 minuti. Configura LogWhispererAI sul tuo server in meno di 5 minuti.
</p> </p>
</div> </div>
@@ -145,7 +145,7 @@ export const OnboardingWizard: React.FC<OnboardingWizardProps> = ({ onComplete }
<Rocket className="w-10 h-10 text-indigo-600" aria-hidden="true" /> <Rocket className="w-10 h-10 text-indigo-600" aria-hidden="true" />
</div> </div>
<h3 className="text-2xl font-bold text-slate-900 mb-4"> <h3 className="text-2xl font-bold text-slate-900 mb-4">
Benvenuto su LogWhisperer AI Benvenuto su LogWhispererAI
</h3> </h3>
<p className="text-slate-600 mb-6 max-w-lg mx-auto"> <p className="text-slate-600 mb-6 max-w-lg mx-auto">
Il tuo assistente DevOps personale che monitora i log del server Il tuo assistente DevOps personale che monitora i log del server

View File

@@ -75,7 +75,7 @@ export const ProblemSolution: React.FC = () => {
🌌 🌌
</div> </div>
<div> <div>
<div className="font-semibold text-slate-900">LogWhisperer AI</div> <div className="font-semibold text-slate-900">LogWhispererAI</div>
<div className="text-xs text-slate-500">Ora</div> <div className="text-xs text-slate-500">Ora</div>
</div> </div>
</div> </div>

View File

@@ -1,5 +1,5 @@
# Dockerfile for Fake Backend # Dockerfile for Fake Backend
# Development mock API server for LogWhisperer AI # Development mock API server for LogWhispererAI
FROM node:20-alpine FROM node:20-alpine

View File

@@ -1,10 +1,10 @@
/** /**
* Fake Backend Server for LogWhisperer AI * Fake Backend Server for LogWhispererAI
* *
* Simulates AI analysis responses for frontend development * Simulates AI analysis responses for frontend development
* without requiring real backend or OpenRouter API calls. * without requiring real backend or OpenRouter API calls.
* *
* @author LogWhisperer AI Team * @author LogWhispererAI Team
* @version 1.0.0 * @version 1.0.0
*/ */
@@ -180,7 +180,7 @@ app.get('/health', (req, res) => {
*/ */
app.get('/', (req, res) => { app.get('/', (req, res) => {
res.json({ res.json({
name: 'LogWhisperer AI - Fake Backend', name: 'LogWhispererAI - Fake Backend',
version: '1.0.0', version: '1.0.0',
description: 'Mock API server for frontend development', description: 'Mock API server for frontend development',
endpoints: { endpoints: {
@@ -206,7 +206,7 @@ app.use((err, req, res, next) => {
app.listen(PORT, () => { app.listen(PORT, () => {
console.log(` console.log(`
╔══════════════════════════════════════════════════════════════╗ ╔══════════════════════════════════════════════════════════════╗
║ LogWhisperer AI - Fake Backend Server ║ ║ LogWhispererAI - Fake Backend Server
║ ║ ║ ║
║ 🚀 Server running on http://localhost:${PORT} ║ 🚀 Server running on http://localhost:${PORT}
║ 📖 Documentation: docs/tools_fake_backend.md ║ ║ 📖 Documentation: docs/tools_fake_backend.md ║

View File

@@ -1,4 +1,4 @@
# LogWhisperer AI - Workflow n8n # LogWhispererAI - Workflow n8n
Workflow per l'ingestion sicura dei log con validazione HMAC-SHA256. Workflow per l'ingestion sicura dei log con validazione HMAC-SHA256.

View File

@@ -131,7 +131,7 @@ cd /home/google/Sources/LucaSacchiNet/LogWhispererAI
# Output atteso: # Output atteso:
# ========================================== # ==========================================
# LogWhisperer AI - Workflow Test Suite # LogWhispererAI - Workflow Test Suite
# Target: http://192.168.254.12:5678 # Target: http://192.168.254.12:5678
# ========================================== # ==========================================
# #

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
# LogWhisperer AI - Workflow Test Script # LogWhispererAI - Workflow Test Script
# Verifica che il workflow n8n risponda correttamente # Verifica che il workflow n8n risponda correttamente
# #
@@ -205,7 +205,7 @@ EOF
# Main # Main
main() { main() {
echo "==========================================" echo "=========================================="
echo "LogWhisperer AI - Workflow Test Suite" echo "LogWhispererAI - Workflow Test Suite"
echo "Target: ${N8N_URL}" echo "Target: ${N8N_URL}"
echo "==========================================" echo "=========================================="
echo "" echo ""