ccbot-cli 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/bin/adapters/claude.js +150 -0
- package/bin/adapters/codex.js +439 -0
- package/bin/install.js +509 -349
- package/bin/lib/ccline.js +82 -0
- package/bin/lib/utils.js +87 -34
- package/bin/uninstall.js +48 -0
- package/config/AGENTS.md +630 -0
- package/config/CLAUDE.md +229 -20
- package/config/ccline/config.toml +161 -0
- package/config/codex-config.example.toml +22 -0
- package/config/settings.example.json +32 -0
- package/output-styles/abyss-cultivator.md +399 -0
- package/package.json +14 -5
- package/skills/SKILL.md +159 -0
- package/skills/domains/ai/SKILL.md +34 -0
- package/skills/domains/ai/agent-dev.md +242 -0
- package/skills/domains/ai/llm-security.md +288 -0
- package/skills/domains/ai/prompt-and-eval.md +279 -0
- package/skills/domains/ai/rag-system.md +542 -0
- package/skills/domains/architecture/SKILL.md +42 -0
- package/skills/domains/architecture/api-design.md +225 -0
- package/skills/domains/architecture/caching.md +299 -0
- package/skills/domains/architecture/cloud-native.md +285 -0
- package/skills/domains/architecture/message-queue.md +329 -0
- package/skills/domains/architecture/security-arch.md +297 -0
- package/skills/domains/data-engineering/SKILL.md +207 -0
- package/skills/domains/development/SKILL.md +46 -0
- package/skills/domains/development/cpp.md +246 -0
- package/skills/domains/development/go.md +323 -0
- package/skills/domains/development/java.md +277 -0
- package/skills/domains/development/python.md +288 -0
- package/skills/domains/development/rust.md +313 -0
- package/skills/domains/development/shell.md +313 -0
- package/skills/domains/development/typescript.md +277 -0
- package/skills/domains/devops/SKILL.md +39 -0
- package/skills/domains/devops/cost-optimization.md +272 -0
- package/skills/domains/devops/database.md +217 -0
- package/skills/domains/devops/devsecops.md +198 -0
- package/skills/domains/devops/git-workflow.md +181 -0
- package/skills/domains/devops/observability.md +280 -0
- package/skills/domains/devops/performance.md +336 -0
- package/skills/domains/devops/testing.md +283 -0
- package/skills/domains/frontend-design/SKILL.md +38 -0
- package/skills/domains/frontend-design/claymorphism/SKILL.md +119 -0
- package/skills/domains/frontend-design/claymorphism/references/tokens.css +52 -0
- package/skills/domains/frontend-design/component-patterns.md +202 -0
- package/skills/domains/frontend-design/engineering.md +287 -0
- package/skills/domains/frontend-design/glassmorphism/SKILL.md +140 -0
- package/skills/domains/frontend-design/glassmorphism/references/tokens.css +32 -0
- package/skills/domains/frontend-design/liquid-glass/SKILL.md +137 -0
- package/skills/domains/frontend-design/liquid-glass/references/tokens.css +81 -0
- package/skills/domains/frontend-design/neubrutalism/SKILL.md +143 -0
- package/skills/domains/frontend-design/neubrutalism/references/tokens.css +44 -0
- package/skills/domains/frontend-design/state-management.md +680 -0
- package/skills/domains/frontend-design/ui-aesthetics.md +110 -0
- package/skills/domains/frontend-design/ux-principles.md +156 -0
- package/skills/domains/infrastructure/SKILL.md +200 -0
- package/skills/domains/mobile/SKILL.md +224 -0
- package/skills/domains/orchestration/SKILL.md +29 -0
- package/skills/domains/orchestration/multi-agent.md +263 -0
- package/skills/domains/security/SKILL.md +54 -0
- package/skills/domains/security/blue-team.md +436 -0
- package/skills/domains/security/code-audit.md +265 -0
- package/skills/domains/security/pentest.md +226 -0
- package/skills/domains/security/red-team.md +375 -0
- package/skills/domains/security/threat-intel.md +372 -0
- package/skills/domains/security/vuln-research.md +369 -0
- package/skills/orchestration/multi-agent/SKILL.md +493 -0
- package/skills/run_skill.js +129 -0
- package/skills/tools/gen-docs/SKILL.md +116 -0
- package/skills/tools/gen-docs/scripts/doc_generator.js +435 -0
- package/skills/tools/lib/shared.js +98 -0
- package/skills/tools/verify-change/SKILL.md +140 -0
- package/skills/tools/verify-change/scripts/change_analyzer.js +289 -0
- package/skills/tools/verify-module/SKILL.md +127 -0
- package/skills/tools/verify-module/scripts/module_scanner.js +171 -0
- package/skills/tools/verify-quality/SKILL.md +160 -0
- package/skills/tools/verify-quality/scripts/quality_checker.js +337 -0
- package/skills/tools/verify-security/SKILL.md +143 -0
- package/skills/tools/verify-security/scripts/security_scanner.js +283 -0
- package/bin/lib/registry.js +0 -61
- package/config/.claudeignore +0 -11
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: neubrutalism
|
|
3
|
+
description: Neubrutalism design system skill. Use when building bold UI with thick borders, offset solid shadows, high saturation colors, and minimal border radius.
|
|
4
|
+
license: MIT
|
|
5
|
+
user-invocable: false
|
|
6
|
+
disable-model-invocation: false
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Neubrutalism Design Spec
|
|
10
|
+
|
|
11
|
+
## Core Principles
|
|
12
|
+
|
|
13
|
+
1. **Thick Borders** — Bold `3–5px solid` black outlines on all elements
|
|
14
|
+
2. **Offset Solid Shadows** — Hard-edge `box-shadow` with zero blur (e.g. `5px 5px 0 #000`)
|
|
15
|
+
3. **High Saturation Colors** — Vivid, punchy fills: pinks, yellows, blues, greens
|
|
16
|
+
4. **Minimal Radius** — `0–8px` border-radius; sharp or barely rounded corners
|
|
17
|
+
5. **Flat Aesthetic** — No gradients, no blur, no transparency
|
|
18
|
+
|
|
19
|
+
## CSS Tokens
|
|
20
|
+
|
|
21
|
+
Reference: [references/tokens.css](references/tokens.css)
|
|
22
|
+
|
|
23
|
+
```css
|
|
24
|
+
@import 'references/tokens.css';
|
|
25
|
+
|
|
26
|
+
.nb-card {
|
|
27
|
+
background: var(--nb-yellow);
|
|
28
|
+
border: var(--nb-border-thick);
|
|
29
|
+
border-radius: var(--nb-radius);
|
|
30
|
+
box-shadow: var(--nb-shadow);
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Component Examples
|
|
35
|
+
|
|
36
|
+
### Card
|
|
37
|
+
```css
|
|
38
|
+
.nb-card {
|
|
39
|
+
background: var(--nb-white);
|
|
40
|
+
border: var(--nb-border-thick);
|
|
41
|
+
border-radius: var(--nb-radius);
|
|
42
|
+
box-shadow: var(--nb-shadow);
|
|
43
|
+
padding: 1.5rem;
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Button
|
|
48
|
+
```css
|
|
49
|
+
.nb-btn {
|
|
50
|
+
background: var(--nb-yellow);
|
|
51
|
+
border: var(--nb-border);
|
|
52
|
+
border-radius: var(--nb-radius);
|
|
53
|
+
box-shadow: var(--nb-shadow-sm);
|
|
54
|
+
padding: 0.6rem 1.4rem;
|
|
55
|
+
font-family: var(--nb-font);
|
|
56
|
+
font-weight: var(--nb-font-weight);
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
transition: transform 0.1s, box-shadow 0.1s;
|
|
59
|
+
}
|
|
60
|
+
.nb-btn:hover {
|
|
61
|
+
transform: translate(-2px, -2px);
|
|
62
|
+
box-shadow: var(--nb-shadow);
|
|
63
|
+
}
|
|
64
|
+
.nb-btn:active {
|
|
65
|
+
transform: translate(3px, 3px);
|
|
66
|
+
box-shadow: none;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Navbar
|
|
71
|
+
```css
|
|
72
|
+
.nb-nav {
|
|
73
|
+
background: var(--nb-bg);
|
|
74
|
+
border-bottom: var(--nb-border-thick);
|
|
75
|
+
padding: 1rem 2rem;
|
|
76
|
+
position: sticky;
|
|
77
|
+
top: 0;
|
|
78
|
+
z-index: 100;
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Input
|
|
83
|
+
```css
|
|
84
|
+
.nb-input {
|
|
85
|
+
background: var(--nb-white);
|
|
86
|
+
border: var(--nb-border);
|
|
87
|
+
border-radius: var(--nb-radius);
|
|
88
|
+
box-shadow: var(--nb-shadow-sm);
|
|
89
|
+
padding: 0.6rem 1rem;
|
|
90
|
+
font-family: var(--nb-font);
|
|
91
|
+
font-weight: var(--nb-font-weight-body);
|
|
92
|
+
}
|
|
93
|
+
.nb-input:focus {
|
|
94
|
+
outline: none;
|
|
95
|
+
box-shadow: var(--nb-shadow);
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Badge
|
|
100
|
+
```css
|
|
101
|
+
.nb-badge {
|
|
102
|
+
background: var(--nb-pink);
|
|
103
|
+
border: var(--nb-border);
|
|
104
|
+
border-radius: var(--nb-radius);
|
|
105
|
+
padding: 0.2rem 0.8rem;
|
|
106
|
+
font-family: var(--nb-font);
|
|
107
|
+
font-weight: var(--nb-font-weight);
|
|
108
|
+
font-size: 0.85rem;
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Typography
|
|
113
|
+
|
|
114
|
+
- Use bold, geometric sans-serif fonts (Space Grotesk, Inter, etc.)
|
|
115
|
+
- Headings: `font-weight: 700`, `letter-spacing: -0.02em`
|
|
116
|
+
- Body: `font-weight: 500`
|
|
117
|
+
- Uppercase sparingly for labels/badges
|
|
118
|
+
|
|
119
|
+
```css
|
|
120
|
+
h1, h2, h3 {
|
|
121
|
+
font-family: var(--nb-font-heading);
|
|
122
|
+
font-weight: var(--nb-font-weight);
|
|
123
|
+
letter-spacing: var(--nb-letter-spacing);
|
|
124
|
+
}
|
|
125
|
+
body {
|
|
126
|
+
font-family: var(--nb-font);
|
|
127
|
+
font-weight: var(--nb-font-weight-body);
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Accessibility Notes
|
|
132
|
+
|
|
133
|
+
- Thick borders provide strong visual boundaries — good for low-vision users
|
|
134
|
+
- Ensure color contrast ≥ 4.5:1 for text on colored backgrounds
|
|
135
|
+
- Active/hover states use `transform` shifts — provide `prefers-reduced-motion` fallback
|
|
136
|
+
|
|
137
|
+
```css
|
|
138
|
+
@media (prefers-reduced-motion: reduce) {
|
|
139
|
+
.nb-btn:hover, .nb-btn:active {
|
|
140
|
+
transform: none;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* Borders */
|
|
3
|
+
--nb-border: 3px solid #000;
|
|
4
|
+
--nb-border-thick: 5px solid #000;
|
|
5
|
+
|
|
6
|
+
/* Shadows (offset solid, no blur) */
|
|
7
|
+
--nb-shadow-sm: 3px 3px 0 #000;
|
|
8
|
+
--nb-shadow: 5px 5px 0 #000;
|
|
9
|
+
--nb-shadow-lg: 8px 8px 0 #000;
|
|
10
|
+
|
|
11
|
+
/* Radius */
|
|
12
|
+
--nb-radius: 4px;
|
|
13
|
+
--nb-radius-lg: 8px;
|
|
14
|
+
|
|
15
|
+
/* Colors — high saturation */
|
|
16
|
+
--nb-pink: #ff6b9d;
|
|
17
|
+
--nb-yellow: #ffd43b;
|
|
18
|
+
--nb-blue: #4dabf7;
|
|
19
|
+
--nb-green: #51cf66;
|
|
20
|
+
--nb-orange: #ff922b;
|
|
21
|
+
--nb-purple: #cc5de8;
|
|
22
|
+
--nb-red: #ff6b6b;
|
|
23
|
+
--nb-white: #fff;
|
|
24
|
+
--nb-black: #000;
|
|
25
|
+
--nb-bg: #f5f0e8;
|
|
26
|
+
|
|
27
|
+
/* Typography */
|
|
28
|
+
--nb-font: 'Space Grotesk', 'Inter', system-ui, sans-serif;
|
|
29
|
+
--nb-font-heading: 'Space Grotesk', 'Inter', system-ui, sans-serif;
|
|
30
|
+
--nb-font-weight: 700;
|
|
31
|
+
--nb-font-weight-body: 500;
|
|
32
|
+
--nb-letter-spacing: -0.02em;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
[data-theme="dark"] {
|
|
36
|
+
--nb-border: 3px solid #fff;
|
|
37
|
+
--nb-border-thick: 5px solid #fff;
|
|
38
|
+
--nb-shadow-sm: 3px 3px 0 #fff;
|
|
39
|
+
--nb-shadow: 5px 5px 0 #fff;
|
|
40
|
+
--nb-shadow-lg: 8px 8px 0 #fff;
|
|
41
|
+
--nb-bg: #1a1a2e;
|
|
42
|
+
--nb-black: #fff;
|
|
43
|
+
--nb-white: #1a1a2e;
|
|
44
|
+
}
|