This commit is contained in:
2026-03-22 23:54:59 +01:00
parent 91963d5173
commit 686429d9cf
20 changed files with 721 additions and 61 deletions

View File

@@ -0,0 +1,47 @@
#!/usr/bin/env node
/**
* SessionStart hook: reminds Claude to index DOCS/*.md into context-mode.
* Scans for DOCS/ or docs/ folder and lists .md files to index.
*/
import { readdirSync, statSync, existsSync } from 'fs';
import { join, relative } from 'path';
const projectRoot = process.env.PROJECT_DIR || process.cwd();
let docsDir = null;
for (const candidate of ['DOCS', 'docs']) {
const fullPath = join(projectRoot, candidate);
if (existsSync(fullPath)) {
docsDir = fullPath;
break;
}
}
if (!docsDir) {
process.exit(0);
}
function getMdFiles(dir) {
const files = [];
for (const entry of readdirSync(dir, { withFileTypes: true })) {
const fullPath = join(dir, entry.name);
if (entry.isDirectory()) {
files.push(...getMdFiles(fullPath));
} else if (entry.name.endsWith('.md')) {
files.push(relative(projectRoot, fullPath).replace(/\\/g, '/'));
}
}
return files;
}
const mdFiles = getMdFiles(docsDir);
if (mdFiles.length > 0) {
const instructions = {
result: "INDEX_DOCS_REMINDER",
message: `Na starcie sesji zaindeksuj poniższe pliki dokumentacji do context-mode (ctx_index) aby oszczędzać okno kontekstu. Użyj pełnych ścieżek z PROJECT_DIR.`,
files: mdFiles,
projectDir: projectRoot.replace(/\\/g, '/')
};
console.log(JSON.stringify(instructions));
}

12
.claude/memory/MEMORY.md Normal file
View File

@@ -0,0 +1,12 @@
# Memory Index — orderPRO
## Feedback
- [feedback_concerns_cleanup.md](feedback_concerns_cleanup.md) — Po naprawieniu concern: usunąć go z CONCERNS.md całkowicie
- [feedback_polish_language.md](feedback_polish_language.md) — Zawsze pisz po polsku w tym projekcie
- [feedback_screenshots_dir.md](feedback_screenshots_dir.md) — Screenshoty zapisywać w .claude/screenshots/, nie w katalogu głównym
## Reference
- [reference_server_deploy.md](reference_server_deploy.md) — FTP deploy na hostido, vendor/ bez dev deps, usuwanie ręczne
- [reference_agent_login.md](reference_agent_login.md) — Dane logowania konta technicznego Claude Agent do panelu orderPRO

View File

@@ -0,0 +1,11 @@
---
name: feedback_concerns_cleanup
description: Po naprawieniu buga/concern — usuwać wpis z CONCERNS.md (nie zostawiać przekreślonego ani niezmienionego)
type: feedback
---
Po naprawieniu każdego wpisu z `.paul/codebase/CONCERNS.md`**usuń go całkowicie** z pliku.
**Why:** Zostawienie naprawionego concern (nawet przekreślonego ~~jak to~~) powoduje dezorientację — user wraca do starych wpisów myśląc, że bug jest aktywny (jak "Application.php Manually Instantiates Full Object Graph" który był już fixed w Plan 02-04).
**How to apply:** Po każdym UNIFY — sprawdź czy któryś concern z CONCERNS.md został rozwiązany w tym planie. Jeśli tak, usuń go całkowicie. Wyjątek: wpis z notatką o zmianie (jak AllegroStatusSyncService ~~przekreślony~~ z adnotacją) — można zostawić tymczasowo, ale i tak lepiej usunąć.

View File

@@ -0,0 +1,11 @@
---
name: Pisz po polsku
description: Użytkownik chce, żeby Claude zawsze komunikował się po polsku w tym projekcie
type: feedback
---
Zawsze pisz po polsku — odpowiedzi, komentarze, statusy, pytania.
**Why:** Użytkownik wyraźnie poprosił o komunikację po polsku.
**How to apply:** Każda odpowiedź tekstowa ma być po polsku. Kod, nazwy klas/metod i komentarze techniczne w kodzie pozostają po angielsku (konwencja projektu).

