update
This commit is contained in:
47
.claude/hooks/index-docs.mjs
Normal file
47
.claude/hooks/index-docs.mjs
Normal 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
12
.claude/memory/MEMORY.md
Normal 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
|
||||
11
.claude/memory/feedback_concerns_cleanup.md
Normal file
11
.claude/memory/feedback_concerns_cleanup.md
Normal 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ąć.
|
||||
11
.claude/memory/feedback_polish_language.md
Normal file
11
.claude/memory/feedback_polish_language.md
Normal 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).
|
||||
13
.claude/memory/feedback_screenshots_dir.md
Normal file
13
.claude/memory/feedback_screenshots_dir.md
Normal 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\`.
|
||||
11
.claude/memory/project_sonarqube.md
Normal file
11
.claude/memory/project_sonarqube.md
Normal 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).
|
||||
11
.claude/memory/reference_agent_login.md
Normal file
11
.claude/memory/reference_agent_login.md
Normal 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
|
||||
20
.claude/memory/reference_server_deploy.md
Normal file
20
.claude/memory/reference_server_deploy.md
Normal 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.
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user