Cloude Console – informacje

https://console.anthropic.com

https://platform.claude.com/settings/keys

Claude Console (console.anthropic.com)

To panel administracyjny dla deweloperów i firm którzy chcą korzystać z API Claude. Służy do:

  • Zarządzania kluczami API — generujesz klucze żeby własne aplikacje mogły rozmawiać z Claude
  • Monitorowania użycia — widzisz ile zapytań wysłałeś, ile kosztowało
  • Testowania API — możesz ręcznie wysyłać zapytania do modelu (tzw. Workbench)
  • Ustawień rozliczeniowych — doładowujesz konto i płacisz za użycie API
  • Zarządzania zespołem — dodajesz innych programistów do projektu

Kiedy Ci się przyda Console?

W kontekście Twojego projektu ERP/SaaS — w przyszłości, gdy będziesz chciał:

  • Wbudować funkcje AI bezpośrednio w swój system (np. automatyczne opisywanie faktur, analiza projektów)
  • Udostępnić asystenta AI swoim klientom (tenantom)
  • Zintegrować Claude z CakePHP przez API

Wtedy w Console wygenerujesz klucz API i będziesz go używał w kodzie PHP.

 

Podsumowanie

Claude Code Claude Console
Dla kogo Ty jako programista Ty jako właściciel aplikacji
Gdzie działa Terminal serwera Przeglądarka (console.anthropic.com)
Do czego Pisanie kodu Zarządzanie API i rozliczenia
Koszt Wliczony w plan Pro Płatne za użycie (osobno)

Cloude Code – używanie

Uruchomienie w katalogu projektu /var/www/my_proj

# claude

Utworzy plik CLAUDE.md

/init

W każdym projekcie możesz utworzyć plik CLAUDE.md w głównym katalogu. To jak „instrukcja obsługi” projektu dla Claude — wpisujesz tam rzeczy które powinien zawsze wiedzieć. Dzięki temu nie musisz mu tego tłumaczyć za każdym razem gdy zaczynasz nową sesję.

Przykłady pytań

**Analiza kodu:**
```
Wyjaśnij mi jak działa plik src/Controller/InvoicesController.php
```

**Szukanie błędów:**
```
Znajdź potencjalne błędy w katalogu src/Controller/
```

**Pisanie kodu:**
```
Dodaj do modelu Invoice walidację numeru NIP
```

