You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/skills/ci-cd/SKILL.md
+72-1Lines changed: 72 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: ci-cd
3
-
description: Use when creating, debugging, or improving GitHub Actions workflows for this repo — especially release workflows for crates.io, PyPI, npm, GitHub Releases, or Debian packages. Covers OpenSSL vendoring, manylinux containers, Perl module gaps, workspace scoping, native vs QEMU arm64 runners, trusted publishing, artifact actions, toolchain parity, and idempotency patterns.
3
+
description: Use when creating, debugging, or improving GitHub Actions workflows for this repo — especially release workflows for crates.io, PyPI, npm, GitHub Releases, or Debian packages. Also covers SDK distribution README branding alignment across npm, PyPI, and the main repo. Covers OpenSSL vendoring, manylinux containers, Perl module gaps, workspace scoping, native vs QEMU arm64 runners, trusted publishing, artifact actions, toolchain parity, and idempotency patterns.
4
4
---
5
5
6
6
# CI/CD
@@ -16,6 +16,17 @@ description: Use when creating, debugging, or improving GitHub Actions workflows
16
16
17
17
All four workflows share the same structural patterns. When editing one, check the others for consistency.
18
18
19
+
## Source of truth for distribution channel READMEs
Keep it minimal. Show the logo and tagline for brand recognition, then immediately redirect to `@smbcloud/cli`. Do not repeat install instructions — the user landed on the wrong package.
423
+
424
+
### Platform support table
425
+
426
+
Keep this table consistent across all READMEs:
427
+
428
+
```md
429
+
| Platform | Architecture |
430
+
| ------------- | ------------ |
431
+
| macOS | arm64, x64 |
432
+
| Linux (glibc) | arm64, x64 |
433
+
| Windows | arm64, x64 |
434
+
```
435
+
436
+
Update it whenever a new platform is added to the release matrix.
437
+
438
+
### PyPI-specific copy
439
+
440
+
Add this line to distinguish the pip install from npm:
441
+
442
+
> This package installs the native `smb` executable for your platform directly — no Node.js, no Docker, no runtime dependencies.
443
+
444
+
### Template variable in `README.md.tmpl`
445
+
446
+
The platform package template uses `${node_pkg}` as a shell-style variable. This is substituted at release time by the npm publish script. Do not replace it with a hardcoded package name.
447
+
448
+
---
449
+
385
450
## Common mistakes
386
451
387
452
**Building the full workspace in release workflows**
@@ -407,3 +472,9 @@ manylinux2014 is CentOS 7. Use `yum`, not `apt`. For manylinux_2_28 (AlmaLinux 8
407
472
408
473
**Missing `User-Agent` on crates.io API requests**
409
474
crates.io rejects curl requests without a `User-Agent` header. Always include `-H "User-Agent: smbcloud-cli-release-workflow"`.
475
+
476
+
**Distribution README out of sync with main README**
477
+
When the main `README.MD` changes its tagline, logo URL, quick start commands, or value proposition, the npm and PyPI READMEs must be updated in the same commit. Stale distribution READMEs show outdated branding on npmjs.com and pypi.org — the highest-visibility surfaces for new users discovering the CLI.
478
+
479
+
**Platform support table missing new targets**
480
+
When a new platform is added to any release matrix (e.g. `linux-arm64`), update the platform support table in `npm/smbcloud-cli/README.md` and `pypi/README.md` in the same PR.
This is a CLI program to access [smbcloud](https://smbcloud.xyz/).
26
+
## About
4
27
5
-
# Important!
28
+
**`smb`** is the command-line interface for [smbCloud](https://www.smbcloud.xyz/) — the modern cloud deployment platform. We've eliminated the friction of cloud infrastructure so you can focus on what matters: building an incredible product.
6
29
7
-
This is a binary executable that is compiled from [the Rust project](https://github.com/smbcloudXYZ/smbcloud-cli). Report any issue there. Refer to the repo for documentation.
30
+
Ship your Rust, Node.js, Ruby, or Swift app with a single, magical command.
31
+
32
+
## Install
33
+
34
+
```sh
35
+
npm install -g @smbcloud/cli
36
+
```
37
+
38
+
This package automatically downloads and installs the correct pre-built native binary for your platform.
39
+
40
+
## Quick Start
41
+
42
+
```sh
43
+
smb login
44
+
smb init
45
+
smb deploy
46
+
```
47
+
48
+
That's it. Your app is live.
49
+
50
+
## Other Installation Methods
51
+
52
+
### Homebrew (macOS & Linux)
53
+
54
+
```sh
55
+
brew tap smbcloudXYZ/tap
56
+
brew install cli
57
+
```
58
+
59
+
### pip
60
+
61
+
```sh
62
+
pip install smbcloud-cli
63
+
```
64
+
65
+
### Shell (macOS / Linux)
66
+
67
+
```sh
68
+
curl -fsSL https://raw.githubusercontent.com/smbcloudXYZ/smbcloud-cli/main/install-unix.sh | sh
Python distribution for the `smb` command line interface used to access
4
-
[smbcloud](https://smbcloud.xyz/).
26
+
## About
5
27
6
-
## Installation
28
+
**`smb`** is the command-line interface for [smbCloud](https://www.smbcloud.xyz/) — the modern cloud deployment platform. We've eliminated the friction of cloud infrastructure so you can focus on what matters: building an incredible product.
7
29
8
-
```bash
30
+
Ship your Rust, Node.js, Ruby, or Swift app with a single, magical command.
31
+
32
+
## Install
33
+
34
+
```sh
9
35
pip install smbcloud-cli
10
36
```
11
37
12
-
This package installs the native `smb` executable for the current platform.
38
+
This package installs the native `smb` executable for your platform directly — no Node.js, no Docker, no runtime dependencies.
39
+
40
+
## Quick Start
41
+
42
+
```sh
43
+
smb login
44
+
smb init
45
+
smb deploy
46
+
```
47
+
48
+
That's it. Your app is live.
49
+
50
+
## Other Installation Methods
51
+
52
+
### Homebrew (macOS & Linux)
53
+
54
+
```sh
55
+
brew tap smbcloudXYZ/tap
56
+
brew install cli
57
+
```
58
+
59
+
### npm
60
+
61
+
```sh
62
+
npm install -g @smbcloud/cli
63
+
```
64
+
65
+
### Shell (macOS / Linux)
66
+
67
+
```sh
68
+
curl -fsSL https://raw.githubusercontent.com/smbcloudXYZ/smbcloud-cli/main/install-unix.sh | sh
0 commit comments