# Projekty i sesje

Projekt w Speedwave to zarejestrowana przestrzeń robocza: nazwa powiązana z katalogiem na hoście. Definicje projektów żyją w twoim pliku konfiguracyjnym użytkownika, `~/.speedwave/config.json`, w tablicy `projects`, gdzie każdy wpis ma `name` i `dir`. Pierwszy projekt tworzysz, uruchamiając `speedwave init` w katalogu, w którym chcesz pracować. Kroki znajdziesz w [tworzeniu pierwszego projektu](/pl/docs/get-started/first-project/).

## Każdy projekt to osobny świat

Każdy projekt dostaje własną sieć kontenerów, własny katalog tokenów i własny katalog domowy Claude. Praca w jednym projekcie zostaje odseparowana od pracy w innym, więc problem zamknięty w jednym projekcie nie może dosięgnąć drugiego.

Za tym stoją dwie granice. Każdy projekt działa domyślnie na sieci o nazwie `speedwave_<project>_network`, a kontener z sieci jednego projektu nie może rozmawiać z kontenerami z sieci innego. Każdy projekt [trzyma też swoje dane uwierzytelniające usług we własnym katalogu tokenów](/pl/docs/security/credentials/), `~/.speedwave/tokens/<project>/<service>/`, a worker widzi wyłącznie podkatalog swojej własnej usługi. Pełny opis obu granic, wraz z warstwą maszyny wirtualnej pod spodem, znajdziesz w [izolacji](/pl/docs/security/isolation/).

Każdy projekt ma też własny katalog domowy Claude pod `<data_dir>/claude-home/<project>/`, w którym trzymane są twoje dane uwierzytelniające Claude Code, sesje i stan onboardingu. Ponieważ ten katalog jest przypisany do projektu, zalogowanie do Claude w jednym projekcie nie loguje cię w drugim.

## Praca z więcej niż jednym projektem

Speedwave potrafi uruchamiać kilka projektów równolegle. Operacje zmieniające kontenery projektu, na przykład jego start czy aktualizacja, są serializowane pojedynczo dla danego projektu, ale różne projekty nigdy się nie blokują. W aplikacji Desktop przełącznik projektów wybiera, który projekt jest aktywny: przełączenie uruchamia kontenery projektu docelowego i w tle, pojedynczo, wyłącza kontenery poprzedniego.

Z poziomu CLI to nie katalog roboczy wybiera projekt. Samo `speedwave` używa aktywnego projektu z twojej konfiguracji, a `--project <name>` celuje w konkretny zarejestrowany projekt z dowolnego katalogu.
**Note:** Projekty współdzielą jedną maszynę wirtualną na instancję Speedwave. Są od siebie odseparowane na poziomie sieci i katalogu tokenów, nie przez osobne maszyny wirtualne.