packwise-skills 1.0.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/.cursorrules +23 -0
- package/CLAUDE.md +25 -0
- package/README.md +295 -0
- package/audit.md +224 -0
- package/bin/packwise.js +155 -0
- package/package.json +31 -0
- package/skill.md +719 -0
- package/sub-skills/ai/local-llm.md +183 -0
- package/sub-skills/ai/python-ml.md +164 -0
- package/sub-skills/backend/go-server.md +184 -0
- package/sub-skills/backend/java-spring.md +241 -0
- package/sub-skills/backend/node-server.md +164 -0
- package/sub-skills/backend/php-laravel.md +175 -0
- package/sub-skills/backend/python-server.md +164 -0
- package/sub-skills/backend/rust-backend.md +118 -0
- package/sub-skills/cli/python-cli.md +236 -0
- package/sub-skills/cli/sdk-library.md +497 -0
- package/sub-skills/cloud/ci-cd-pipelines.md +350 -0
- package/sub-skills/cloud/docker.md +191 -0
- package/sub-skills/cloud/kubernetes.md +277 -0
- package/sub-skills/cloud/payment-integration.md +307 -0
- package/sub-skills/cross-platform/multiplatform.md +252 -0
- package/sub-skills/desktop/electron.md +783 -0
- package/sub-skills/desktop/game-dev.md +443 -0
- package/sub-skills/desktop/native-app.md +123 -0
- package/sub-skills/desktop/scenarios.md +443 -0
- package/sub-skills/desktop/smart-platforms.md +324 -0
- package/sub-skills/desktop/tauri.md +428 -0
- package/sub-skills/desktop/vr-ar.md +252 -0
- package/sub-skills/desktop/web-to-desktop.md +153 -0
- package/sub-skills/embedded/car-infotainment.md +129 -0
- package/sub-skills/embedded/esp32.md +184 -0
- package/sub-skills/embedded/ros.md +150 -0
- package/sub-skills/embedded/stm32.md +160 -0
- package/sub-skills/mobile/android.md +322 -0
- package/sub-skills/mobile/capacitor.md +232 -0
- package/sub-skills/mobile/flutter-mobile.md +138 -0
- package/sub-skills/mobile/harmonyos.md +150 -0
- package/sub-skills/mobile/ios.md +245 -0
- package/sub-skills/mobile/react-native.md +443 -0
- package/sub-skills/mobile/wearables.md +230 -0
- package/sub-skills/plugins/browser-extension.md +308 -0
- package/sub-skills/plugins/jetbrains-plugin.md +226 -0
- package/sub-skills/plugins/vscode-extension.md +204 -0
- package/sub-skills/security/security-tools.md +174 -0
- package/sub-skills/web/monorepo.md +274 -0
- package/sub-skills/web/pwa.md +220 -0
- package/sub-skills/web/serverless-edge.md +295 -0
- package/sub-skills/web/spa.md +266 -0
- package/sub-skills/web/ssr.md +228 -0
- package/sub-skills/web/wasm.md +243 -0
package/.cursorrules
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Packwise — Build & Packaging Skill
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
This project contains a universal build & packaging skill set for AI-assisted development. When asked to build, package, distribute, or ship software, follow the workflow in `skill.md`.
|
|
6
|
+
|
|
7
|
+
## Instructions
|
|
8
|
+
|
|
9
|
+
1. Read `skill.md` — it contains the complete 8-step workflow
|
|
10
|
+
2. Scan the user's project first (framework, language, dependencies)
|
|
11
|
+
3. Ask the user key questions (platform, architecture, signing, protection)
|
|
12
|
+
4. Recommend the BEST approach with reasoning + alternatives
|
|
13
|
+
5. Execute only after user confirms
|
|
14
|
+
6. Always run the mandatory security audit after build
|
|
15
|
+
7. Output results to `./release/` unless user specifies otherwise
|
|
16
|
+
|
|
17
|
+
## Constraints
|
|
18
|
+
|
|
19
|
+
- Never assume — always ask
|
|
20
|
+
- Recommend with clear reasoning
|
|
21
|
+
- Security checks are mandatory (credentials, .env, source maps)
|
|
22
|
+
- If unsure about a platform, check `sub-skills/` for the matching guide
|
|
23
|
+
- If no sub-skill matches, research online (time-boxed to 2-3 min)
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Claude Code — Packwise Skill
|
|
2
|
+
|
|
3
|
+
## How to use this skill
|
|
4
|
+
|
|
5
|
+
When the user asks to **build, package, distribute, or ship** any software project:
|
|
6
|
+
|
|
7
|
+
1. Read `skill.md` for the complete 8-step workflow
|
|
8
|
+
2. Follow the workflow exactly — do not skip steps
|
|
9
|
+
3. After building, always run the mandatory security audit
|
|
10
|
+
|
|
11
|
+
## Trigger phrases
|
|
12
|
+
|
|
13
|
+
- "package my app"
|
|
14
|
+
- "build for Windows/macOS/Linux"
|
|
15
|
+
- "create an installer"
|
|
16
|
+
- "ship this project"
|
|
17
|
+
- "distribute my app"
|
|
18
|
+
- "bundle for production"
|
|
19
|
+
|
|
20
|
+
## Key rules
|
|
21
|
+
|
|
22
|
+
- **Ask questions first** — never assume platform, architecture, or encryption needs
|
|
23
|
+
- **Recommend with reasoning** — explain WHY, not just WHAT
|
|
24
|
+
- **Security is mandatory** — always check for .env files, credentials, source maps
|
|
25
|
+
- **Confirm before executing** — never build without user approval
|
package/README.md
ADDED
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# packwise-skills
|
|
2
|
+
|
|
3
|
+
> One skill that turns your AI into a build consultant — scan, recommend, package, and audit any project.
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://github.com/Thomas520TOM/packwise-skills/commits/main">
|
|
7
|
+
<img src="https://img.shields.io/github/last-commit/Thomas520TOM/packwise-skills?style=flat-square&logo=github" alt="last commit">
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://github.com/Thomas520TOM/packwise-skills/blob/main/LICENSE">
|
|
10
|
+
<img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square&logo=github" alt="license">
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://github.com/Thomas520TOM/packwise-skills/tree/main/sub-skills">
|
|
13
|
+
<img src="https://img.shields.io/badge/skills-44-brightgreen?style=flat-square" alt="skills">
|
|
14
|
+
</a>
|
|
15
|
+
<a href="#supported-platforms">
|
|
16
|
+
<img src="https://img.shields.io/badge/platforms-20%2B-orange?style=flat-square" alt="platforms">
|
|
17
|
+
</a>
|
|
18
|
+
<a href="#supported-platforms">
|
|
19
|
+
<img src="https://img.shields.io/badge/frameworks-40%2B-purple?style=flat-square" alt="frameworks">
|
|
20
|
+
</a>
|
|
21
|
+
<a href="#tested-framework-versions">
|
|
22
|
+
<img src="https://img.shields.io/badge/tested-10-success?style=flat-square" alt="tested">
|
|
23
|
+
</a>
|
|
24
|
+
<a href="#installation">
|
|
25
|
+
<img src="https://img.shields.io/badge/works%20with-Claude%20Code%20%7C%20OpenCode%20%7C%20Cursor-yellow?style=flat-square" alt="works with">
|
|
26
|
+
</a>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
**Packwise** is a universal build & packaging skill for AI-assisted development. Instead of your AI guessing at build commands and hoping for the best, Packwise gives it a structured, consultant-grade workflow that scans your project, asks the right questions, recommends solutions with reasoning, and executes builds with mandatory security audits — across 20+ platforms and 40+ frameworks.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Why This Exists
|
|
36
|
+
|
|
37
|
+
Packaging software is where most AI coding assistants fail. They suggest outdated flags, forget platform-specific quirks, skip credential scans, and have no concept of a proper build plan. **Packwise fixes this** by turning your AI into a structured build consultant with real domain knowledge.
|
|
38
|
+
|
|
39
|
+
<div align="center">
|
|
40
|
+
|
|
41
|
+
| Without Packwise | With Packwise |
|
|
42
|
+
|:---:|:---:|
|
|
43
|
+
| `"Try running npm run build"` | Scans project → identifies framework/version → recommends with reasoning |
|
|
44
|
+
| No security checks | Mandatory credential scan, `.env` detection, source map cleanup |
|
|
45
|
+
| Guesses platform differences | Asks target platform, arch, signing, output — all upfront |
|
|
46
|
+
| One-shot answer | Full workflow: recommend → alternatives → confirm → execute |
|
|
47
|
+
| No post-build verification | Mandatory audit: credentials, integrity, file structure |
|
|
48
|
+
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## How It Works
|
|
54
|
+
|
|
55
|
+
Packwise runs a **consultant-style 8-step workflow** — the same process a human build engineer would follow:
|
|
56
|
+
|
|
57
|
+
| Step | Action | Result |
|
|
58
|
+
|:----:|--------|--------|
|
|
59
|
+
| **1** | **Scan** — detect framework, language, dependencies, `.env` files | Project analysis |
|
|
60
|
+
| **2** | **Intake** — report findings, ask 12 structured questions | User preferences |
|
|
61
|
+
| **3** | **Analyze** — combine scan + answers + online research (if needed) | Strategy options |
|
|
62
|
+
| **4** | **Recommend** — present best approach with reasoning + alternatives | Decision support |
|
|
63
|
+
| **5** | **Confirm** — user selects, final build plan generated | Confirmed plan |
|
|
64
|
+
| **6** | **Execute** — load sub-skill, run build commands | Installers / packages |
|
|
65
|
+
| **7** | **Audit** — credentials, `.env`, `.map`, package integrity | Security report |
|
|
66
|
+
| **8** | **Report** — structured final build report | Delivery |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Key Advantages
|
|
71
|
+
|
|
72
|
+
Packwise is more than a build script. It's a **complete packaging intelligence layer** that works across your entire stack.
|
|
73
|
+
|
|
74
|
+
| Capability | What It Means |
|
|
75
|
+
|------------|---------------|
|
|
76
|
+
| **44 sub-skills** | Deep, platform-specific knowledge — not generic advice |
|
|
77
|
+
| **20+ platforms** | Desktop, mobile, web, backend, AI/ML, CLI, plugins, embedded, cloud |
|
|
78
|
+
| **Mandatory security** | Every build ends with a credential and integrity audit |
|
|
79
|
+
| **Consultant workflow** | Recommend → confirm → execute, never auto-builds without approval |
|
|
80
|
+
| **Version-verified** | Build commands checked against npm, PyPI, crates.io, official registries |
|
|
81
|
+
| **CI/CD templates** | GitHub Actions and GitLab CI configs included in every sub-skill |
|
|
82
|
+
| **Cross-tool support** | Works with Claude Code, OpenCode, Cursor, Codex CLI, and more |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Installation
|
|
87
|
+
|
|
88
|
+
### npm (Recommended)
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npm install -g packwise-skills
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Then invoke in your AI agent:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
> package my Electron app for Windows
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
<details>
|
|
101
|
+
<summary><strong>Git clone</strong> — install from source</summary>
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# User-level (all projects)
|
|
105
|
+
cd ~/.claude/
|
|
106
|
+
git clone https://github.com/Thomas520TOM/packwise-skills.git skills/packwise
|
|
107
|
+
|
|
108
|
+
# Project-level (this project only)
|
|
109
|
+
cd your-project/
|
|
110
|
+
mkdir -p .claude/skills/
|
|
111
|
+
git clone https://github.com/Thomas520TOM/packwise-skills.git .claude/skills/packwise
|
|
112
|
+
```
|
|
113
|
+
</details>
|
|
114
|
+
|
|
115
|
+
<details>
|
|
116
|
+
<summary><strong>Curl one-liner</strong> — install with a single command</summary>
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
curl -fsSL https://raw.githubusercontent.com/Thomas520TOM/packwise-skills/main/install.sh | bash
|
|
120
|
+
```
|
|
121
|
+
</details>
|
|
122
|
+
|
|
123
|
+
<details>
|
|
124
|
+
<summary><strong>Other AI tools</strong> — OpenCode, Cursor, Hermes, Codex CLI, WorkBuddy</summary>
|
|
125
|
+
|
|
126
|
+
**OpenCode** — copy to `.opencode/skills/packwise/` and reference in prompts:
|
|
127
|
+
```bash
|
|
128
|
+
mkdir -p .opencode/skills/packwise/
|
|
129
|
+
cp skill.md audit.md .opencode/skills/packwise/
|
|
130
|
+
cp -r sub-skills/ .opencode/skills/packwise/
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Cursor** — add to `.cursor/skills/` or reference via `@packwise` in prompts.
|
|
134
|
+
|
|
135
|
+
**Hermes / LangChain Agents** — add to `hermes.config.yaml`:
|
|
136
|
+
```yaml
|
|
137
|
+
skills:
|
|
138
|
+
- path: /path/to/packwise/
|
|
139
|
+
name: packwise
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Codex CLI** — copy to project root as `PACKWISE.md` (auto-read as context).
|
|
143
|
+
|
|
144
|
+
**WorkBuddy** — copy to `~/.workbuddy/skills/` or use `/project:packwise`.
|
|
145
|
+
|
|
146
|
+
**Any LLM agent** — copy `skill.md` + `sub-skills/` to your project and prompt:
|
|
147
|
+
```
|
|
148
|
+
Read skills/package-skill.md and help me package this project
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Full instructions: [INSTALL.md](INSTALL.md)
|
|
152
|
+
</details>
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Supported Platforms
|
|
157
|
+
|
|
158
|
+
| Category | Frameworks | Build Verified |
|
|
159
|
+
|----------|-----------|:--------------:|
|
|
160
|
+
| **Desktop** | Electron 43, Tauri 2.11, Qt, Flutter Desktop, Pake, Neutralinojs | Electron, Tauri |
|
|
161
|
+
| **Mobile** | Android (Kotlin), iOS/iPadOS, HarmonyOS NEXT, Flutter 3.44, React Native 0.86, Capacitor 8 | — |
|
|
162
|
+
| **Web** | Vite 8, Next.js 16, PWA, Serverless/Edge, Monorepo, WebAssembly | Vite, Next.js |
|
|
163
|
+
| **Backend** | Node.js 26, Python 3.12, Go 1.26, Rust, Java/Spring Boot 3.5, PHP/Laravel | Node, Python, Rust, Java |
|
|
164
|
+
| **AI/ML** | PyTorch, TensorFlow, ONNX Runtime, Ollama, llama.cpp, vLLM | — |
|
|
165
|
+
| **CLI/SDK** | PyInstaller, Nuitka, npm/PyPI/crates.io publishing | PyInstaller |
|
|
166
|
+
| **Plugins** | Chrome/Firefox Extensions, VS Code, JetBrains | — |
|
|
167
|
+
| **Embedded** | ESP32, STM32, ROS/ROS2, Car Infotainment | — |
|
|
168
|
+
| **Cloud** | Docker, Kubernetes, CI/CD (GitHub Actions) | — |
|
|
169
|
+
| **Wearables** | watchOS, Wear OS, Galaxy Watch | — |
|
|
170
|
+
|
|
171
|
+
> Checked = build tested on real projects. — = documentation verified against official sources.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Architecture
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
skill.md (Main Orchestrator)
|
|
179
|
+
│
|
|
180
|
+
├─ Step 1: Project Scan ─────── Detect framework, language, deps, env
|
|
181
|
+
│
|
|
182
|
+
├─ Step 2: Intake ───────────── Ask 12 questions (platform, arch, signing...)
|
|
183
|
+
│ ├─ Part A: Project Summary ← scan results displayed
|
|
184
|
+
│ ├─ Part B: Questions ← interactive options with defaults
|
|
185
|
+
│ └─ Part C: Confirmation ← summary table for user approval
|
|
186
|
+
│
|
|
187
|
+
├─ Step 3: Analyze & Research ── Combine data + online research if needed
|
|
188
|
+
│
|
|
189
|
+
├─ Step 4: Recommend ⭐ ──────── Best solution + alternatives + reasoning
|
|
190
|
+
│
|
|
191
|
+
├─ Step 5: Confirm ───────────── User selects → final build plan
|
|
192
|
+
│
|
|
193
|
+
├─ Step 6: Execute ───────────── Load sub-skill → run build commands
|
|
194
|
+
│ ├─ sub-skills/desktop/ Electron, Tauri, Qt, games, VR...
|
|
195
|
+
│ ├─ sub-skills/mobile/ Android, iOS, Flutter, RN, watchOS...
|
|
196
|
+
│ ├─ sub-skills/web/ Vite, Next.js, PWA, WASM...
|
|
197
|
+
│ ├─ sub-skills/backend/ Node, Python, Go, Rust, Java, PHP
|
|
198
|
+
│ ├─ sub-skills/ai/ PyTorch, Ollama, llama.cpp
|
|
199
|
+
│ ├─ sub-skills/cli/ PyInstaller, npm/PyPI publishing
|
|
200
|
+
│ ├─ sub-skills/plugins/ Chrome, VS Code, JetBrains
|
|
201
|
+
│ ├─ sub-skills/embedded/ ESP32, STM32, ROS, car
|
|
202
|
+
│ ├─ sub-skills/security/ Pentest tools, scanners
|
|
203
|
+
│ ├─ sub-skills/cloud/ Docker, K8s, CI/CD
|
|
204
|
+
│ └─ sub-skills/cross-platform/ .NET MAUI, KMP
|
|
205
|
+
│
|
|
206
|
+
├─ Step 7: Audit (mandatory) ── Credentials, .env, .map, package check
|
|
207
|
+
│
|
|
208
|
+
└─ Step 8: Final Report ─────── Build report with all results
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Security Model
|
|
214
|
+
|
|
215
|
+
Packwise enforces security at every stage — no build completes without a clean audit.
|
|
216
|
+
|
|
217
|
+
| Stage | Check |
|
|
218
|
+
|-------|-------|
|
|
219
|
+
| **Pre-build scan** | Detect `.env` files, hardcoded API keys, secrets in source |
|
|
220
|
+
| **Build execution** | Delete source maps, exclude `.env` from package, clean test data |
|
|
221
|
+
| **Post-build audit** | Verify no credentials, `.map` files, or `.env` in final package |
|
|
222
|
+
| **Network check** | Optional: verify no unexpected outbound connections |
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## What's Inside
|
|
227
|
+
|
|
228
|
+
### 44 Sub-Skills — Every Major Platform Covered
|
|
229
|
+
|
|
230
|
+
Each sub-skill contains:
|
|
231
|
+
- **Version-verified** build commands (checked against official registries)
|
|
232
|
+
- **Step-by-step** packaging workflows with copy-paste examples
|
|
233
|
+
- **Common pitfalls** table with solutions (from real build testing)
|
|
234
|
+
- **CI/CD** configuration templates (GitHub Actions, GitLab CI)
|
|
235
|
+
- **Security** best practices specific to the platform
|
|
236
|
+
|
|
237
|
+
### Tested Framework Versions
|
|
238
|
+
|
|
239
|
+
| Framework | Version | Verified |
|
|
240
|
+
|-----------|:-------:|:--------:|
|
|
241
|
+
| Electron | 43.x | ✅ |
|
|
242
|
+
| Tauri | 2.11.x | ✅ |
|
|
243
|
+
| Vite | 8.1.3 | ✅ |
|
|
244
|
+
| Next.js | 16.2.10 | ✅ |
|
|
245
|
+
| Node.js | 26 LTS | ✅ |
|
|
246
|
+
| Python | 3.12 | ✅ |
|
|
247
|
+
| Rust | 1.96 | ✅ |
|
|
248
|
+
| Java | 21 LTS | ✅ |
|
|
249
|
+
| React Native | 0.86.x | — |
|
|
250
|
+
| Flutter | 3.44.x | — |
|
|
251
|
+
| Capacitor | 8.x | — |
|
|
252
|
+
| Go | 1.26 | — |
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Contributing
|
|
257
|
+
|
|
258
|
+
Contributions are welcome. Before submitting, please:
|
|
259
|
+
|
|
260
|
+
1. Write all instructions in **English** only
|
|
261
|
+
2. Verify framework versions against **official registries** (npm, PyPI, GitHub Releases)
|
|
262
|
+
3. Include a **Common Pitfalls** table in every new sub-skill
|
|
263
|
+
4. Test build commands when possible
|
|
264
|
+
5. Never commit secrets, API keys, or credentials
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
git clone https://github.com/YOUR_USER/packwise-skills.git
|
|
268
|
+
cd packwise-skills
|
|
269
|
+
git checkout -b feat/my-improvement
|
|
270
|
+
# edit skill.md or sub-skills/
|
|
271
|
+
git commit -m "feat: add [framework] support"
|
|
272
|
+
git push origin feat/my-improvement
|
|
273
|
+
# open a PR against main
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## License
|
|
279
|
+
|
|
280
|
+
<div align="center">
|
|
281
|
+
|
|
282
|
+
[](https://opensource.org/licenses/MIT)
|
|
283
|
+
|
|
284
|
+
This project is licensed under the [MIT License](LICENSE).
|
|
285
|
+
|
|
286
|
+
</div>
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
<div align="center">
|
|
291
|
+
Built with care for the AI-assisted development community.
|
|
292
|
+
<br><br>
|
|
293
|
+
<a href="https://github.com/Thomas520TOM/packwise-skills">GitHub</a> · <a href="https://github.com/Thomas520TOM/packwise-skills/issues">Issues</a> · <a href="https://github.com/Thomas520TOM/packwise-skills/blob/main/INSTALL.md">Install Guide</a>
|
|
294
|
+
<br>
|
|
295
|
+
</div>
|
package/audit.md
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# Post-Build Audit — Mandatory Verification
|
|
2
|
+
|
|
3
|
+
Top-level document. Must be executed after every build. Cannot be skipped.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Audit Procedure
|
|
8
|
+
|
|
9
|
+
After packaging, the AI **must** load this document and execute all checks below. Any failure blocks delivery.
|
|
10
|
+
|
|
11
|
+
### 1. Build Artifact Integrity
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# TypeScript compilation (if applicable)
|
|
15
|
+
npx tsc --noEmit 2>&1 | head -5
|
|
16
|
+
|
|
17
|
+
# Syntax check (if CJS bundle exists)
|
|
18
|
+
node -c dist/server.cjs 2>/dev/null && echo "Syntax OK" || echo "Syntax ERROR"
|
|
19
|
+
|
|
20
|
+
# Encryption files (if applicable)
|
|
21
|
+
ls data-encrypted/*.enc 2>/dev/null | head -5
|
|
22
|
+
head -c 50 data-encrypted/*.enc 2>/dev/null # Should be hex format
|
|
23
|
+
|
|
24
|
+
# Package exists and reasonable size
|
|
25
|
+
ls -lh release/*.exe release/*.dmg release/*.AppImage release/*.apk 2>/dev/null
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 2. Package Validation
|
|
29
|
+
|
|
30
|
+
| Check | Method | Pass Criteria |
|
|
31
|
+
|-------|--------|--------------|
|
|
32
|
+
| Package executable | Double-click to run installer | No errors, wizard displays correctly |
|
|
33
|
+
| Logo correct | Check desktop shortcut and installer | Shows user-provided logo |
|
|
34
|
+
| License correct | View license in installer | Version, email, copyright correct |
|
|
35
|
+
| Install path | Confirm installation directory | Default or user-selected path |
|
|
36
|
+
|
|
37
|
+
### 3. Application Launch
|
|
38
|
+
|
|
39
|
+
| Check | Method | Pass Criteria |
|
|
40
|
+
|-------|--------|--------------|
|
|
41
|
+
| No startup errors | Double-click to open app | No black/white screen, no Error dialog |
|
|
42
|
+
| Server ready | Check console logs | Server listening on port |
|
|
43
|
+
| Frontend loads | UI displays correctly | No blank page, no 404 |
|
|
44
|
+
| Database created | Check userData directory | Database file exists at expected path |
|
|
45
|
+
| First launch | Fresh install and open | Welcome screen or normal initial state |
|
|
46
|
+
|
|
47
|
+
### 4. Data Persistence
|
|
48
|
+
|
|
49
|
+
| Check | Method | Pass Criteria |
|
|
50
|
+
|-------|--------|--------------|
|
|
51
|
+
| Data saves | Create data → close → reopen | Data persists correctly |
|
|
52
|
+
| Database writes | Perform multiple operations | Database file size increases |
|
|
53
|
+
| Config saves | Modify settings → save → reopen | Settings restored correctly |
|
|
54
|
+
| Data clear | Clear data → reopen | No residual data, clean initial state |
|
|
55
|
+
|
|
56
|
+
### 5. Encryption & Decryption
|
|
57
|
+
|
|
58
|
+
| Check | Method | Pass Criteria |
|
|
59
|
+
|-------|--------|--------------|
|
|
60
|
+
| Encrypted files correct | Check .enc file content | Hex format (`iv:encrypted_data`) |
|
|
61
|
+
| Decryption functional | App uses encrypted data at runtime | Data loads and processes correctly |
|
|
62
|
+
| No functional regression | Compare with/without encryption | Core functionality identical |
|
|
63
|
+
| Keys not in artifacts | Search build output | 0 matches for key seed/salt |
|
|
64
|
+
|
|
65
|
+
### 6. Credential Security
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Search build artifacts for sensitive information
|
|
69
|
+
grep -r "sk-\|apiKey\|secret\|token\|password\|appKey\|accessKey\|SecretKey" dist/ release/ 2>/dev/null
|
|
70
|
+
|
|
71
|
+
# Check for source map files (SECURITY: these contain full unobfuscated source)
|
|
72
|
+
find dist/ release/ -name '*.map' -type f 2>/dev/null
|
|
73
|
+
# Expected: 0 results
|
|
74
|
+
|
|
75
|
+
# Check for .env files in build output (SECURITY: may contain secrets)
|
|
76
|
+
find dist/ release/ -name '.env*' -type f 2>/dev/null
|
|
77
|
+
# Expected: 0 results
|
|
78
|
+
|
|
79
|
+
# Check app-specific config files are clean (replace <APP_CONFIG_DIR> with actual path)
|
|
80
|
+
cat <APP_CONFIG_DIR>/config.json 2>/dev/null # Should be empty if cleared
|
|
81
|
+
cat <APP_CONFIG_DIR>/tts.json 2>/dev/null # Should be empty if cleared
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
| Check | Pass Criteria |
|
|
85
|
+
|-------|--------------|
|
|
86
|
+
| No real keys in build artifacts | Only placeholder text (e.g., `sk-...`) |
|
|
87
|
+
| Config files cleared | apiKey/secretKey/appId all empty |
|
|
88
|
+
| No source map files in build | `find dist/ release/ -name '*.map'` returns 0 results |
|
|
89
|
+
| No .env files in package | `find dist/ release/ -name '.env*'` returns 0 results |
|
|
90
|
+
| .gitignore covers sensitive dirs | App config dir, `dist/`, `data-encrypted/`, `.env` all ignored |
|
|
91
|
+
|
|
92
|
+
### 7. File Architecture Validation
|
|
93
|
+
|
|
94
|
+
**Electron projects**:
|
|
95
|
+
```
|
|
96
|
+
resources/
|
|
97
|
+
├── app.asar (read-only: code + frontend)
|
|
98
|
+
├── app.asar.unpacked/ (native modules)
|
|
99
|
+
├── data/ (encrypted data)
|
|
100
|
+
└── public/ (static resources)
|
|
101
|
+
|
|
102
|
+
%APPDATA%/<APP_NAME>/<APP_NAME>/.<app-name>/
|
|
103
|
+
├── config.json
|
|
104
|
+
├── tts.json
|
|
105
|
+
├── database.db (SQLite)
|
|
106
|
+
├── saves/
|
|
107
|
+
└── memory/
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Other frameworks**: Check against the architecture defined in the corresponding sub-skill.
|
|
111
|
+
|
|
112
|
+
### 8. Build Artifact Cleanup
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# release/ directory should only contain the installer
|
|
116
|
+
ls release/
|
|
117
|
+
# Expected: only *.exe / *.dmg / *.AppImage / *.apk
|
|
118
|
+
# Should NOT contain: win-unpacked/, *.blockmap, builder-debug.yml, latest.yml
|
|
119
|
+
|
|
120
|
+
# dist/ should not contain standalone images (if embedded)
|
|
121
|
+
ls dist/images/ dist/*.png 2>/dev/null && echo "WARNING: standalone images" || echo "PASS"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 9. Network Verification (Desktop Apps)
|
|
125
|
+
|
|
126
|
+
Launch the application with a network monitoring tool active (Wireshark, Fiddler, Charles Proxy, or `netstat`).
|
|
127
|
+
|
|
128
|
+
| Check | Method | Pass Criteria |
|
|
129
|
+
|-------|--------|--------------|
|
|
130
|
+
| No unexpected outbound connections | Monitor network traffic for 60 seconds after launch | Only expected connections (user-configured API, license server, update server) |
|
|
131
|
+
| No telemetry without consent | Check for analytics/telemetry endpoints | User explicitly opted in, or none present |
|
|
132
|
+
| DNS requests match expected domains | Filter DNS queries | Only configured domains appear |
|
|
133
|
+
|
|
134
|
+
### 10. Performance Assessment
|
|
135
|
+
|
|
136
|
+
| Metric | Method | Reference |
|
|
137
|
+
|--------|--------|-----------|
|
|
138
|
+
| Package size | `ls -lh` | Electron: 130-180MB / Tauri: 3-10MB |
|
|
139
|
+
| Startup time | Double-click to UI display | < 5 seconds |
|
|
140
|
+
| Memory usage | Task Manager | Electron: 200-500MB |
|
|
141
|
+
|
|
142
|
+
### 10. User Requirements Completeness
|
|
143
|
+
|
|
144
|
+
Review all requirements collected before packaging:
|
|
145
|
+
|
|
146
|
+
| Requirement Category | Check Item |
|
|
147
|
+
|---------------------|------------|
|
|
148
|
+
| Platform | Target platforms correct? |
|
|
149
|
+
| Architecture | Target architectures correct? |
|
|
150
|
+
| Info | App name/version correct? |
|
|
151
|
+
| Logo | Logo displays correctly? |
|
|
152
|
+
| Output | Package at correct location? |
|
|
153
|
+
| Encryption | Encryption functional? |
|
|
154
|
+
| Cleanup | Test data cleared? |
|
|
155
|
+
| Security | API keys cleared? |
|
|
156
|
+
| Corners | Logo corners handled correctly? |
|
|
157
|
+
| Signing | Platform signing correct? (macOS mandatory) |
|
|
158
|
+
|
|
159
|
+
### 11. Platform-Specific Checks
|
|
160
|
+
|
|
161
|
+
**Windows**:
|
|
162
|
+
- NSIS installer wizard works
|
|
163
|
+
- Desktop shortcut created
|
|
164
|
+
- Start menu entry exists
|
|
165
|
+
- Uninstall works correctly
|
|
166
|
+
|
|
167
|
+
**macOS**:
|
|
168
|
+
- DMG opens correctly
|
|
169
|
+
- Drag-to-install works
|
|
170
|
+
- Code signature valid (`codesign -v App.app`)
|
|
171
|
+
- Gatekeeper does not block
|
|
172
|
+
|
|
173
|
+
**Linux**:
|
|
174
|
+
- AppImage is executable (`chmod +x *.AppImage && ./AppImage`)
|
|
175
|
+
- deb installs correctly (`dpkg -i *.deb`)
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Audit Report Template
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
═══════════════════════════════════════
|
|
183
|
+
POST-BUILD AUDIT
|
|
184
|
+
═══════════════════════════════════════
|
|
185
|
+
|
|
186
|
+
[BUILD ARTIFACTS]
|
|
187
|
+
✅ TypeScript compilation 0 errors
|
|
188
|
+
✅ Syntax check passed
|
|
189
|
+
✅ Encryption files format correct
|
|
190
|
+
✅ No credential leaks
|
|
191
|
+
|
|
192
|
+
[PACKAGE]
|
|
193
|
+
✅ Package valid (XXX MB)
|
|
194
|
+
✅ Logo displays correctly
|
|
195
|
+
✅ License info correct
|
|
196
|
+
|
|
197
|
+
[APPLICATION]
|
|
198
|
+
✅ Launches normally
|
|
199
|
+
✅ Database created correctly
|
|
200
|
+
✅ Data persistence works
|
|
201
|
+
✅ Data clear leaves no residue
|
|
202
|
+
|
|
203
|
+
[SECURITY]
|
|
204
|
+
✅ Credentials cleared
|
|
205
|
+
✅ No source map files in package
|
|
206
|
+
✅ No .env files in package
|
|
207
|
+
✅ Source code obfuscated
|
|
208
|
+
✅ Content encrypted
|
|
209
|
+
✅ Images embedded (anti-theft)
|
|
210
|
+
✅ No unexpected network connections
|
|
211
|
+
|
|
212
|
+
[CLEANUP]
|
|
213
|
+
✅ No residual build artifacts
|
|
214
|
+
|
|
215
|
+
[USER REQUIREMENTS]
|
|
216
|
+
✅ All requirements met
|
|
217
|
+
|
|
218
|
+
[CONCLUSION]
|
|
219
|
+
All checks passed. Ready for delivery.
|
|
220
|
+
|
|
221
|
+
[PACKAGE LOCATION]
|
|
222
|
+
release/<filename> (<size>MB)
|
|
223
|
+
═══════════════════════════════════════
|
|
224
|
+
```
|