@hybridlabor-api/aos 4.8.0 → 4.9.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/.agents/agents.md +1 -1
- package/.agents/nodes.json +1 -1
- package/.agents/vendor-manifest.json +23 -1
- package/.claude/agents/godmode-media-eventtech.md +1 -1
- package/.claude/hooks/conventional-commits.mjs +125 -0
- package/.claude/hooks/env-file-protection.mjs +105 -0
- package/.claude/hooks/go-gate.mjs +101 -81
- package/.claude/settings.json +13 -0
- package/.opencode/agents/godmode-media-eventtech.md +1 -1
- package/.opencode/plugins/bdb-aos.js +31 -4
- package/README.de.md +1 -1
- package/README.md +1 -1
- package/README.pt.md +1 -1
- package/THIRD_PARTY_NOTICES.md +88 -0
- package/docs/skills_table.md +1 -1
- package/installer.js +174 -46
- package/package.json +6 -2
- package/packages/aos-cli/README.md +80 -0
- package/packages/aos-cli/bin/aos-cli.mjs +134 -0
- package/packages/aos-cli/core-skills.json +12 -0
- package/packages/aos-cli/extensions/aos.ts +321 -0
- package/packages/aos-cli/package-lock.json +1923 -0
- package/packages/aos-cli/package.json +29 -0
- package/packages/aos-cli/scripts/check-theme.mjs +63 -0
- package/packages/aos-cli/themes/aos.json +97 -0
- package/scripts/build-plugin-manifest.mjs +131 -0
- package/scripts/validate-skills.mjs +81 -6
- package/skills/basic/ao-orchestrator/SKILL.md +116 -0
- package/skills/global_config/agenttrail/SKILL.md +6 -1
- package/skills/global_config/ask-tim/SKILL.md +4 -4
- package/skills/global_config/bash-script-generator/SKILL.md +201 -0
- package/skills/global_config/bash-script-generator/assets/templates/standard-template.sh +96 -0
- package/skills/global_config/bash-script-generator/docs/bash-scripting-guide.md +729 -0
- package/skills/global_config/bash-script-generator/docs/generation-best-practices.md +193 -0
- package/skills/global_config/bash-script-generator/docs/script-patterns.md +566 -0
- package/skills/global_config/bash-script-generator/docs/text-processing-guide.md +437 -0
- package/skills/global_config/bash-script-generator/examples/log-analyzer.sh +92 -0
- package/skills/global_config/bash-script-generator/scripts/generate_script_template.sh +123 -0
- package/skills/global_config/bash-script-generator/scripts/run_ci_checks.sh +172 -0
- package/skills/global_config/bash-script-generator/scripts/test_generator.sh +413 -0
- package/skills/global_config/bash-script-validator/SKILL.md +249 -0
- package/skills/global_config/bash-script-validator/docs/awk-reference.md +449 -0
- package/skills/global_config/bash-script-validator/docs/bash-reference.md +468 -0
- package/skills/global_config/bash-script-validator/docs/common-mistakes.md +623 -0
- package/skills/global_config/bash-script-validator/docs/grep-reference.md +395 -0
- package/skills/global_config/bash-script-validator/docs/regex-reference.md +391 -0
- package/skills/global_config/bash-script-validator/docs/sed-reference.md +454 -0
- package/skills/global_config/bash-script-validator/docs/shell-reference.md +463 -0
- package/skills/global_config/bash-script-validator/docs/shellcheck-reference.md +399 -0
- package/skills/global_config/bash-script-validator/examples/bad-bash.sh +55 -0
- package/skills/global_config/bash-script-validator/examples/bad-shell.sh +54 -0
- package/skills/global_config/bash-script-validator/examples/good-bash.sh +71 -0
- package/skills/global_config/bash-script-validator/examples/good-shell.sh +69 -0
- package/skills/global_config/bash-script-validator/scripts/run_ci_checks.sh +23 -0
- package/skills/global_config/bash-script-validator/scripts/shellcheck_wrapper.sh +174 -0
- package/skills/global_config/bash-script-validator/scripts/test_validate.sh +446 -0
- package/skills/global_config/bash-script-validator/scripts/validate.sh +512 -0
- package/skills/global_config/ci-pipeline/SKILL.md +135 -0
- package/skills/global_config/dispatching-parallel-agents/SKILL.md +170 -0
- package/skills/global_config/dockerfile-generator/SKILL.md +1038 -0
- package/skills/global_config/dockerfile-generator/examples/example.dockerignore +95 -0
- package/skills/global_config/dockerfile-generator/examples/golang-distroless.Dockerfile +34 -0
- package/skills/global_config/dockerfile-generator/examples/java-springboot.Dockerfile +45 -0
- package/skills/global_config/dockerfile-generator/examples/nextjs-production.Dockerfile +49 -0
- package/skills/global_config/dockerfile-generator/examples/nodejs-multistage.Dockerfile +55 -0
- package/skills/global_config/dockerfile-generator/examples/python-fastapi.Dockerfile +48 -0
- package/skills/global_config/dockerfile-generator/references/language_specific_guides.md +510 -0
- package/skills/global_config/dockerfile-generator/references/multistage_builds.md +570 -0
- package/skills/global_config/dockerfile-generator/references/optimization_patterns.md +492 -0
- package/skills/global_config/dockerfile-generator/references/security_best_practices.md +375 -0
- package/skills/global_config/dockerfile-generator/scripts/generate_dockerignore.sh +199 -0
- package/skills/global_config/dockerfile-generator/scripts/generate_golang.sh +172 -0
- package/skills/global_config/dockerfile-generator/scripts/generate_java.sh +185 -0
- package/skills/global_config/dockerfile-generator/scripts/generate_nodejs.sh +279 -0
- package/skills/global_config/dockerfile-generator/scripts/generate_python.sh +218 -0
- package/skills/global_config/dockerfile-generator/scripts/test_generator.sh +210 -0
- package/skills/global_config/dockerfile-validator/SKILL.md +300 -0
- package/skills/global_config/dockerfile-validator/examples/.dockerignore.example +34 -0
- package/skills/global_config/dockerfile-validator/examples/bad-example.Dockerfile +37 -0
- package/skills/global_config/dockerfile-validator/examples/golang-distroless.Dockerfile +50 -0
- package/skills/global_config/dockerfile-validator/examples/good-example.Dockerfile +52 -0
- package/skills/global_config/dockerfile-validator/examples/python-optimized.Dockerfile +53 -0
- package/skills/global_config/dockerfile-validator/examples/security-issues.Dockerfile +42 -0
- package/skills/global_config/dockerfile-validator/references/docker_best_practices.md +348 -0
- package/skills/global_config/dockerfile-validator/references/optimization_guide.md +473 -0
- package/skills/global_config/dockerfile-validator/references/security_checklist.md +208 -0
- package/skills/global_config/dockerfile-validator/scripts/dockerfile-validate.sh +699 -0
- package/skills/global_config/dockerfile-validator/scripts/test_validate.sh +35 -0
- package/skills/global_config/dockerfile-validator/tests/fixtures/copy-before-yarn-lock-read.Dockerfile +6 -0
- package/skills/global_config/dockerfile-validator/tests/fixtures/copy-before-yarn.Dockerfile +6 -0
- package/skills/global_config/dockerfile-validator/tests/fixtures/from-platform-nonroot.Dockerfile +7 -0
- package/skills/global_config/dockerfile-validator/tests/test_regression.sh +164 -0
- package/skills/global_config/finishing-a-development-branch/SKILL.md +228 -0
- package/skills/global_config/github-actions-generator/SKILL.md +353 -0
- package/skills/global_config/github-actions-generator/assets/templates/action/composite/action.yml +82 -0
- package/skills/global_config/github-actions-generator/assets/templates/action/docker/Dockerfile +25 -0
- package/skills/global_config/github-actions-generator/assets/templates/action/docker/action.yml +42 -0
- package/skills/global_config/github-actions-generator/assets/templates/action/docker/entrypoint.sh +27 -0
- package/skills/global_config/github-actions-generator/assets/templates/action/javascript/action.yml +33 -0
- package/skills/global_config/github-actions-generator/assets/templates/action/javascript/index.js +50 -0
- package/skills/global_config/github-actions-generator/assets/templates/action/javascript/package.json +27 -0
- package/skills/global_config/github-actions-generator/assets/templates/workflow/basic_workflow.yml +242 -0
- package/skills/global_config/github-actions-generator/assets/templates/workflow/reusable_workflow.yml +106 -0
- package/skills/global_config/github-actions-generator/examples/README.md +147 -0
- package/skills/global_config/github-actions-generator/examples/actions/setup-node-cached/action.yml +93 -0
- package/skills/global_config/github-actions-generator/examples/caching/docker-buildkit.yml +256 -0
- package/skills/global_config/github-actions-generator/examples/security/dependency-review.yml +62 -0
- package/skills/global_config/github-actions-generator/examples/security/sbom-attestation.yml +119 -0
- package/skills/global_config/github-actions-generator/examples/triggers/chatops-commands.yml +475 -0
- package/skills/global_config/github-actions-generator/examples/triggers/repository-dispatch.yml +418 -0
- package/skills/global_config/github-actions-generator/examples/triggers/workflow-orchestration.yml +404 -0
- package/skills/global_config/github-actions-generator/examples/workflows/docker-build-push.yml +68 -0
- package/skills/global_config/github-actions-generator/examples/workflows/go-ci.yml +161 -0
- package/skills/global_config/github-actions-generator/examples/workflows/monorepo-ci.yml +340 -0
- package/skills/global_config/github-actions-generator/examples/workflows/multi-environment-deploy.yml +406 -0
- package/skills/global_config/github-actions-generator/examples/workflows/nodejs-ci.yml +122 -0
- package/skills/global_config/github-actions-generator/examples/workflows/python-ci.yml +157 -0
- package/skills/global_config/github-actions-generator/examples/workflows/scheduled-tasks.yml +376 -0
- package/skills/global_config/github-actions-generator/references/advanced-triggers.md +917 -0
- package/skills/global_config/github-actions-generator/references/best-practices.md +755 -0
- package/skills/global_config/github-actions-generator/references/common-actions.md +715 -0
- package/skills/global_config/github-actions-generator/references/custom-actions.md +320 -0
- package/skills/global_config/github-actions-generator/references/expressions-and-contexts.md +688 -0
- package/skills/global_config/github-actions-generator/references/modern-features.md +421 -0
- package/skills/global_config/github-actions-generator/scripts/test_generator.sh +344 -0
- package/skills/global_config/github-actions-templates/SKILL.md +7 -0
- package/skills/global_config/github-actions-validator/SKILL.md +576 -0
- package/skills/global_config/github-actions-validator/examples/README.md +88 -0
- package/skills/global_config/github-actions-validator/examples/outdated-versions.yml +76 -0
- package/skills/global_config/github-actions-validator/examples/valid-ci.yml +79 -0
- package/skills/global_config/github-actions-validator/examples/with-errors.yml +47 -0
- package/skills/global_config/github-actions-validator/references/act_usage.md +233 -0
- package/skills/global_config/github-actions-validator/references/action_versions.md +122 -0
- package/skills/global_config/github-actions-validator/references/actionlint_usage.md +343 -0
- package/skills/global_config/github-actions-validator/references/common_errors.md +512 -0
- package/skills/global_config/github-actions-validator/references/modern_features.md +384 -0
- package/skills/global_config/github-actions-validator/references/runners.md +317 -0
- package/skills/global_config/github-actions-validator/scripts/install_tools.sh +113 -0
- package/skills/global_config/github-actions-validator/scripts/validate_workflow.sh +910 -0
- package/skills/global_config/github-actions-validator/tests/test_validate_workflow.sh +237 -0
- package/skills/global_config/makefile-generator/SKILL.md +614 -0
- package/skills/global_config/makefile-generator/assets/templates/.gitkeep +1 -0
- package/skills/global_config/makefile-generator/docs/makefile-structure.md +530 -0
- package/skills/global_config/makefile-generator/docs/optimization-guide.md +784 -0
- package/skills/global_config/makefile-generator/docs/patterns-guide.md +642 -0
- package/skills/global_config/makefile-generator/docs/security-guide.md +361 -0
- package/skills/global_config/makefile-generator/docs/targets-guide.md +642 -0
- package/skills/global_config/makefile-generator/docs/variables-guide.md +596 -0
- package/skills/global_config/makefile-generator/scripts/add_standard_targets.sh +539 -0
- package/skills/global_config/makefile-generator/scripts/generate_makefile_template.sh +690 -0
- package/skills/global_config/makefile-generator/test/test_helper_scripts.sh +190 -0
- package/skills/global_config/makefile-validator/SKILL.md +244 -0
- package/skills/global_config/makefile-validator/docs/bake-tool.md +1000 -0
- package/skills/global_config/makefile-validator/docs/best-practices.md +858 -0
- package/skills/global_config/makefile-validator/docs/common-mistakes.md +944 -0
- package/skills/global_config/makefile-validator/examples/bad-makefile.mk +77 -0
- package/skills/global_config/makefile-validator/examples/good-makefile.mk +103 -0
- package/skills/global_config/makefile-validator/scripts/test_validate.sh +382 -0
- package/skills/global_config/makefile-validator/scripts/validate_makefile.sh +712 -0
- package/skills/global_config/{MCP_Manage → mcp-manage}/SKILL.md +3 -3
- package/skills/global_config/requesting-code-review/SKILL.md +98 -0
- package/skills/global_config/requesting-code-review/code-reviewer.md +198 -0
- package/skills/global_config/using-git-worktrees/SKILL.md +170 -0
- package/skills/global_config/verification-before-completion/SKILL.md +123 -0
- package/skills/global_config/writing-plans/SKILL.md +126 -46
- package/skills/global_config/writing-plans-legacy/SKILL.md +139 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Script Generation Best Practices
|
|
2
|
+
|
|
3
|
+
Guidelines for generating high-quality, maintainable bash scripts.
|
|
4
|
+
|
|
5
|
+
## Core Principles
|
|
6
|
+
|
|
7
|
+
1. **Security First** - Validate inputs, quote variables, avoid injection
|
|
8
|
+
2. **Fail Fast** - Use strict mode, check errors immediately
|
|
9
|
+
3. **Self-Documenting** - Clear names, usage text, comments for complex logic
|
|
10
|
+
4. **Testable** - Modular functions, predictable behavior
|
|
11
|
+
5. **Maintainable** - Consistent style, organized structure
|
|
12
|
+
|
|
13
|
+
## Script Structure Template
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
#!/usr/bin/env bash
|
|
17
|
+
#
|
|
18
|
+
# Script Name: descriptive-name.sh
|
|
19
|
+
# Description: What it does in one line
|
|
20
|
+
# Usage: script.sh [OPTIONS] ARGUMENTS
|
|
21
|
+
# Author: Name
|
|
22
|
+
# Created: Date
|
|
23
|
+
#
|
|
24
|
+
|
|
25
|
+
set -euo pipefail
|
|
26
|
+
IFS=$'\n\t'
|
|
27
|
+
|
|
28
|
+
# Constants (UPPERCASE, readonly)
|
|
29
|
+
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
30
|
+
readonly SCRIPT_NAME="$(basename "${BASH_SOURCE[0]}")"
|
|
31
|
+
|
|
32
|
+
# Global variables (lowercase or Mixed_Case)
|
|
33
|
+
verbose=false
|
|
34
|
+
dry_run=false
|
|
35
|
+
|
|
36
|
+
# Functions (lowercase_with_underscores)
|
|
37
|
+
usage() { }
|
|
38
|
+
cleanup() { }
|
|
39
|
+
main() { }
|
|
40
|
+
|
|
41
|
+
# Signal handlers
|
|
42
|
+
trap cleanup EXIT ERR INT TERM
|
|
43
|
+
|
|
44
|
+
# Execute
|
|
45
|
+
main "$@"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Naming Conventions
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Constants - UPPERCASE with readonly
|
|
52
|
+
readonly MAX_RETRIES=3
|
|
53
|
+
readonly CONFIG_FILE="/etc/app.conf"
|
|
54
|
+
|
|
55
|
+
# Environment variables - UPPERCASE
|
|
56
|
+
export PATH="${HOME}/bin:${PATH}"
|
|
57
|
+
export LOG_LEVEL="INFO"
|
|
58
|
+
|
|
59
|
+
# Global variables - lowercase or Mixed_Case
|
|
60
|
+
script_version="1.0.0"
|
|
61
|
+
temp_directory=""
|
|
62
|
+
|
|
63
|
+
# Functions - lowercase_with_underscores
|
|
64
|
+
process_file() { }
|
|
65
|
+
send_notification() { }
|
|
66
|
+
|
|
67
|
+
# Local variables - lowercase
|
|
68
|
+
local count=0
|
|
69
|
+
local file_path=""
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Security Best Practices
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# 1. Always quote variables
|
|
76
|
+
rm "${file}" # Good
|
|
77
|
+
rm $file # Bad
|
|
78
|
+
|
|
79
|
+
# 2. Validate all inputs
|
|
80
|
+
[[ "${input}" =~ ^[a-zA-Z0-9_-]+$ ]] || die "Invalid input"
|
|
81
|
+
|
|
82
|
+
# 3. Never use eval with user input
|
|
83
|
+
eval "${user_command}" # Dangerous!
|
|
84
|
+
|
|
85
|
+
# 4. Validate file paths
|
|
86
|
+
[[ "${file}" =~ /etc ]] && die "Cannot modify /etc"
|
|
87
|
+
[[ -f "${file}" ]] || die "File not found"
|
|
88
|
+
|
|
89
|
+
# 5. Use $() instead of backticks
|
|
90
|
+
output=$(command) # Good
|
|
91
|
+
output=`command` # Bad
|
|
92
|
+
|
|
93
|
+
# 6. Set safe IFS
|
|
94
|
+
IFS=$'\n\t'
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Error Handling Patterns
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Pattern 1: Die function
|
|
101
|
+
die() {
|
|
102
|
+
echo "ERROR: $*" >&2
|
|
103
|
+
exit 1
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
# Pattern 2: Check prerequisites
|
|
107
|
+
check_command() {
|
|
108
|
+
command -v "$1" &> /dev/null || die "Required: $1"
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
# Pattern 3: Validate inputs
|
|
112
|
+
[[ $# -ge 1 ]] || die "Usage: $0 FILE"
|
|
113
|
+
[[ -f "$1" ]] || die "File not found: $1"
|
|
114
|
+
|
|
115
|
+
# Pattern 4: Cleanup on exit
|
|
116
|
+
cleanup() {
|
|
117
|
+
[[ -n "${temp_dir:-}" ]] && rm -rf "${temp_dir}"
|
|
118
|
+
}
|
|
119
|
+
trap cleanup EXIT
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Function Design
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Good function design
|
|
126
|
+
#######################################
|
|
127
|
+
# Process a log file and extract errors
|
|
128
|
+
# Globals:
|
|
129
|
+
# LOG_LEVEL
|
|
130
|
+
# Arguments:
|
|
131
|
+
# $1 - Path to log file
|
|
132
|
+
# $2 - Output file (optional)
|
|
133
|
+
# Outputs:
|
|
134
|
+
# Writes errors to stdout or file
|
|
135
|
+
# Returns:
|
|
136
|
+
# 0 on success, 1 on error
|
|
137
|
+
#######################################
|
|
138
|
+
process_log_file() {
|
|
139
|
+
local log_file="$1"
|
|
140
|
+
local output_file="${2:-}"
|
|
141
|
+
|
|
142
|
+
# Validate
|
|
143
|
+
[[ -f "${log_file}" ]] || return 1
|
|
144
|
+
|
|
145
|
+
# Process
|
|
146
|
+
local errors
|
|
147
|
+
errors=$(grep "ERROR" "${log_file}")
|
|
148
|
+
|
|
149
|
+
# Output
|
|
150
|
+
if [[ -n "${output_file}" ]]; then
|
|
151
|
+
echo "${errors}" > "${output_file}"
|
|
152
|
+
else
|
|
153
|
+
echo "${errors}"
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
return 0
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Code Organization
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Recommended order:
|
|
164
|
+
1. Shebang and header comments
|
|
165
|
+
2. Strict mode settings
|
|
166
|
+
3. Constants
|
|
167
|
+
4. Global variables
|
|
168
|
+
5. Helper functions (general → specific)
|
|
169
|
+
6. Main logic functions
|
|
170
|
+
7. Main function
|
|
171
|
+
8. Signal handlers
|
|
172
|
+
9. Main execution
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Generated Code Quality Checklist
|
|
176
|
+
|
|
177
|
+
- [ ] Proper shebang: `#!/usr/bin/env bash`
|
|
178
|
+
- [ ] Strict mode enabled: `set -euo pipefail`
|
|
179
|
+
- [ ] All variables quoted: `"${var}"`
|
|
180
|
+
- [ ] Constants marked readonly
|
|
181
|
+
- [ ] Functions documented
|
|
182
|
+
- [ ] Error handling implemented
|
|
183
|
+
- [ ] Usage/help function included
|
|
184
|
+
- [ ] Input validation present
|
|
185
|
+
- [ ] Cleanup on exit (trap)
|
|
186
|
+
- [ ] No ShellCheck warnings
|
|
187
|
+
- [ ] Comments for complex logic
|
|
188
|
+
- [ ] Consistent formatting
|
|
189
|
+
|
|
190
|
+
## References
|
|
191
|
+
|
|
192
|
+
- [Google Shell Style Guide](https://google.github.io/styleguide/shellguide.html)
|
|
193
|
+
- [ShellCheck](https://www.shellcheck.net/)
|