Documentație
Tot ce trebuie ca să instalați cemainou pe serverul vostru și să vă puneți echipa la treabă. Ghidul complet, în engleză, e și în arhivă: docs/installation.md.
Ce e cemainou
O aplicație web pe care o instalați pe serverul vostru, plus un server MCP prin care agenții AI ai echipei scriu în ea. Oamenii lucrează în aplicație, din browser sau ca aplicație pe telefon; agenții (Claude, ChatGPT, Cursor, Codex, Gemini) lucrează prin MCP: fac planuri, pun sarcini, le preiau și raportează ce s-a făcut.
Fiecare vede ce îl privește: echipa vede proiectele, liderul vede ce merge și ce e blocat, un colaborator vede doar proiectele lui, iar clientul doar proiectul lui, fără ore și fără ce e intern.
Ce e pe server
O singură aplicație Laravel. Nu instalează servicii, nu pornește procese care rămân deschise și nu trimite nimic în afară fără să alegeți.
- Interfața web, pentru oameni, la adresa aleasă de voi (de exemplu
https://echipa.firma.md). - Serverul MCP, pentru agenți, la
/mcppe aceeași adresă, cu cheie pentru fiecare agent sau cu autentificare OAuth, pentru aplicații. - Folderul
data/, cu tot ce păstrează instalarea: setările (.env, cu cheia aplicației), baza de date SQLite, fișierele, backup-urile, sesiunile și jurnalele. Codul se poate înlocui oricând fără să atingădata/.
Cerințe
- PHP 8.4 sau mai nou, cu extensiile
mbstring,openssl,fileinfo,intl,zip,ctype,tokenizer,domșipdo_sqlite(saupdo_mysql);sodiumpentru actualizările din browser. - O bază de date: SQLite (recomandat, fără nimic de configurat) sau MySQL 8 / MariaDB 10.2.
- Drept de scriere pentru PHP în
data/,storage/șibootstrap/cache/. - Rădăcina site-ului pe folderul
public/. Dacă hostingul nu permite, un.htaccessdin arhivă trimite totul prinpublic/. - HTTPS: agenții se conectează doar prin https.
- Spațiu: arhiva are 26 MB, aplicația instalată în jur de 125 MB; pentru început, recomandăm în jur de 1 GB liber.
Ce crește în timp. Baza de date rămâne mică (câțiva MB la sute de update-uri). Spațiul îl iau fișierele urcate pe proiecte și backup-urile din data/backups: fiecare backup copiază baza și fișierele, iar implicit se păstrează ultimele 7. Ca să ocupe mai puțin, păstrați mai puține backup-uri (Setări → Backup) sau mutați-le periodic pe alt disc.
Merge pe un hosting obișnuit (DirectAdmin, cPanel), pe un VPS sau în Docker. Pagina de instalare verifică singură tot ce e mai sus și spune ce lipsește.
Instalare
- Descărcați arhiva de pe pagina principală și urcați-o pe hosting, într-un folder al ei. Dezarhivați-o acolo.
- Deschideți adresa în browser. Prima vizită pregătește
data/și vă duce la pagina de instalare. - Pagina verifică serverul, apoi cere adresa, limba și fusul orar al echipei, primul admin și baza de date.
- „Instalează și intră”: baza se creează, adminul intră direct, iar pagina de instalare dispare.
- Din Admin → Setări: emailul (pentru invitații și „Ai uitat parola?”), canalele, backup-ul. Din Admin → Oameni: invitațiile.
Păstrați undeva sigur APP_KEY din data/.env: secretele din Setări (parola de email, canalele) sunt criptate cu ea.
Conectarea agenților
Fiecare om își conectează agentul o singură dată, din Profil → Agenți.
Claude Code, Cursor, Codex
Profilul dă o comandă de copiat în terminal, valabilă 10 minute. Ea conectează serverul MCP cu o cheie nouă, pune comanda scurtă /upd și hook-urile care măsoară timpul de lucru. Merge și cu Claude Code din aplicația desktop.
Aplicațiile ChatGPT și Claude
Pe calculator sau pe telefon, ca un conector personalizat, cu adresa https://adresa-voastră/mcp. Aplicația deschide cemainou, omul intră cu contul lui și apasă „Permite”. Fără comandă și fără cheie de copiat.
Timpul de lucru
Cu Claude Code, Cursor și Codex, timpul se măsoară singur, din sesiunile agentului (prin hook-uri). Din aplicațiile ChatGPT și Claude nu se vede când lucrați, așa că timpul se spune agentului într-o frază („am lucrat două ore la site-ul primăriei”) sau se adaugă din cemainou. Restul (planuri, sarcini, update-uri, rapoarte) merge la fel, din orice agent.
Ce poate face agentul
Să raporteze ce s-a făcut (/upd: agentul face ciorna din conversație și din git, omul confirmă), să vadă și să ia sarcini, să pună sarcini noi, să facă un plan pentru un proiect nou, să citească contextul proiectului și ce au făcut colegii. Agentul trimite doar ce aprobă omul; codul, fișierele și conversațiile rămân la el.
Nu merge conectarea?
Problemele pe care le-au avut oameni reali, fiecare cu soluția ei. Fereastra de conectare din Profil arată oricum, pe loc, dacă a mers și ce lipsește.
„Claude Code nu e instalat sau nu e în PATH”
Comanda caută singură Claude Code și în locurile unde se instalează de obicei. Dacă tot nu-l găsește, fie îl instalați (curl -fsSL https://claude.ai/install.sh | bash, apoi un terminal nou), fie lucrați doar în aplicația Claude desktop: comanda merge și fără Claude Code în terminal.
Lucrez doar în aplicația Claude desktop
În fereastra de conectare, copiați textul „pentru agent” și lipiți-l în chat: agentul rulează exact comanda noastră. Apoi reporniți aplicația. Nu lăsați agentul să facă singur configurarea: ar pune doar serverul, fără măsurarea timpului.
Am un server vechi, „whatsupai”
Rulați din nou comanda din Profil: îl înlocuiește cu „cemainou”, cu o cheie nouă, și păstrează restul setărilor.
„A command takes file @-mentions but no other…”
E un mesaj al aplicației Claude desktop. Trimiteți comanda cu / singură, fără text sau linkuri după ea; ce mai vreți să spuneți, scrieți în mesajul următor.
Agentul merge, dar timpul nu se măsoară
Lipsesc hook-urile: rulați din nou comanda din Profil, exact cum e, și deschideți o sesiune nouă. Cu aplicațiile ChatGPT și Claude (conector), timpul nu se poate măsura singur: îl spuneți agentului într-o frază.
„Codul de conectare a expirat”
Comanda merge o singură dată, 10 minute. Creați alta din Profil → Agenți.
„Serverul nu acceptă cheia”
Cheia a fost revocată sau contul e inactiv. Conectați din nou din Profil; dacă nu merge, întrebați un admin.
Altceva? Scrieți-ne la mail@rt.md, cu mesajul exact din terminal.
Oameni și roluri
- Admin: setările, oamenii, actualizările, backup-ul.
- Lider: conduce proiecte, împarte sarcini, trimite rapoartele lunare clienților.
- Membru: lucrează pe proiectele echipei.
- Colaborator: un om din afară; vede doar proiectele pe care e adăugat.
- Client: vede doar proiectul lui, fără ore și fără ce e intern; cere ce are nevoie și arată pe site ce vrea schimbat.
Clienții nu se numără la cei 5 oameni gratuiți.
Email, cron, canale
Email (recomandat)
În Setări → Email, un server SMTP. Fără el, invitațiile sunt linkuri pe care le trimiteți singuri.
Cron (opțional)
Fără cron, curățenia zilnică, backup-ul și rezumatul săptămânal rulează la prima vizită după ora lor. Cu cron, la timp:
* * * * * cd /cale/spre/cemainou && php artisan schedule:run >> /dev/null 2>&1
Email spre sarcină, Telegram, Slack (opționale)
Fiecare proiect poate avea o adresă de email: ce se trimite acolo devine sarcină, cu fișierele. Update-urile publicate pot ajunge într-un grup de Telegram sau un canal Slack, iar fiecare om își poate primi notificările pe Telegram. Totul din Setări.
Actualizări
Adminii văd pe pagina Azi când apare o versiune nouă. Arhiva se descarcă și se încarcă pe pagina de actualizare: se instalează doar dacă poartă semnătura RT și fiecare fișier se potrivește, după un backup. Codul vechi rămâne până la următoarea actualizare. Dacă PHP nu poate scrie în folderul aplicației, arhiva se urcă prin FTP peste cod, fără data/, iar pagina termină singură pasul bazei de date.
Backup
Zilnic, ultimele 7 păstrate, în data/backups: baza de date, fișierele și un manifest, într-o arhivă zip. Se mai poate face oricând din Setări. Pentru restaurare (SQLite): database.sqlite în data/ și files/ în data/files, cu aceeași APP_KEY.
Licență
Licența cemainou, bazată pe FSL: codul se poate citi, folosi și modifica pentru orice, mai puțin pentru un produs concurent. O instalare e gratuită cât o folosesc cel mult 5 oameni. Peste, o licență pentru acea instalare, cu oricâți oameni, la un preț pe care îl alegeți voi: €200, €400 sau €900 pe an. Cheia se pune în Setări → Licență; fără ea, totul merge, doar actualizările se opresc. Fiecare versiune devine Apache 2.0 după doi ani.
Ajutor
Butonul de feedback din aplicație ajunge la adminii voștri și, dacă alegeți în Setări, și la noi. Pentru orice altceva: mail@rt.md. Răspundem în zilele lucrătoare, de obicei în aceeași zi.