View File

@@ -0,0 +1,13 @@
---
name: screenshots_dir
description: Screenshoty w .claude/screenshots/ projektu, przeglądarka 1920px szerokości
type: feedback
---
Screenshoty z Puppeteer zapisuj w `.claude/screenshots/` **w katalogu projektu** (np. `C:\visual studio code\projekty\orderPRO\.claude\screenshots\<nazwa>.png`).
Przy uruchamianiu przeglądarki Puppeteer ustawiaj viewport na szerokość **1920px**.
**Why:** Katalog `/.claude` jest na liście ignore ftp-kr, więc pliki tam nie są wysyłane na serwer. Użytkownik pracuje na monitorze 1920px i chce widzieć realny układ.
**How to apply:** Przy każdym `puppeteer_launch` ustawiaj `viewport.width: 1920`. Przy każdym `puppeteer_screenshot` używaj ścieżki w `C:\visual studio code\projekty\orderPRO\.claude\screenshots\`.

View File

@@ -0,0 +1,11 @@
---
name: sonarqube_setup_pending
description: Użytkownik chce skonfigurować SonarQube na serwerze Hetzner (Windows + Docker) - potrzebuje pomocy krok po kroku
type: project
---
Użytkownik chce skonfigurować SonarQube krok po kroku na dedykowanym serwerze Hetzner z Windows i Dockerem.
**Why:** Integracja z Claude Code przez MCP dla analizy jakości kodu projektu orderPRO.
**How to apply:** Przy pierwszej okazji po zakończeniu bieżącego zadania przypomnij o konfiguracji SonarQube i zaproponuj przewodnik krok po kroku (Docker Compose + reverse proxy + MCP config).

View File

@@ -0,0 +1,11 @@
---
name: agent_login
description: Dane logowania konta technicznego Claude Agent do panelu orderPRO
type: reference
---
Konto techniczne do logowania na stronie orderPRO:
- URL: https://orderpro.projectpro.pl/login
- Email: agent@orderpro.local
- Haslo: ClaudeAgent2026!
- User ID w bazie: 2

View File

@@ -0,0 +1,20 @@
---
name: Deployment na serwer produkcyjny
description: FTP deploy na hostido — vendor/ musi być bez dev deps, upload automatyczny ale usuwanie ręczne
type: reference
---
Serwer: host700513.hostido.net.pl (FTP, port 21)
Dane w: .vscode/sftp.json
Remote path: /public_html
Upload plików na serwer odbywa się automatycznie (VS Code SFTP plugin).
Usuwanie plików z serwera NIE jest automatyczne — trzeba ręcznie.
**vendor/ na serwerze:**
- Użytkownik NIE ma composera na serwerze
- vendor/ musi być zbudowany lokalnie z `--no-dev` przed wrzuceniem na serwer
- Komenda: `php composer.phar install --no-dev --optimize-autoloader --ignore-platform-reqs`
- Nie wrzucaj dev dependencies (phpunit, bypass-finals) na serwer — powoduje fatal error
**How to apply:** Przy każdej zmianie composer.json/vendor/ — pamiętaj o deploy vendor/ bez dev deps.

View File

@@ -22,7 +22,24 @@
"Bash(php tmp_gs1_test.php)",
"mcp__serena__write_memory",
"mcp__serena__prepare_for_new_conversation",
"Bash(npx sass:*)"
"Bash(npx sass:*)",
"Bash(PROJECT_DIR=\"C:/visual studio code/projekty/orderPRO\" node .claude/hooks/index-docs.mjs)",
"mcp__plugin_context-mode_context-mode__ctx_index",
"mcp__plugin_context-mode_context-mode__ctx_search",
"mcp__plugin_context-mode_context-mode__ctx_batch_execute"
]
},
"hooks": {
"SessionStart": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "node .claude/hooks/index-docs.mjs"
}
]
}
]
}
}