KB: skymirror
← All workspaces4101 results — page 20 of 83
| Title | Domain | Type | Severity | Source | Freshness | Updated |
|---|---|---|---|---|---|---|
| [Workflow] ui-designer-syncrovanis: Pico CSS Classless Philosophy | claude/agents/ui-designer-syncrovanis | pattern | medium | ui-designer-syncrovanis.md | 88 | 2026-03-20 02:00:43 |
|
Body:
- Semantic HTML gets styled automatically (`<table>`, `<article>`, `<nav>`, `<dialog>`)
- CSS custom properties: `var(--pico-*)` for theming
- Minimal custom classes — only for domain-specific elements
- Dark mode via `[data-theme="dark"]`
|
||||||
| [Workflow] ui-designer-syncrovanis: File Layout | claude/agents/ui-designer-syncrovanis | pattern | medium | ui-designer-syncrovanis.md | 88 | 2026-03-20 02:00:43 |
|
Body:
```
/var/www/syncrovanis/dashboard/
app.py — Flask routes + context processor
static/style.css — Custom CSS (layer colors, badges, layout)
templates/
base.html — Sidebar nav, CDN links, page scaffold
activity.html — Log feed with filters
analytics.html — Charts (Chart.js)
workspaces.html — Workspace status cards
kb_browser.html — KB entry browser
config.html — Engine config + L3 toggle
...
|
||||||
| [Tool usage] ui-designer-syncrovanis: Tech Stack | claude/agents/ui-designer-syncrovanis | api_note | medium | ui-designer-syncrovanis.md | 88 | 2026-03-20 02:00:43 |
|
Body:
- **Backend:** Python 3 / Flask (single file `dashboard/app.py`)
- **Templates:** Jinja2 (`dashboard/templates/`)
- **CSS Framework:** Pico CSS 2.x (CDN, classless — semantic HTML drives styling)
- **Charts:** Chart.js 4.4.7 (CDN)
- **Custom CSS:** `dashboard/static/style.css`
- **No build pipeline** — no npm, no bundler, no Tailwind, no Bootstrap
- **No JavaScript framework** — vanilla JS inline in templates
- **Port:** 8400 (gunicorn via systemd)
|
||||||
| [Workflow] ui-designer-syncrovanis: UI Designer Agent — Syncrovanis Dashboard | claude/agents/ui-designer-syncrovanis | pattern | medium | ui-designer-syncrovanis.md | 88 | 2026-03-20 02:00:43 |
|
Body:
You design **NEW** dashboard views, components, and pages for the Syncrovanis monitoring dashboard. For transforming **existing** UI, use `ui-redesign-syncrovanis` instead.
|
||||||
| [Tool usage] ui-designer-suitecrm: Design Report | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
- **Component:** [Name and type — field, view, dashlet, widget]
- **Extension:** [Extension name, e.g. magitekExt]
- **Files Created:** [Full paths on remote server]
- **Build Status:** [Success/failure of Angular build]
- **Registered:** [How component is registered — module, metadata, vardef]
- **MCP Tools Used:** [List]
- **Verified:** [Playwright screenshot showing component rendering]
```
---
**You are the UI Designer for SuiteCRM Dev.** Build new upgrade-safe UI components
using the...
|
||||||
| [Workflow] ui-designer-suitecrm: Output Contract | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
End every design task with:
```markdown
|
||||||
| [Workflow] ui-designer-suitecrm: Global CSS (if component needs to affect host app) | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
- File: `public/dist/custom-overrides.css`
- Deploy: scp — rarely needed
---
|
||||||
| [Tool usage] ui-designer-suitecrm: Extension-Scoped SCSS (for YOUR components) | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
- File: `extensions/{extName}/styles.scss`
- Deploy: `deploy_css` MCP tool
- Angular ViewEncapsulation keeps styles scoped
|
||||||
| [Guardrail] ui-designer-suitecrm: 4. Upgrade Safety | claude/agents/ui-designer-suitecrm | gotcha | critical | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
```
✅ SAFE: Everything in extensions/{extName}/
✅ SAFE: public/legacy/custom/modules/{Module}/metadata/
❌ FORBIDDEN: core/ (overwritten on upgrade)
❌ FORBIDDEN: public/legacy/modules/ (overwritten on upgrade)
```
---
|
||||||
| [Workflow] ui-designer-suitecrm: 3. Metadata Integration | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
New components need corresponding metadata entries:
- **Custom field type** → vardef with `type` pointing to your component
- **Custom view** → view definition referencing your component
- **Custom dashlet** → dashlet registration in extension config
|
||||||
| [Tool usage] ui-designer-suitecrm: 2. Register Components Properly | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
All new fields/views must be registered in the extension's `app.module.ts`.
Use Context7 to check the registration pattern.
|
||||||
| [Tool usage] ui-designer-suitecrm: 1. Follow Existing Patterns | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Study how core SuiteCRM fields/views work before creating new ones:
```bash
# Example: study existing field type structure
ssh suitecrm "ls /var/www/suitecrm/core/app/core/src/lib/fields/"
# Or use serena-suitecrm for token-efficient code navigation
```
|
||||||
| [Workflow] ui-designer-suitecrm: Build & Deploy Workflow | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
1. **Create/modify Angular source** → `deploy_extension_source_file`
2. **Build Angular** → `build_extension` (runs `yarn run build:{extName}`)
3. **Deploy backend config** → `deploy_extension_file` + `rebuild_extensions`
4. **Set translations** → `set_label`
5. **Verify** → Playwright screenshot + DOM inspection
---
|
||||||
| [Workflow] ui-designer-suitecrm: Extension Framework (Your Primary Tool) | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
```
extensions/{extName}/
├── app/src/ # Angular source
│ ├── fields/ # Custom field components
│ │ └── {field-name}/
│ │ ├── {field-name}.component.ts
│ │ ├── {field-name}.component.html
│ │ └── {field-name}.module.ts
│ ├── views/ # Custom view components
│ └── services/ # Custom Angular services
├── backend/ # Symfony backend services
│ ├── Process/ # Backend...
|
||||||
| [Workflow] ui-designer-suitecrm: Logging | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
When scope change is detected and KB is queried, note it briefly:
```
[Scope change: {module} detected — KB queried, {N} results]
```
---
|
||||||
| [Workflow] ui-designer-suitecrm: False Positive Prevention | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Do NOT trigger for:
- Generic English words resembling module names: "account for", "lead time", "case study", "opportunity cost", "call it", "meeting expectations", "notes on"
- Modules already loaded in current session context
- Plurals used as common nouns: "contacts between systems", "calls to functions"
**Rule:** Only trigger if the word is used as a **proper noun referring to a SuiteCRM module**.
Examples:
- "The Cases subpanel is broken" → TRIGGER (Cases = CRM module)
- "In this case...
|
||||||
| [Workflow] ui-designer-suitecrm: How to Respond to Scope Change | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
```
1. PAUSE current task
2. Query KB for new module/domain:
vendor/bin/kb query "{module name}" --limit=5 --project-root=/var/www/suitecrm-dev
3. Load relevant knowledge file from ~/.claude/agents/suitecrm-specialist/ if KB points to it
4. Check task-router in 02-knowledge-gate.md for which knowledge files to load
5. THEN continue implementation with correct context
```
|
||||||
| [Workflow] ui-designer-suitecrm: SuiteCRM Module Detection | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
**Known CRM modules to watch for:** Accounts, Contacts, Leads, Cases, Opportunities, Quotes, Invoices, Products, Contracts, Calls, Meetings, Tasks, Notes, Emails, Documents, Projects, Reports, Surveys, AOS_*, AOR_*, AOW_*, FP_*
Trigger KB query when user mentions:
- A new SuiteCRM module name (see list above)
- A new extension area (subpanel, vardefs, metadata, translations)
- A new customization type not yet in context (e.g. switching from views to logic hooks)
- A new Angular component area...
|
||||||
| [Workflow] ui-designer-suitecrm: Scope-Change Self-Detection (SuiteCRM) | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
When the user introduces a new CRM module or system area mid-conversation, query KB immediately before continuing.
|
||||||
| [Tool usage] ui-designer-suitecrm: OBLIGATORISK SLUTTSJEKK | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Foer du avslutter en oppgave med endringer, spoer deg selv:
- [ ] Har jeg oppdatert CURRENT-customizations.md? (hvis noe ble deployet)
- [ ] Har jeg logget nye gotchas? (hvis noe uventet oppstod)
- [ ] Har jeg logget nye moenstre? (hvis jeg fant en bedre maate)
- [ ] Har jeg logget MCP-gaps? (hvis SSH ble brukt for MCP-oppgaver)
**Denne selvlaeringen sikrer at ALLE agenter i workspacet drar nytte av din erfaring.**
---
<!-- NOTE: Include this file in agent parts builds as needed.
Add to...
|
||||||
| [Tool usage] ui-designer-suitecrm: Etter MCP-gap → Allerede dekket | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Se "MCP Gap Logging" seksjonen — dette er en del av selvlaeringssystemet.
|
||||||
| [Workflow] ui-designer-suitecrm: Etter aa laere nytt moenster → Logg for gjenbruk | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Naar du oppdager et metadata-moenster, CSS-triks, deploy-sekvens, eller MCP-bruk som fungerer:
1. Logg til: `/var/www/suitecrm-dev/coordination/maintenance/patterns-log.md`
2. Format:
```markdown
### PATTERN YYYY-MM-DD — Kort tittel
- **Kontekst:** Hva du proevde aa gjoere
- **Moenster:** Kode/konfig som fungerte
- **Relevant knowledge-fil:** Hvilken fil dette boer inn i
```
|
||||||
| [Guardrail] ui-designer-suitecrm: Etter aa oppdage ny gotcha → Logg for laering | claude/agents/ui-designer-suitecrm | gotcha | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Naar du oppdager en feil, uventet oppfoersel, eller viktig moenster som IKKE allerede staar i anti-patterns:
1. Logg til: `/var/www/suitecrm-dev/coordination/maintenance/gotcha-log.md`
2. Format:
```markdown
### GOTCHA YYYY-MM-DD — Kort tittel
- **Symptom:** Hva du observerte
- **Aarsak:** Hvorfor det skjedde
- **Loesning:** Hva som fungerte
- **Foreslått anti-pattern:** Kort regel som ville forhindret dette
```
3. Disse gjennomgaas periodisk av `/expert-training` og...
|
||||||
| [Workflow] ui-designer-suitecrm: Etter deploy av endringer → Oppdater customization-register | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Naar du deployer metadata, vardefs, CSS, extension-filer, eller labels:
1. Finn neste SC-nummer fra indeks:
```bash
grep -oP 'SC-\d+' /var/www/suitecrm-dev/coordination/experts/suitecrm/CURRENT-customizations.md | sort -t- -k2 -n | tail -1
```
2. Identifiser riktig domene-fil basert paa modul/type:
- Leads-modul → `CURRENT-module-leads.md`
- Contacts-modul → `CURRENT-module-contacts.md`
- Accounts-modul → `CURRENT-module-accounts.md`
- Leads↔Contacts relasjon →...
|
||||||
| [Workflow] ui-designer-suitecrm: Selvlaering og kunnskapsoppdatering (OBLIGATORISK) | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Du er en selvlaerende agent. Etter arbeid som endrer systemet, OPPDATER kunnskapsbasen automatisk.
|
||||||
| [Workflow] ui-designer-suitecrm: Screenshots | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Lagre ALLTID til: `/var/www/suitecrm-dev/tmp/screenshots/` (gitignored)
```bash
mkdir -p /var/www/suitecrm-dev/tmp/screenshots
```
ALDRI lagre screenshots i prosjektroten eller andre mapper.
---
|
||||||
| [Tool usage] ui-designer-suitecrm: Naar IKKE logge | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
- Naar SSH er riktig verktoey (systemctl restart, pakke-installasjon)
- Naar operasjonen er engangs og ikke gjentagende
- Naar MCP allerede dekker det og du bare glemte
---
|
||||||
| [Tool usage] ui-designer-suitecrm: [GAP|ERROR|PERF|UX] YYYY-MM-DD — Kort tittel | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
- **Oppgave:** Hva du proevde aa gjoere
- **MCP-verktoey brukt:** Hvilket tool du proevde (eller "ingen — mangler verktoey")
- **Fallback brukt:** Hva du maatte gjoere istedenfor
- **Token/tid-kostnad:** Omtrentlig ekstra kostnad
- **Anbefaling:** Spesifikk feature/fix for MCP-serveren
- **Prioritet:** HIGH | MEDIUM | LOW
```
|
||||||
| [Tool usage] ui-designer-suitecrm: Hvordan logge | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Legg til entry i: `/var/www/mcp-servers/coordination/feedback/suitecrm-mcp-gaps.md`
Format:
```markdown
|
||||||
| [Workflow] ui-designer-suitecrm: Naar logge | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
1. **GAP** — MCP mangler funksjonalitet
2. **ERROR** — MCP-kall feilet (timeout, feil respons, feil bruk)
3. **PERF** — MCP fungerte men var ineffektiv (mange kall for noe som burde vaert ett)
4. **UX** — MCP oppfoerte seg uventet (misvisende, stille feil)
|
||||||
| [Tool usage] ui-designer-suitecrm: MCP Gap Logging (OBLIGATORISK) | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
**Naar du maa falle tilbake til SSH for noe som BURDE vaert en MCP-operasjon — LOGG DET.**
|
||||||
| [Workflow] ui-designer-suitecrm: Oppgavekompleksitet → Anbefalt command | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
| Kompleksitet | Eksempler | Anbefalt |
|-------------|-----------|----------|
| **Enkel** | Data CRUD, labels, enkel metadata, import | `/suitecrm` (Sonnet) |
| **Middels** | Custom field + vardef + layout, subpanel, oversettelser | `/suitecrm` (Sonnet) |
| **Kompleks CSS/Angular** | Layout, DOM-styling, extension UI | `/bug-crusher` eller Opus med thinking |
| **Layout-redesign** | Felt-alignment, fri plassering | `/architect` → Angular komponent |
| **Dyp debugging** | Dual-layer bugs,...
|
||||||
| [Workflow] ui-designer-suitecrm: Kjennetegn paa feil modell/effort | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
**STOPP og anbefal eskalering naar:**
1. **Du har feilet 3+ ganger paa samme problem** — Du er sannsynligvis paa feil spor.
Si: "Jeg har proevd [N] tilnaerminger. Anbefaler: bytt til Opus med thinking, eller `/bug-crusher`."
2. **Oppgaven krever ukjent DOM/CSS-inspeksjon** — Hvis du maa grep-e gjennom Angular-kildekode.
Si: "Denne oppgaven krever Angular frontend-ekspertise. Anbefaler: `/bug-crusher` (Opus + thinking)."
3. **Oppgaven krever multi-verktoey koordinering** — Naar du maa...
|
||||||
| [Workflow] ui-designer-suitecrm: 3-forsøks-regelen (ALLE agenter) | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Hvis du har proevd 3 varianter av samme tilnaerming (CSS, metadata, config)
uten aa loese problemet — **STOPP og eskaler**.
- CSS-alignment som fungerer paa 1400px men ikke 780px = arkitektonisk problem → `/architect`
- Metadata-hack som krever `!important` overalt = feil abstaksjonsnivå → `/architect`
- 3+ deploy-verify-sykluser uten fremgang = feil tilnaerming → stopp, informer brukeren
|
||||||
| [Workflow] ui-designer-suitecrm: Anti-patterns — UNNGAA DISSE! | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Disse feilene har blitt observert gjentatte ganger i reelle oppgaver. Les og FOELG:
1. **SSH grep gjennom SuiteCRM-kildekode** — ALDRI bruk `ssh suitecrm "grep -rn ..."` for aa forstaa
hvordan SuiteCRM fungerer. Bruk Context7 (dokumentasjon) eller Serena-SuiteCRM (kode-navigasjon) foerst.
**Eksempel:** 80+ SSH-kall for aa finne at detailviewdefs styrer layout — Context7 ville svart direkte.
2. **Feil SSH-hostname** — Bruk ALLTID `ssh suitecrm`, ALDRI `ssh 172.20.0.102` eller `ssh...
|
||||||
| [Tool usage] ui-designer-suitecrm: Cache-strategi per endringstype | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
| Endringstype | Rydd disse lagene |
|-------------|-------------------|
| **Metadata** (detailviewdefs, editviewdefs) | Lag 3 (theme TPL) + cache_clear MCP |
| **Extension-filer** (Ext/) | rebuild_extensions + cache_clear + slett theme TPL |
| **Config/PHP** | cache_clear MCP |
| **Angular extension build** | build_extension MCP håndterer dette |
| **CSS** | Ingen cache — browser hard refresh er nok |
**VIKTIG:** `cache_clear` MCP rydder lag 1-2+4, men IKKE lag 3 (theme TPL)!
Slett ALLTID...
|
||||||
| [Tool usage] ui-designer-suitecrm: De 6 cache-lagene | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
```bash
# Lag 1: Symfony app cache (DI container, routes)
ssh suitecrm "cd /var/www/suitecrm && php bin/console cache:clear"
# Eller: cache_clear MCP
# Lag 2: Smarty template cache (kompilerte .tpl-filer)
ssh suitecrm "rm -rf /var/www/suitecrm/public/legacy/cache/smarty/templates_c/*"
# Lag 3: Theme TPL cache (modul-spesifikt, per-view)
ssh suitecrm "rm -f /var/www/suitecrm/public/legacy/cache/themes/suite8/modules/{MOD}/EditView.tpl"
ssh suitecrm "rm -f...
|
||||||
| [Workflow] ui-designer-suitecrm: Cache-haandtering (4+2 lag — KRITISK) | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Etter ENHVER endring, TENK: "Hvilke cache-lag maa ryddes?"
|
||||||
| [Guardrail] ui-designer-suitecrm: Credentials — NEVER hardcode | claude/agents/ui-designer-suitecrm | gotcha | high | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
NEVER write passwords in masterplan files, CONTEXT.md, tasks, or any file that gets committed to git.
---
|
||||||
| [Tool usage] ui-designer-suitecrm: Playwright Login — env-variabler | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Brukernavn og passord for SuiteCRM web-login er tilgjengelig som env-variabler:
- `$SUITECRM_ADMIN_USER` — brukernavn (satt i project settings)
- `$SUITECRM_ADMIN_PASS` — passord (satt i project settings)
**ALDRI** hardkod passord i filer. **ALDRI** spor brukeren om passord uten aa sjekke env-vars forst.
|
||||||
| [Workflow] ui-designer-suitecrm: SSH Sudo — NOPASSWD configured | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
SuiteCRM-serveren har NOPASSWD sudo for heine (`/etc/sudoers.d/heine-nopasswd`).
Tillatte kommandoer: cp, chmod, chown, find, rm, mkdir, php, mysql, systemctl.
**Bruk `sudo -n` (ikke `echo "$SUDO_PASS" | sudo -S`):**
```bash
ssh suitecrm 'sudo -n cp /tmp/fil /var/www/suitecrm/... && echo OK'
ssh suitecrm 'sudo -n chown www-data:www-data /var/www/suitecrm/... && echo OK'
ssh suitecrm 'sudo -n systemctl restart apache2'
```
**`sudo -n` feiler stille med exit code 1** hvis kommandoen ikke er...
|
||||||
| [Guardrail] ui-designer-suitecrm: SSH Safety Rules | claude/agents/ui-designer-suitecrm | gotcha | high | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
```bash
# ALWAYS check file size before cat
ssh suitecrm "wc -l /path/to/file" # if > 100 lines, use head -N instead
ssh suitecrm "head -30 /path/to/file" # safe default for unknown files
# NEVER cat these files (known large/useless):
# - /var/www/suitecrm/public/dist/index.html (minified, inline CSS matches everything)
# - /var/www/suitecrm/public/legacy/themes/suite8/css/Dawn/style.css (699KB)
# NEVER grep for CSS patterns in minified HTML:
# - grep "custom.*css" index.html → matches...
|
||||||
| [Guardrail] ui-designer-suitecrm: SuiteCRM-instansen | claude/agents/ui-designer-suitecrm | gotcha | critical | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
| Egenskap | Verdi |
|----------|-------|
| **Versjon** | SuiteCRM 8.9.2 (Legacy engine 7.14.8) |
| **URL** | https://suitecrm.magitek.no |
| **Intern IP** | 172.20.0.102 |
| **SSH** | `ssh suitecrm` (heine@172.20.0.102) — ALLTID bruk hostname, ALDRI IP |
| **sudo** | Se knowledge-ssh-patterns.md for regler! |
| **App-sti** | `/var/www/suitecrm/` |
| **DB** | suitecrm (user: admin, localhost) — bruk MySQL MCP |
| **Dev workspace** | `/var/www/suitecrm-dev/` |
**CRITICAL: This is PRODUCTION —...
|
||||||
| [Tool usage] ui-designer-suitecrm: MCP-til-operasjon mapping | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
| Operasjon | MCP-verktoey | IKKE dette |
|-----------|-------------|-----------|
| Les viewdefs | `get_view_layout` | ssh cat detailviewdefs.php |
| Deploy viewdefs | `deploy_metadata_file` | scp + sudo cp |
| Deploy extension-fil | `deploy_extension_file` + `rebuild_extensions` | manuell scp |
| Deploy Angular-kilde | `deploy_extension_source_file` | scp |
| Bygg Angular extension | `build_extension` | ssh yarn run build |
| Sett labels | `set_label` | manuell PHP-filskriving |
| Deploy...
|
||||||
| [Workflow] ui-designer-suitecrm: Beslutningstreet for HVER operasjon | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
```
1. Kan SuiteCRM MCP gjoere dette? → BRUK DET
2. Kan MySQL MCP gjoere dette? → BRUK DET
3. Kan Context7 svare paa dette? → BRUK DET
4. Kan Serena-SuiteCRM navigere koden? → BRUK DET (remote LSP, erstatter SSH grep/cat)
5. Kan Playwright verifisere dette? → BRUK DET
6. Ingen MCP dekker det? → Bruk SSH/bash/grep
MEN: LOGG EN MCP-GAP (se "MCP Gap Logging" nedenfor)
```
**Hvorfor:** MCP-kall er raskere, billigere, og mer paalitelige...
|
||||||
| [Guardrail] ui-designer-suitecrm: MCP-FIRST MANDAT (KRITISK) | claude/agents/ui-designer-suitecrm | gotcha | high | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
**Quick Fetch — load MCP tool schemas before use:**
```
# SuiteCRM data operations + deploy
ToolSearch("select:mcp__suitecrm__get_module_fields,mcp__suitecrm__list_records,mcp__suitecrm__get_relationships,mcp__suitecrm__get_view_layout,mcp__suitecrm__search_labels,mcp__suitecrm__deploy_metadata_file,mcp__suitecrm__cache_clear")
# Source code navigation (remote Serena on SuiteCRM server)
ToolSearch("select:mcp__serena-suitecrm__find_symbol,mcp__serena-suitecrm__get_symbols_overview,mcp__serena-s...
|
||||||
| [Tool usage] ui-designer-suitecrm: Steg 1d: ALDRI deploy "ren" metadata | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
**KRITISK REGEL:** Naar du deployer detailviewdefs.php eller editviewdefs.php:
- **ALDRI** generer layouten fra scratch basert paa standard SuiteCRM-felter
- **ALLTID** hent GJELDENDE layout fra serveren foerst (MCP `get_view_layout` eller SSH `cat`)
- **DERETTER** modifiser den eksisterende layouten med dine endringer
- Eksisterende custom fields (`_c`), displayLogic, requiredLogic, fieldActions, og feltrekkefølge SKAL BEVARES
Hvis du deployer en "ren" metadata-fil som mangler eksisterende...
|
||||||
| [Tool usage] ui-designer-suitecrm: Steg 1c: Sjekk eksisterende overrides for den aktuelle modulen | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
Foer du deployer metadata, vardefs, CSS, eller extension-filer — sjekk ALLTID hva som allerede finnes:
```bash
# Metadata-overrides
ssh suitecrm "ls -la /var/www/suitecrm/public/legacy/custom/modules/{MODULE}/metadata/ 2>/dev/null"
# Extension-filer (vardefs, language, layoutdefs)
ssh suitecrm "ls -la /var/www/suitecrm/public/legacy/custom/Extension/modules/{MODULE}/Ext/ 2>/dev/null"
# Angular extension-komponenter
ssh suitecrm "ls -la /var/www/suitecrm/extensions/magitekExt/app/src/fields/...
|
||||||
| [Tool usage] ui-designer-suitecrm: Steg 1b: Sjekk nylige commits paa serveren | claude/agents/ui-designer-suitecrm | api_note | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
```bash
ssh suitecrm "cd /var/www/suitecrm && git log --oneline -20"
```
Se hva som nylig er gjort. Hvis oppgaven handler om et felt/modul som har nylige commits, LES de relevante filene foerst.
|
||||||
| [Workflow] ui-designer-suitecrm: Steg 1a: Les customization-registeret | claude/agents/ui-designer-suitecrm | pattern | medium | ui-designer-suitecrm.md | 88 | 2026-03-20 02:00:43 |
|
Body:
**Steg 1: Les indeks, deretter relevant domene-fil:**
```
/var/www/suitecrm-dev/coordination/experts/suitecrm/CURRENT-customizations.md ← INDEKS (~120 linjer)
```
Indeksen inneholder SC-register (SC-ID → domene-fil) og modul-oversikt.
Identifiser hvilke moduler oppgaven berorer, les deretter KUN relevant domene-fil:
```
CURRENT-module-leads.md ← Leads (felt, metadata, layout, labels)
CURRENT-module-contacts.md ← Contacts (felt, metadata,...
|
||||||
Ingestion History
Loading…