supered 0.1.3
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/.claude-plugin/plugin.json +12 -0
- package/.codex-plugin/plugin.json +46 -0
- package/.cursor-plugin/plugin.json +8 -0
- package/.opencode/INSTALL.md +9 -0
- package/1.svg +1 -0
- package/LICENSE +21 -0
- package/README.md +102 -0
- package/assets/supered-mark.svg +9 -0
- package/bin/supered.mjs +97 -0
- package/docs/hosts/claude.md +15 -0
- package/docs/hosts/codex.md +15 -0
- package/docs/hosts/cursor.md +15 -0
- package/docs/hosts/gemini.md +15 -0
- package/docs/hosts/opencode.md +15 -0
- package/docs/index.html +83 -0
- package/docs/install.md +49 -0
- package/docs/marketplace-checklist.md +37 -0
- package/docs/preview.svg +26 -0
- package/docs/roadmap.md +24 -0
- package/docs/skill-format.md +19 -0
- package/docs/styles.css +287 -0
- package/gemini-extension.json +7 -0
- package/install.sh +106 -0
- package/lib/manifest.js +137 -0
- package/package.json +60 -0
- package/skills/build-in-slices/SKILL.md +27 -0
- package/skills/make-a-map/SKILL.md +27 -0
- package/skills/prove-the-change/SKILL.md +27 -0
- package/skills/shape-the-task/SKILL.md +32 -0
- package/skills/ship-the-work/SKILL.md +28 -0
- package/skills/trace-the-fault/SKILL.md +26 -0
- package/skills/using-supered/SKILL.md +29 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Cursor Install
|
|
2
|
+
|
|
3
|
+
Install Supered into the default Cursor skills directory:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | SUPERED_TARGET=cursor sh
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Equivalent explicit form:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | sh -s -- --target cursor
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Cursor skill locations can vary by setup. Use `SUPERED_DEST` or `--dest` when you need to point the installer at a specific directory.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Gemini Install
|
|
2
|
+
|
|
3
|
+
Install Supered into the default Gemini skills directory:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | SUPERED_TARGET=gemini sh
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Equivalent explicit form:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | sh -s -- --target gemini
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Use `--dest` for custom Gemini extension or skill directories.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# OpenCode Install
|
|
2
|
+
|
|
3
|
+
Install Supered into the default OpenCode skills directory:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | SUPERED_TARGET=opencode sh
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Equivalent explicit form:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | sh -s -- --target opencode
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
OpenCode setups can differ. Use `SUPERED_DEST` or `--dest` if your local installation expects another skills directory.
|
package/docs/index.html
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<meta name="description" content="Supered is a compact workflow kit for coding agents that shape, build, prove, and ship software changes.">
|
|
7
|
+
<title>Supered - Agent Workflow Kit</title>
|
|
8
|
+
<link rel="stylesheet" href="./styles.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<header class="topbar" aria-label="Primary">
|
|
12
|
+
<a class="brand" href="#top" aria-label="Supered home">
|
|
13
|
+
<img src="../1.svg" alt="" width="36" height="36">
|
|
14
|
+
<span>Supered</span>
|
|
15
|
+
</a>
|
|
16
|
+
<nav>
|
|
17
|
+
<a href="#skills">Skills</a>
|
|
18
|
+
<a href="#install">Install</a>
|
|
19
|
+
<a href="https://github.com/fhajjej-ship-it/Supered">GitHub</a>
|
|
20
|
+
</nav>
|
|
21
|
+
</header>
|
|
22
|
+
|
|
23
|
+
<main id="top">
|
|
24
|
+
<section class="hero" aria-labelledby="hero-title">
|
|
25
|
+
<div class="hero-copy">
|
|
26
|
+
<p class="eyebrow">Agent workflow kit</p>
|
|
27
|
+
<h1 id="hero-title">Supered</h1>
|
|
28
|
+
<p class="lede">Shape the task, build in slices, prove the change, and ship with a clean public handoff.</p>
|
|
29
|
+
<div class="actions" aria-label="Primary actions">
|
|
30
|
+
<a class="button primary" href="https://github.com/fhajjej-ship-it/Supered">View on GitHub</a>
|
|
31
|
+
<a class="button secondary" href="#install">Install</a>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="hero-media" aria-label="Supered logo">
|
|
35
|
+
<img src="../1.svg" alt="Supered logo">
|
|
36
|
+
</div>
|
|
37
|
+
</section>
|
|
38
|
+
|
|
39
|
+
<section id="skills" class="workflow" aria-labelledby="workflow-title">
|
|
40
|
+
<div class="section-head">
|
|
41
|
+
<p class="eyebrow">Workflow</p>
|
|
42
|
+
<h2 id="workflow-title">Four moves, seven skills.</h2>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="steps">
|
|
45
|
+
<article>
|
|
46
|
+
<span>01</span>
|
|
47
|
+
<h3>Shape</h3>
|
|
48
|
+
<p>Turn a rough request into a short, testable brief.</p>
|
|
49
|
+
</article>
|
|
50
|
+
<article>
|
|
51
|
+
<span>02</span>
|
|
52
|
+
<h3>Build</h3>
|
|
53
|
+
<p>Work in small slices with checks that keep scope visible.</p>
|
|
54
|
+
</article>
|
|
55
|
+
<article>
|
|
56
|
+
<span>03</span>
|
|
57
|
+
<h3>Prove</h3>
|
|
58
|
+
<p>Run fresh verification before making completion claims.</p>
|
|
59
|
+
</article>
|
|
60
|
+
<article>
|
|
61
|
+
<span>04</span>
|
|
62
|
+
<h3>Ship</h3>
|
|
63
|
+
<p>Stage, commit, push, and hand off with public evidence.</p>
|
|
64
|
+
</article>
|
|
65
|
+
</div>
|
|
66
|
+
</section>
|
|
67
|
+
|
|
68
|
+
<section id="install" class="install" aria-labelledby="install-title">
|
|
69
|
+
<div>
|
|
70
|
+
<p class="eyebrow">Install</p>
|
|
71
|
+
<h2 id="install-title">Start from the repo.</h2>
|
|
72
|
+
<p>Clone Supered, validate the bundle, then copy the skills into your agent host.</p>
|
|
73
|
+
</div>
|
|
74
|
+
<pre><code>npx supered install --target codex
|
|
75
|
+
|
|
76
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | sh
|
|
77
|
+
|
|
78
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | SUPERED_TARGET=gemini sh
|
|
79
|
+
npm run verify-package</code></pre>
|
|
80
|
+
</section>
|
|
81
|
+
</main>
|
|
82
|
+
</body>
|
|
83
|
+
</html>
|
package/docs/install.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Installing Supered
|
|
2
|
+
|
|
3
|
+
Supered ships plain skill folders plus lightweight plugin manifests.
|
|
4
|
+
|
|
5
|
+
## Npx install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx supered install --target codex
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Choose another host:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx supered install --target opencode
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## One-line install
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | sh
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Set a host target:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | SUPERED_TARGET=gemini sh
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Codex
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node ./bin/supered.mjs install --target codex
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Claude
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
node ./bin/supered.mjs install --target claude
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Gemini
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
node ./bin/supered.mjs install --target gemini
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Manual
|
|
48
|
+
|
|
49
|
+
Copy each folder in `skills/` into the skill directory used by your agent host.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Marketplace Checklist
|
|
2
|
+
|
|
3
|
+
Use this before submitting Supered to a host marketplace or plugin index.
|
|
4
|
+
|
|
5
|
+
## Core Assets
|
|
6
|
+
|
|
7
|
+
- [x] Public GitHub repository.
|
|
8
|
+
- [x] MIT license.
|
|
9
|
+
- [x] Product logo at `1.svg`.
|
|
10
|
+
- [x] Preview image at `docs/preview.svg`.
|
|
11
|
+
- [x] Landing page at `https://fhajjej-ship-it.github.io/Supered/`.
|
|
12
|
+
- [x] CI workflow with tests, validation, smoke install, and browser site verification.
|
|
13
|
+
|
|
14
|
+
## Host Metadata
|
|
15
|
+
|
|
16
|
+
- [x] Codex metadata in `.codex-plugin/plugin.json`.
|
|
17
|
+
- [x] Claude metadata in `.claude-plugin/plugin.json`.
|
|
18
|
+
- [x] Cursor metadata in `.cursor-plugin/plugin.json`.
|
|
19
|
+
- [x] Gemini metadata in `gemini-extension.json`.
|
|
20
|
+
- [x] OpenCode install notes in `.opencode/INSTALL.md`.
|
|
21
|
+
|
|
22
|
+
## Install Documentation
|
|
23
|
+
|
|
24
|
+
- [x] One-line installer in `install.sh`.
|
|
25
|
+
- [x] Npm package metadata for `npx supered install --target codex`.
|
|
26
|
+
- [x] Codex host docs in `docs/hosts/codex.md`.
|
|
27
|
+
- [x] Claude host docs in `docs/hosts/claude.md`.
|
|
28
|
+
- [x] Cursor host docs in `docs/hosts/cursor.md`.
|
|
29
|
+
- [x] Gemini host docs in `docs/hosts/gemini.md`.
|
|
30
|
+
- [x] OpenCode host docs in `docs/hosts/opencode.md`.
|
|
31
|
+
|
|
32
|
+
## Submission Notes
|
|
33
|
+
|
|
34
|
+
- Confirm marketplace-specific directory naming before submission.
|
|
35
|
+
- Confirm each host's current skill or plugin packaging rules.
|
|
36
|
+
- Keep screenshots and descriptions aligned with the shipped skill list.
|
|
37
|
+
- Run `npm test`, `npm run validate`, `npm run smoke-install`, `npm run verify-package`, and `npm run verify-site` before submission.
|
package/docs/preview.svg
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Supered preview</title>
|
|
3
|
+
<desc id="desc">A preview card showing the Supered workflow: shape, build, prove, ship.</desc>
|
|
4
|
+
<rect width="1280" height="720" fill="#f8fafc"/>
|
|
5
|
+
<rect x="72" y="72" width="1136" height="576" rx="8" fill="#ffffff" stroke="#d6dee8" stroke-width="2"/>
|
|
6
|
+
<image href="../1.svg" x="104" y="104" width="168" height="168" preserveAspectRatio="xMidYMid meet"/>
|
|
7
|
+
<text x="312" y="158" fill="#0f172a" font-family="Inter, Arial, sans-serif" font-size="76" font-weight="800">Supered</text>
|
|
8
|
+
<text x="316" y="214" fill="#4b5563" font-family="Inter, Arial, sans-serif" font-size="30" font-weight="500">shape, build, prove, ship</text>
|
|
9
|
+
<g font-family="Inter, Arial, sans-serif">
|
|
10
|
+
<rect x="112" y="354" width="236" height="170" rx="8" fill="#f8fafc" stroke="#d6dee8"/>
|
|
11
|
+
<rect x="380" y="354" width="236" height="170" rx="8" fill="#f8fafc" stroke="#d6dee8"/>
|
|
12
|
+
<rect x="648" y="354" width="236" height="170" rx="8" fill="#f8fafc" stroke="#d6dee8"/>
|
|
13
|
+
<rect x="916" y="354" width="236" height="170" rx="8" fill="#f8fafc" stroke="#d6dee8"/>
|
|
14
|
+
<text x="136" y="412" fill="#dc2626" font-size="22" font-weight="800">01</text>
|
|
15
|
+
<text x="404" y="412" fill="#dc2626" font-size="22" font-weight="800">02</text>
|
|
16
|
+
<text x="672" y="412" fill="#dc2626" font-size="22" font-weight="800">03</text>
|
|
17
|
+
<text x="940" y="412" fill="#dc2626" font-size="22" font-weight="800">04</text>
|
|
18
|
+
<text x="136" y="464" fill="#0f172a" font-size="34" font-weight="800">Shape</text>
|
|
19
|
+
<text x="404" y="464" fill="#0f172a" font-size="34" font-weight="800">Build</text>
|
|
20
|
+
<text x="672" y="464" fill="#0f172a" font-size="34" font-weight="800">Prove</text>
|
|
21
|
+
<text x="940" y="464" fill="#0f172a" font-size="34" font-weight="800">Ship</text>
|
|
22
|
+
<path d="M330 439h50" stroke="#0ea5a3" stroke-width="7" stroke-linecap="round"/>
|
|
23
|
+
<path d="M598 439h50" stroke="#0ea5a3" stroke-width="7" stroke-linecap="round"/>
|
|
24
|
+
<path d="M866 439h50" stroke="#0ea5a3" stroke-width="7" stroke-linecap="round"/>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
package/docs/roadmap.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Supered Roadmap
|
|
2
|
+
|
|
3
|
+
## v0.1
|
|
4
|
+
|
|
5
|
+
- Public repository with MIT license.
|
|
6
|
+
- Codex, Claude, Cursor, and Gemini starter metadata.
|
|
7
|
+
- Seven core skills covering task shaping, planning, building, debugging, proving, and shipping.
|
|
8
|
+
- CLI validation and smoke install checks.
|
|
9
|
+
- GitHub Pages landing page.
|
|
10
|
+
- One-line installer plus host-specific docs.
|
|
11
|
+
- Browser site verification.
|
|
12
|
+
|
|
13
|
+
## v0.2
|
|
14
|
+
|
|
15
|
+
- Example transcripts showing Supered workflows in practice.
|
|
16
|
+
- A compatibility checklist for marketplace submission.
|
|
17
|
+
- Marketplace packaging experiments for supported hosts.
|
|
18
|
+
- Install troubleshooting guide for custom skill directories.
|
|
19
|
+
|
|
20
|
+
## v0.3
|
|
21
|
+
|
|
22
|
+
- Skill authoring guide with contribution tests.
|
|
23
|
+
- Release automation for tags, notes, and metadata checks.
|
|
24
|
+
- Optional templates for repo launch checklists.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Skill Format
|
|
2
|
+
|
|
3
|
+
Each Supered skill is a folder containing `SKILL.md`.
|
|
4
|
+
|
|
5
|
+
The file starts with YAML-style frontmatter:
|
|
6
|
+
|
|
7
|
+
```md
|
|
8
|
+
---
|
|
9
|
+
name: skill-name
|
|
10
|
+
description: Use when...
|
|
11
|
+
---
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The body should include:
|
|
15
|
+
|
|
16
|
+
- a short overview
|
|
17
|
+
- when to use the skill
|
|
18
|
+
- the operating steps
|
|
19
|
+
- the evidence expected before the agent moves on
|
package/docs/styles.css
ADDED
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
color-scheme: light;
|
|
3
|
+
--ink: #111827;
|
|
4
|
+
--muted: #4b5563;
|
|
5
|
+
--paper: #f8fafc;
|
|
6
|
+
--line: #d6dee8;
|
|
7
|
+
--teal: #0ea5a3;
|
|
8
|
+
--orange: #f97316;
|
|
9
|
+
--red: #dc2626;
|
|
10
|
+
--navy: #0f172a;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
* {
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
html {
|
|
18
|
+
scroll-behavior: smooth;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
body {
|
|
22
|
+
margin: 0;
|
|
23
|
+
background: var(--paper);
|
|
24
|
+
color: var(--ink);
|
|
25
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
a {
|
|
29
|
+
color: inherit;
|
|
30
|
+
text-decoration: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.topbar {
|
|
34
|
+
align-items: center;
|
|
35
|
+
background: rgba(248, 250, 252, 0.94);
|
|
36
|
+
border-bottom: 1px solid var(--line);
|
|
37
|
+
display: flex;
|
|
38
|
+
justify-content: space-between;
|
|
39
|
+
min-height: 64px;
|
|
40
|
+
padding: 0 32px;
|
|
41
|
+
position: sticky;
|
|
42
|
+
top: 0;
|
|
43
|
+
z-index: 10;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.brand {
|
|
47
|
+
align-items: center;
|
|
48
|
+
display: inline-flex;
|
|
49
|
+
font-weight: 800;
|
|
50
|
+
gap: 10px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.brand img {
|
|
54
|
+
border-radius: 8px;
|
|
55
|
+
height: 36px;
|
|
56
|
+
object-fit: contain;
|
|
57
|
+
width: 36px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
nav {
|
|
61
|
+
display: flex;
|
|
62
|
+
gap: 22px;
|
|
63
|
+
color: var(--muted);
|
|
64
|
+
font-size: 15px;
|
|
65
|
+
font-weight: 650;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
nav a:hover {
|
|
69
|
+
color: var(--teal);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.hero {
|
|
73
|
+
align-items: center;
|
|
74
|
+
display: grid;
|
|
75
|
+
gap: 48px;
|
|
76
|
+
grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
|
|
77
|
+
min-height: calc(100vh - 96px);
|
|
78
|
+
padding: 62px clamp(24px, 6vw, 84px) 48px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.hero-copy {
|
|
82
|
+
max-width: 760px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.eyebrow {
|
|
86
|
+
color: var(--red);
|
|
87
|
+
font-size: 14px;
|
|
88
|
+
font-weight: 800;
|
|
89
|
+
letter-spacing: 0;
|
|
90
|
+
margin: 0 0 12px;
|
|
91
|
+
text-transform: uppercase;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
h1,
|
|
95
|
+
h2,
|
|
96
|
+
h3,
|
|
97
|
+
p {
|
|
98
|
+
margin-top: 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
h1 {
|
|
102
|
+
color: var(--navy);
|
|
103
|
+
font-size: 128px;
|
|
104
|
+
letter-spacing: 0;
|
|
105
|
+
line-height: 0.86;
|
|
106
|
+
margin-bottom: 26px;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
h2 {
|
|
110
|
+
color: var(--navy);
|
|
111
|
+
font-size: 64px;
|
|
112
|
+
letter-spacing: 0;
|
|
113
|
+
line-height: 0.98;
|
|
114
|
+
margin-bottom: 18px;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
h3 {
|
|
118
|
+
color: var(--navy);
|
|
119
|
+
font-size: 24px;
|
|
120
|
+
letter-spacing: 0;
|
|
121
|
+
margin-bottom: 8px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.lede {
|
|
125
|
+
color: var(--muted);
|
|
126
|
+
font-size: 32px;
|
|
127
|
+
line-height: 1.16;
|
|
128
|
+
margin-bottom: 34px;
|
|
129
|
+
max-width: 820px;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.actions {
|
|
133
|
+
display: flex;
|
|
134
|
+
flex-wrap: wrap;
|
|
135
|
+
gap: 12px;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.button {
|
|
139
|
+
align-items: center;
|
|
140
|
+
border: 1px solid var(--navy);
|
|
141
|
+
border-radius: 8px;
|
|
142
|
+
display: inline-flex;
|
|
143
|
+
font-size: 16px;
|
|
144
|
+
font-weight: 750;
|
|
145
|
+
min-height: 48px;
|
|
146
|
+
padding: 0 18px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.button.primary {
|
|
150
|
+
background: var(--navy);
|
|
151
|
+
color: white;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.button.secondary {
|
|
155
|
+
background: white;
|
|
156
|
+
color: var(--navy);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.button:hover {
|
|
160
|
+
border-color: var(--teal);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.hero-media {
|
|
164
|
+
display: grid;
|
|
165
|
+
justify-items: center;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.hero-media img {
|
|
169
|
+
border: 1px solid var(--line);
|
|
170
|
+
border-radius: 8px;
|
|
171
|
+
box-shadow: 0 22px 70px rgba(15, 23, 42, 0.14);
|
|
172
|
+
max-height: min(56vh, 560px);
|
|
173
|
+
max-width: 100%;
|
|
174
|
+
object-fit: contain;
|
|
175
|
+
width: min(560px, 100%);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.workflow,
|
|
179
|
+
.install {
|
|
180
|
+
border-top: 1px solid var(--line);
|
|
181
|
+
padding: 68px clamp(24px, 6vw, 84px);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.section-head {
|
|
185
|
+
max-width: 820px;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.steps {
|
|
189
|
+
display: grid;
|
|
190
|
+
gap: 16px;
|
|
191
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
192
|
+
margin-top: 34px;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.steps article {
|
|
196
|
+
background: white;
|
|
197
|
+
border: 1px solid var(--line);
|
|
198
|
+
border-radius: 8px;
|
|
199
|
+
min-height: 190px;
|
|
200
|
+
padding: 22px;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.steps span {
|
|
204
|
+
color: var(--orange);
|
|
205
|
+
display: inline-block;
|
|
206
|
+
font-size: 13px;
|
|
207
|
+
font-weight: 850;
|
|
208
|
+
margin-bottom: 34px;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.steps p,
|
|
212
|
+
.install p {
|
|
213
|
+
color: var(--muted);
|
|
214
|
+
font-size: 18px;
|
|
215
|
+
line-height: 1.45;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.install {
|
|
219
|
+
align-items: start;
|
|
220
|
+
display: grid;
|
|
221
|
+
gap: 32px;
|
|
222
|
+
grid-template-columns: minmax(0, 0.8fr) minmax(320px, 1.2fr);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
pre {
|
|
226
|
+
background: var(--navy);
|
|
227
|
+
border-radius: 8px;
|
|
228
|
+
color: white;
|
|
229
|
+
margin: 0;
|
|
230
|
+
overflow-wrap: anywhere;
|
|
231
|
+
overflow-x: hidden;
|
|
232
|
+
padding: 24px;
|
|
233
|
+
white-space: pre-wrap;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
code {
|
|
237
|
+
font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
|
|
238
|
+
font-size: 15px;
|
|
239
|
+
line-height: 1.65;
|
|
240
|
+
white-space: pre-wrap;
|
|
241
|
+
word-break: break-word;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
@media (max-width: 860px) {
|
|
245
|
+
.topbar {
|
|
246
|
+
align-items: flex-start;
|
|
247
|
+
flex-direction: column;
|
|
248
|
+
gap: 12px;
|
|
249
|
+
padding: 16px 20px;
|
|
250
|
+
position: static;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
nav {
|
|
254
|
+
flex-wrap: wrap;
|
|
255
|
+
gap: 14px;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.hero,
|
|
259
|
+
.install {
|
|
260
|
+
grid-template-columns: 1fr;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.hero {
|
|
264
|
+
min-height: auto;
|
|
265
|
+
padding-top: 38px;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.steps {
|
|
269
|
+
grid-template-columns: 1fr;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.hero-media {
|
|
273
|
+
justify-items: start;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
h1 {
|
|
277
|
+
font-size: 68px;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
h2 {
|
|
281
|
+
font-size: 38px;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
.lede {
|
|
285
|
+
font-size: 23px;
|
|
286
|
+
}
|
|
287
|
+
}
|
package/install.sh
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -eu
|
|
3
|
+
|
|
4
|
+
SUPERED_REPO="${SUPERED_REPO:-https://github.com/fhajjej-ship-it/Supered}"
|
|
5
|
+
SUPERED_REF="${SUPERED_REF:-main}"
|
|
6
|
+
SUPERED_TARGET="${SUPERED_TARGET:-codex}"
|
|
7
|
+
SUPERED_SOURCE_DIR="${SUPERED_SOURCE_DIR:-}"
|
|
8
|
+
SUPERED_DEST="${SUPERED_DEST:-}"
|
|
9
|
+
|
|
10
|
+
usage() {
|
|
11
|
+
cat <<'EOF'
|
|
12
|
+
Install Supered skills.
|
|
13
|
+
|
|
14
|
+
One-line install:
|
|
15
|
+
curl -fsSL https://raw.githubusercontent.com/fhajjej-ship-it/Supered/main/install.sh | sh
|
|
16
|
+
|
|
17
|
+
Options:
|
|
18
|
+
--target codex|claude|cursor|gemini|opencode
|
|
19
|
+
--dest PATH
|
|
20
|
+
--ref REF
|
|
21
|
+
--help
|
|
22
|
+
|
|
23
|
+
Environment:
|
|
24
|
+
SUPERED_TARGET Install target. Defaults to codex.
|
|
25
|
+
SUPERED_DEST Override destination directory.
|
|
26
|
+
SUPERED_REF Git ref to install. Defaults to main.
|
|
27
|
+
SUPERED_SOURCE_DIR Local checkout to install from, used by tests and local development.
|
|
28
|
+
EOF
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
die() {
|
|
32
|
+
printf '%s\n' "$*" >&2
|
|
33
|
+
exit 1
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
while [ "$#" -gt 0 ]; do
|
|
37
|
+
case "$1" in
|
|
38
|
+
--target)
|
|
39
|
+
[ "$#" -ge 2 ] || die "--target requires a value"
|
|
40
|
+
SUPERED_TARGET="$2"
|
|
41
|
+
shift 2
|
|
42
|
+
;;
|
|
43
|
+
--dest)
|
|
44
|
+
[ "$#" -ge 2 ] || die "--dest requires a value"
|
|
45
|
+
SUPERED_DEST="$2"
|
|
46
|
+
shift 2
|
|
47
|
+
;;
|
|
48
|
+
--ref)
|
|
49
|
+
[ "$#" -ge 2 ] || die "--ref requires a value"
|
|
50
|
+
SUPERED_REF="$2"
|
|
51
|
+
shift 2
|
|
52
|
+
;;
|
|
53
|
+
--help|-h)
|
|
54
|
+
usage
|
|
55
|
+
exit 0
|
|
56
|
+
;;
|
|
57
|
+
*)
|
|
58
|
+
die "Unknown option: $1"
|
|
59
|
+
;;
|
|
60
|
+
esac
|
|
61
|
+
done
|
|
62
|
+
|
|
63
|
+
default_dest() {
|
|
64
|
+
case "$SUPERED_TARGET" in
|
|
65
|
+
codex) printf '%s/.codex/skills\n' "$HOME" ;;
|
|
66
|
+
claude) printf '%s/.claude/skills\n' "$HOME" ;;
|
|
67
|
+
cursor) printf '%s/.cursor/skills\n' "$HOME" ;;
|
|
68
|
+
gemini) printf '%s/.gemini/skills\n' "$HOME" ;;
|
|
69
|
+
opencode) printf '%s/.opencode/skills\n' "$HOME" ;;
|
|
70
|
+
*) die "Unsupported target: $SUPERED_TARGET" ;;
|
|
71
|
+
esac
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
download_source() {
|
|
75
|
+
tmp_dir="$(mktemp -d "${TMPDIR:-/tmp}/supered.XXXXXX")"
|
|
76
|
+
archive="$tmp_dir/supered.tar.gz"
|
|
77
|
+
url="https://codeload.github.com/fhajjej-ship-it/Supered/tar.gz/$SUPERED_REF"
|
|
78
|
+
|
|
79
|
+
if command -v curl >/dev/null 2>&1; then
|
|
80
|
+
curl -fsSL "$url" -o "$archive"
|
|
81
|
+
elif command -v wget >/dev/null 2>&1; then
|
|
82
|
+
wget -qO "$archive" "$url"
|
|
83
|
+
else
|
|
84
|
+
die "Install requires curl or wget"
|
|
85
|
+
fi
|
|
86
|
+
|
|
87
|
+
tar -xzf "$archive" -C "$tmp_dir"
|
|
88
|
+
find "$tmp_dir" -mindepth 1 -maxdepth 1 -type d | head -n 1
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
source_dir="$SUPERED_SOURCE_DIR"
|
|
92
|
+
if [ -z "$source_dir" ]; then
|
|
93
|
+
source_dir="$(download_source)"
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
[ -d "$source_dir/skills" ] || die "Could not find skills in $source_dir"
|
|
97
|
+
|
|
98
|
+
dest="$SUPERED_DEST"
|
|
99
|
+
if [ -z "$dest" ]; then
|
|
100
|
+
dest="$(default_dest)"
|
|
101
|
+
fi
|
|
102
|
+
|
|
103
|
+
mkdir -p "$dest"
|
|
104
|
+
cp -R "$source_dir/skills/." "$dest/"
|
|
105
|
+
|
|
106
|
+
printf 'Installed Supered for %s at %s\n' "$SUPERED_TARGET" "$dest"
|