mirror of
https://github.com/wshobson/agents.git
synced 2026-03-18 17:47:16 +00:00
feat: add Agent Skills and restructure documentation
- Add 47 Agent Skills across 14 plugins following Anthropic's specification - Python (5): async patterns, testing, packaging, performance, UV package manager - JavaScript/TypeScript (4): advanced types, Node.js patterns, testing, modern JS - Kubernetes (4): manifests, Helm charts, GitOps, security policies - Cloud Infrastructure (4): Terraform, multi-cloud, hybrid networking, cost optimization - CI/CD (4): pipeline design, GitHub Actions, GitLab CI, secrets management - Backend (3): API design, architecture patterns, microservices - LLM Applications (4): LangChain, prompt engineering, RAG, evaluation - Blockchain/Web3 (4): DeFi protocols, NFT standards, Solidity security, Web3 testing - Framework Migration (4): React, Angular, database, dependency upgrades - Observability (4): Prometheus, Grafana, distributed tracing, SLO - Payment Processing (4): Stripe, PayPal, PCI compliance, billing - API Scaffolding (1): FastAPI templates - ML Operations (1): ML pipeline workflow - Security (1): SAST configuration - Restructure documentation into /docs directory - agent-skills.md: Complete guide to all 47 skills - agents.md: All 85 agents with model configuration - plugins.md: Complete catalog of 63 plugins - usage.md: Commands, workflows, and best practices - architecture.md: Design principles and patterns - Update README.md - Add Agent Skills banner announcement - Reduce length by ~75% with links to detailed docs - Add What's New section showcasing Agent Skills - Add Popular Use Cases with real examples - Improve navigation with Core Guides and Quick Links - Update marketplace.json with skills arrays for 14 plugins All 47 skills follow Agent Skills Specification: - Required YAML frontmatter (name, description) - Use when activation clauses - Progressive disclosure architecture - Under 1024 character descriptions
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
# GitOps Sync Policies
|
||||
|
||||
## ArgoCD Sync Policies
|
||||
|
||||
### Automated Sync
|
||||
```yaml
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true # Delete resources removed from Git
|
||||
selfHeal: true # Reconcile manual changes
|
||||
allowEmpty: false # Prevent empty sync
|
||||
```
|
||||
|
||||
### Manual Sync
|
||||
```yaml
|
||||
syncPolicy:
|
||||
syncOptions:
|
||||
- PrunePropagationPolicy=foreground
|
||||
- CreateNamespace=true
|
||||
```
|
||||
|
||||
### Sync Windows
|
||||
```yaml
|
||||
syncWindows:
|
||||
- kind: allow
|
||||
schedule: "0 8 * * *"
|
||||
duration: 1h
|
||||
applications:
|
||||
- my-app
|
||||
- kind: deny
|
||||
schedule: "0 22 * * *"
|
||||
duration: 8h
|
||||
applications:
|
||||
- '*'
|
||||
```
|
||||
|
||||
### Retry Policy
|
||||
```yaml
|
||||
syncPolicy:
|
||||
retry:
|
||||
limit: 5
|
||||
backoff:
|
||||
duration: 5s
|
||||
factor: 2
|
||||
maxDuration: 3m
|
||||
```
|
||||
|
||||
## Flux Sync Policies
|
||||
|
||||
### Kustomization Sync
|
||||
```yaml
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: my-app
|
||||
spec:
|
||||
interval: 5m
|
||||
prune: true
|
||||
wait: true
|
||||
timeout: 5m
|
||||
retryInterval: 1m
|
||||
force: false
|
||||
```
|
||||
|
||||
### Source Sync Interval
|
||||
```yaml
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: GitRepository
|
||||
metadata:
|
||||
name: my-app
|
||||
spec:
|
||||
interval: 1m
|
||||
timeout: 60s
|
||||
```
|
||||
|
||||
## Health Assessment
|
||||
|
||||
### Custom Health Checks
|
||||
```yaml
|
||||
# ArgoCD
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: argocd-cm
|
||||
namespace: argocd
|
||||
data:
|
||||
resource.customizations.health.MyCustomResource: |
|
||||
hs = {}
|
||||
if obj.status ~= nil then
|
||||
if obj.status.conditions ~= nil then
|
||||
for i, condition in ipairs(obj.status.conditions) do
|
||||
if condition.type == "Ready" and condition.status == "False" then
|
||||
hs.status = "Degraded"
|
||||
hs.message = condition.message
|
||||
return hs
|
||||
end
|
||||
if condition.type == "Ready" and condition.status == "True" then
|
||||
hs.status = "Healthy"
|
||||
hs.message = condition.message
|
||||
return hs
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
hs.status = "Progressing"
|
||||
hs.message = "Waiting for status"
|
||||
return hs
|
||||
```
|
||||
|
||||
## Sync Options
|
||||
|
||||
### Common Sync Options
|
||||
- `PrunePropagationPolicy=foreground` - Wait for pruned resources to be deleted
|
||||
- `CreateNamespace=true` - Auto-create namespace
|
||||
- `Validate=false` - Skip kubectl validation
|
||||
- `PruneLast=true` - Prune resources after sync
|
||||
- `RespectIgnoreDifferences=true` - Honor ignore differences
|
||||
- `ApplyOutOfSyncOnly=true` - Only apply out-of-sync resources
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. Use automated sync for non-production
|
||||
2. Require manual approval for production
|
||||
3. Configure sync windows for maintenance
|
||||
4. Implement health checks for custom resources
|
||||
5. Use selective sync for large applications
|
||||
6. Configure appropriate retry policies
|
||||
7. Monitor sync failures with alerts
|
||||
8. Use prune with caution in production
|
||||
9. Test sync policies in staging
|
||||
10. Document sync behavior for teams
|
||||
Reference in New Issue
Block a user