**Pytania o projekt:**
```
Jak mam dodać nową kolumnę do tabeli companies w MariaDB i zaktualizować model CakePHP?

Lista komend : ?

! for bash mode 
double tap esc to clear input 
ctrl + shift + - to undo
/ for commands 
shift + tab to auto-accept edits 
ctrl + z to suspend
@ for file paths 
ctrl + o for verbose output 
ctrl + v to paste images
& for background 
ctrl + t to toggle tasks 
meta + p to switch model
/btw for side question 
backslash (\) + return (⏎) for newline 
ctrl + s to stash prompt
ctrl + g to edit in $EDITOR
/keybindings to customize

 

Cloude Code logowanie

Logowanie do konta Claude Pro  https://claude.ai/

# cd /ścieżka/do/twojego/projektu

# claude

Co się wydarzy:

  1. Claude Code wyświetli ekran powitalny
  2. Zapyta o zgodę na warunki użytkowania — wpisz yes i Enter
  3. Otworzy się link do przeglądarki — musisz go skopiować i otworzyć na swoim lokalnym komputerze (bo serwer nie ma przeglądarki)
  4. Zalogujesz się przez przeglądarkę swoim kontem Claude Pro
  5. W terminalu pojawi się potwierdzenie zalogowania
Po zalogowaniu wkleiłem link do przeglądarki, pojawił się kod który wkleiłem do cloude code na serwerze. Został zaakceptowany, wyświetlił poprawny adres email. Teraz mam okno Security Notes. Kliknąłem Enter i jestem w Accessing workspace. Potwierdzam że ufam folderowi mojego projektu. Jestem na ekranie roboczym (dashboard) Claude Code v2.1.81

W okno konsolowe cloude code wpisz:

Co to za projekt? Opisz mi krótko jego strukturę.

Jak działa ten interfejs:

  • Piszesz polecenia naturalnym językiem
  • Claude Code może czytać pliki, pisać kod, uruchamiać komendy
  • Przed każdą zmianą w plikach zapyta Cię o zgodę
  • Wyjście z Claude Code: wpisz /exit lub naciśnij Ctrl+C

Lista komend : ?

! for bash mode 
double tap esc to clear input 
ctrl + shift + - to undo
/ for commands 
shift + tab to auto-accept edits 
ctrl + z to suspend
@ for file paths 
ctrl + o for verbose output 
ctrl + v to paste images
& for background 
ctrl + t to toggle tasks 
meta + p to switch model
/btw for side question 
backslash (\) + return (⏎) for newline 
ctrl + s to stash prompt
ctrl + g to edit in $EDITOR
/keybindings to customize

 

Debian instalacja Cloude Code

Instalacja globalna dla użytkownika (nie root)

Utwórz lokalny katalog dla globalnych pakietów npm:

# mkdir -p ~/.npm-global

Skonfiguruj npm, żeby używał tego katalogu:

# npm config set prefix '~/.npm-global'

Dodaj nowy katalog do PATH (żeby system znajdował zainstalowane programy):

# echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc

Załaduj nową konfigurację:

# source ~/.bashrc

Teraz zainstaluj Claude Code:

# npm install -g @anthropic-ai/claude-code

Sprawdź czy działa:

# claude --version

Authentication – podstawowe komendy

W szablonie:

<?php
  $user_id = $this->getRequest()->getAttribute('identity')->getIdentifier();
?>

W kontrolerze:

$user_id = $this->Authentication->getIdentity()->getIdentifier();

$role = $this->Authentication->getIdentity()->get('role');

$role == 'admin' || 'user'

Wyłączenie z dostępu po zalogowaniu

use Cake\Event\EventInterface;


public function beforeFilter(EventInterface $event): void
{
        parent::beforeFilter($event);

        if(!$this->is_admin) {
            $this->Flash->error(__('Nie ma takiej strony'));
            $event->setResult($this->redirect('/'));
            return;
        }

        $this->Authentication->addUnauthenticatedActions(['edit', 'changePassword' ]);
    }

Aktualizacja URL

let url = new URL(location.href);

$("#proj-tabs").find(".nav-link").on('click', function() {

    var tab_name = $(this).attr('data-bs-target').replace("#", "");

    url.searchParams.set("s_tab", tab_name);

    history.replaceState(null, null, url.href);

});

NipTrait

validateNip($nip)   - Sprawdza poprawność     - Invoice::validateNip('1234567890') → true 
normalizeNip($nip)  - Usuwa myślniki, spacje  - Invoice::normalizeNip('123-456-78-90') → '1234567890'
formatNip($nip)     - Formatuje XXX-XXX-XX-XX - Invoice::formatNip('1234567890') → '123-456-78-90'
generateRandomNip() - Generuje losowy - NIP   - Invoice::generateRandomNip() → '857-234-19-23'
getTestNip()        - Stały NIP testowy       - Invoice::getTestNip() → '123-456-78-16'
isForeignNip($nip)  - Czy NIP zagraniczny     - Invoice::isForeignNip('9912345678') → true 
getNipInfo($nip)    - Debug info Zwraca tablicę z detailami 

seller_nip_formatted - Virtual field - $invoice->seller_nip_formatted → '123-456-78-90' 
buyer_nip_formatted  - Virtual field - $invoice->buyer_nip_formatted → '123-456-78-90'

Czytaj dalej NipTrait

Nowy user

# adduser nowy_user

// User nowy_user dodany do grupy sudo - uprawnienia roota
# usermod -aG sudo nowy_user