Skip to content

Commit 99f56dc

Browse files
committed
feat: add checkpoints for extension-assessment integration
1 parent 5e53be6 commit 99f56dc

File tree

1 file changed

+195
-0
lines changed

1 file changed

+195
-0
lines changed
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
# Checkpoints for netresearch-branding skill
2+
# Validates Netresearch brand compliance for extensions
3+
4+
version: 1
5+
skill_id: netresearch-branding
6+
7+
mechanical:
8+
# === EXTENSION ICON CHECKS ===
9+
- id: NB-01
10+
type: file_exists
11+
target: Resources/Public/Icons/Extension.svg
12+
severity: error
13+
desc: "Extension icon (SVG) must exist"
14+
15+
- id: NB-02
16+
type: contains
17+
target: Resources/Public/Icons/Extension.svg
18+
pattern: "#2F99A4"
19+
severity: error
20+
desc: "Extension icon must use Netresearch teal (#2F99A4)"
21+
22+
- id: NB-03
23+
type: file_exists
24+
target: Resources/Public/Icons/Extension.png
25+
severity: warning
26+
desc: "Extension icon (PNG) should exist as fallback"
27+
28+
# === README BRANDING CHECKS ===
29+
- id: NB-04
30+
type: regex
31+
target: README.md
32+
pattern: "[Nn]etresearch"
33+
severity: error
34+
desc: "README must credit Netresearch"
35+
36+
- id: NB-05
37+
type: contains
38+
target: README.md
39+
pattern: "netresearch.de"
40+
severity: warning
41+
desc: "README should link to netresearch.de"
42+
43+
# === BRAND COLOR CHECKS (in CSS/SCSS files) ===
44+
- id: NB-06
45+
type: not_contains
46+
target: Resources/Public/Css/*.css
47+
pattern: "#2f99a4"
48+
severity: info
49+
desc: "CSS should use uppercase brand color #2F99A4 (not lowercase)"
50+
51+
- id: NB-07
52+
type: not_contains
53+
target: Resources/Public/Css/*.css
54+
pattern: "#ff4d00"
55+
severity: info
56+
desc: "CSS should use uppercase brand color #FF4D00 (not lowercase)"
57+
58+
- id: NB-08
59+
type: not_contains
60+
target: Resources/Public/Css/*.css
61+
pattern: "#585961"
62+
severity: info
63+
desc: "CSS should use uppercase brand color #585961 (not lowercase)"
64+
65+
# === COMPOSER.JSON BRANDING ===
66+
- id: NB-09
67+
type: regex
68+
target: composer.json
69+
pattern: '"name"\\s*:\\s*"netresearch/'
70+
severity: error
71+
desc: "Composer package name must use netresearch/ vendor prefix"
72+
73+
- id: NB-10
74+
type: json_path
75+
target: composer.json
76+
pattern: '.authors[] | select(.name == "Netresearch DTT GmbH")'
77+
severity: warning
78+
desc: "Composer should list Netresearch DTT GmbH as author"
79+
80+
# === NETRESEARCH LOGO ([n]) CHECKS ===
81+
- id: NB-11
82+
type: file_exists
83+
target: Resources/Public/Images/netresearch-logo.svg
84+
severity: info
85+
desc: "Netresearch [n] logo should be present for branding"
86+
87+
- id: NB-12
88+
type: file_exists
89+
target: Resources/Public/Images/netresearch-logo.png
90+
severity: info
91+
desc: "Netresearch [n] logo (PNG) should be present as fallback"
92+
93+
llm_reviews:
94+
# === REPOSITORY DESCRIPTION CHECK ===
95+
- id: NB-20
96+
domain: branding
97+
prompt: |
98+
Check the GitHub repository description (via gh api repos/{owner}/{repo} --jq '.description').
99+
100+
The description MUST end with "- by Netresearch".
101+
102+
Examples of COMPLIANT descriptions:
103+
- "TYPO3 extension for newsletter management - by Netresearch"
104+
- "Modern address validation service integration - by Netresearch"
105+
106+
Examples of NON-COMPLIANT descriptions:
107+
- "TYPO3 extension for newsletters" (missing suffix)
108+
- "by Netresearch - Newsletter extension" (suffix not at end)
109+
- null or empty description
110+
111+
Report PASS if compliant, FAIL if not.
112+
severity: error
113+
desc: "Repository description must end with '- by Netresearch'"
114+
115+
# === EXTENSION ICON VISUAL CHECK ===
116+
- id: NB-21
117+
domain: branding
118+
prompt: |
119+
Visually inspect the extension icon at Resources/Public/Icons/Extension.svg or Extension.png.
120+
121+
Check for:
122+
1. Primary color is Netresearch teal (#2F99A4)
123+
2. Icon is clean and professional
124+
3. Icon represents the extension's purpose
125+
4. Icon works at small sizes (16x16, 32x32)
126+
127+
The icon should be immediately recognizable as a Netresearch product
128+
through its use of the brand teal color.
129+
severity: warning
130+
desc: "Extension icon should visually reflect Netresearch branding"
131+
132+
# === BRAND COLORS CONSISTENCY ===
133+
- id: NB-22
134+
domain: branding
135+
prompt: |
136+
Review CSS, SCSS, and template files for brand color usage.
137+
138+
Netresearch brand colors:
139+
- Primary Teal: #2F99A4 (main brand color)
140+
- Accent Orange: #FF4D00 (highlights, CTAs)
141+
- Neutral Gray: #585961 (text, secondary elements)
142+
143+
Check for:
144+
1. Brand colors used consistently (not random colors)
145+
2. Correct hex values (case-insensitive match is OK)
146+
3. No conflicting brand colors from other organizations
147+
4. Appropriate color contrast for accessibility
148+
149+
Report any incorrect or inconsistent brand color usage.
150+
severity: warning
151+
desc: "Brand colors should be used consistently (#2F99A4, #FF4D00, #585961)"
152+
153+
# === README CREDITS SECTION ===
154+
- id: NB-23
155+
domain: branding
156+
prompt: |
157+
Check the README.md for proper Netresearch credits.
158+
159+
The README should include:
160+
1. Mention of "Netresearch" or "Netresearch DTT GmbH"
161+
2. Link to https://www.netresearch.de
162+
3. Ideally a "Credits" or "About" section at the bottom
163+
164+
Example acceptable credits:
165+
- "Developed by [Netresearch DTT GmbH](https://www.netresearch.de)"
166+
- "This extension is maintained by Netresearch."
167+
- A footer with Netresearch logo and link
168+
169+
Report PASS if adequately credited, FAIL if not.
170+
severity: error
171+
desc: "README must properly credit Netresearch"
172+
173+
# === [n] LOGO PLACEMENT ===
174+
- id: NB-24
175+
domain: branding
176+
prompt: |
177+
Check if the Netresearch [n] logo is appropriately used where applicable.
178+
179+
Appropriate placements:
180+
1. Backend module headers (if extension has backend modules)
181+
2. Documentation pages
182+
3. README footer
183+
4. Configuration screens (if applicable)
184+
185+
The [n] logo should be:
186+
- Used sparingly (not overwhelming)
187+
- Properly sized and positioned
188+
- Linking to netresearch.de when clickable
189+
190+
Note: Not all extensions need the [n] logo. This is more
191+
relevant for user-facing features.
192+
193+
Report appropriate usage or suggest improvements.
194+
severity: info
195+
desc: "Netresearch [n] logo should be used where appropriate"

0 commit comments

Comments
 (0)