用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aibot88/sec_skill_store --skill project-setup命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files. This should trigger for requests such as Create a user story; Write a user story; I need to write a user story. Part of cursor-rules-java project
Guía técnica completa para integrar 250+ servicios externos con agentes IA usando Composio. Cubre instalación, autenticación OAuth, gestión de herramientas, triggers y flujos multi-servicio.
Facilitates conversational discovery to create Architectural Decision Records (ADRs) for non-functional requirements using the ISO/IEC 25010:2023 quality model. Use when the user wants to document quality attributes, NFR decisions, security/performance/scalability architecture, or design systems with measurable quality criteria. This should trigger for requests such as Create ADR for Non-functional requirements; Document Non-functional requirements; Capture Non-functional requirements; Generate Non-functional requirements in an ADR. Part of cursor-rules-java project
基于 SOC 职业分类
正在显示 SKILL.md
| name | project-setup |
| description | Best Practices Setup fuer neue Projekte — Testing, Linting, Git Hooks, CI/CD, Security |
| disable-model-invocation | true |
Richte ein neues Projekt mit Best Practices ein. Arbeite inkrementell — nur einrichten was fehlt, nichts ueberschreiben was bereits existiert.
Pruefe welche Dateien im Projektroot existieren, um Sprache und Oekosystem zu bestimmen:
| Datei | Oekosystem |
|---|---|
package.json | Node.js / TypeScript |
pyproject.toml oder requirements.txt | Python |
go.mod | Go |
Cargo.toml | Rust |
pubspec.yaml | Flutter/Dart |
composer.json | PHP |
Falls keine dieser Dateien existiert: den User fragen welche Sprache/Framework genutzt wird.
Falls package.json existiert, pruefe zusaetzlich:
vue oder nuxt in dependencies → Vue.js Projektnext in dependencies → Next.js Projektreact in dependencies → React Projektsvelte oder @sveltejs/kit → Svelte/SvelteKitVor jeder Einrichtung pruefen was schon da ist. Fuer jeden der folgenden Punkte:
Pruefe explizit:
.gitignore — existiert? Sprachspezifische Eintraege vorhanden?.env.example — existiert?.env.test — existiert? (Regel aus rules/testing.md beachten).git/hooks/.github/workflows/, .gitlab-ci.yml etc.CLAUDE.md — existiert im Projektroot?Falls .gitignore nicht existiert: erstellen. Falls sie existiert: nur fehlende Eintraege ergaenzen.
Immer enthalten:
.env
.env.*
!.env.example
.DS_Store
Sprachspezifisch ergaenzen:
Node.js:
node_modules/
dist/
.next/
.nuxt/
.output/
coverage/
*.tsbuildinfo
Python:
__pycache__/
*.pyc
.venv/
venv/
.mypy_cache/
.ruff_cache/
htmlcov/
.coverage
Go:
bin/
vendor/
Rust:
target/
PHP:
vendor/
Falls nicht vorhanden: .env.example erstellen mit allen benoetigten Variablen (ohne Werte), basierend auf vorhandenen .env-Dateien oder dem Code. Kommentare hinzufuegen die beschreiben wofuer jede Variable ist.
Falls nicht vorhanden und ein E2E-Test-Setup existiert oder geplant ist:
~/.claude/templates/env.test.example kopieren.env.test in .gitignore sicherstellen (Regel aus rules/testing.md)Nicht erstellen — das macht der Entwickler selbst. Nur sicherstellen dass .env.local in .gitignore steht.
Nur einrichten falls noch KEIN Linter/Formatter konfiguriert ist.
npm install -D eslint prettier eslint-config-prettier
eslint.config.js (Flat Config, ESLint 9+) erstellen mit sinnvollen Defaults.prettierrc erstellen: { "semi": false, "singleQuote": true }.prettierignore erstellen mit Build-Outputseslint-plugin-@typescript-eslint ergaenzenpackage.json ergaenzen:
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write .",
"format:check": "prettier --check ."
pip install ruff # oder in pyproject.toml als dev-dependency
[tool.ruff] Sektion in pyproject.toml ergaenzen falls nicht vorhandenline-length = 120, select = ["E", "F", "I", "W"]gofmt und go vet sind built-ingolangci-lint empfehlen fuer erweiterte Checkscomposer require --dev squizlabs/php_codesniffer friendsofphp/php-cs-fixer
Nur einrichten falls noch KEIN Test-Framework konfiguriert ist.
Unit Tests — Vitest bevorzugen (bei Vite-Projekten), sonst Jest:
npm install -D vitest @vitest/coverage-v8
vitest.config.ts erstellen (oder in vite.config.ts integrieren)test: {
coverage: {
provider: 'v8',
thresholds: { lines: 80, branches: 80, functions: 80, statements: 80 }
}
}
package.json:
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage"
E2E Tests — Playwright:
npm install -D @playwright/test
npx playwright install
playwright.config.ts erstellen mit sinnvollen Defaults.env.test Credentials nutzen (siehe rules/testing.md)tests/ Verzeichnis erstellen falls nicht vorhandenpip install pytest pytest-cov # oder als dev-dependency in pyproject.toml
[tool.pytest.ini_options] in pyproject.toml ergaenzentests/ Verzeichnis erstellen falls nicht vorhandengo test ist built-in*_test.go Dateien empfehlen neben dem zu testenden CodeNur einrichten falls noch KEINE Git Hooks konfiguriert sind.
npm install -D husky lint-staged
npx husky init
pre-commit Hook (.husky/pre-commit):
npx lint-staged
lint-staged Config in package.json:
"lint-staged": {
"*.{ts,tsx,js,jsx}": ["eslint --fix", "prettier --write"],
"*.{json,md,yml,yaml}": ["prettier --write"]
}
pre-push Hook (.husky/pre-push) — nur erstellen falls Tests und Typecheck eingerichtet:
npm run typecheck 2>/dev/null; npm test
package.json Script sicherstellen:
"prepare": "husky"
pip install pre-commit
.pre-commit-config.yaml erstellen:
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.0
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
pre-commit install
Einfache Shell-Scripts in .git/hooks/ erstellen:
pre-commit:
#!/bin/sh
# Go: gofmt + go vet
# Rust: cargo fmt --check + cargo clippy
Ausfuehrbar machen: chmod +x .git/hooks/pre-commit
Nur erstellen falls noch KEINE CI-Config existiert.
.github/ Verzeichnis → GitHub Actions.gitlab-ci.yml → GitLab CI.github/workflows/ci.yml erstellen mit diesen Stages:
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# === Sprachspezifisch anpassen ===
# Node.js:
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run lint
- run: npm run format:check
- run: npx tsc --noEmit # falls TypeScript
- run: npm run test:coverage
- run: npm run build
WICHTIG: Nur die Sprach-Bloecke einkommentieren die zum Projekt passen. Die anderen entfernen.
.gitlab-ci.yml analog erstellen mit stages: [lint, test, build].
Je nach Oekosystem passenden Audit-Befehl empfehlen und in CI einbauen:
| Oekosystem | Befehl |
|---|---|
| Node.js | npm audit --audit-level=moderate |
| Python | pip audit (via pip-audit Package) |
| Go | govulncheck ./... |
| Rust | cargo audit |
| PHP | composer audit |
Optional empfehlen — nicht automatisch installieren:
gitleaks — Go-basiert, schnell, gut fuer pre-commitdetect-secrets — Python-basiert, von YelpDem User die Option vorstellen und nur installieren wenn gewuenscht.
Falls nicht vorhanden: CLAUDE.md im Projektroot erstellen mit:
dev, build, test, lint)Falls nicht vorhanden: README.md mit Setup-Anleitung erstellen:
.env.example)Nach dem Setup alle eingerichteten Tools testen:
# Lint testen
npm run lint # oder ruff check . oder golangci-lint run
# Formatter testen
npm run format:check # oder ruff format --check . oder gofmt -l .
# Tests testen (falls Tests existieren)
npm test # oder pytest oder go test ./...
# Git Hook testen
echo "test" >> /dev/null && git add -A && git diff --cached --stat
# (nur pruefen dass der Hook greift, nicht tatsaechlich committen)
Ergebnisse dem User zeigen. Bei Fehlern: beheben oder erklaeren warum sie auftreten.
Am Ende dem User eine Uebersicht zeigen:
Projekt-Setup Zusammenfassung:
- Sprache/Framework: [erkannt]
- .gitignore: [erstellt/erweitert/bereits vorhanden]
- .env.example: [erstellt/bereits vorhanden]
- Linting: [ESLint/Ruff/...] [eingerichtet/bereits vorhanden]
- Formatting: [Prettier/Ruff/...] [eingerichtet/bereits vorhanden]
- Tests: [Vitest/pytest/...] [eingerichtet/bereits vorhanden]
- Git Hooks: [Husky/pre-commit/...] [eingerichtet/bereits vorhanden]
- CI/CD: [GitHub Actions/GitLab CI] [erstellt/bereits vorhanden]
- CLAUDE.md: [erstellt/bereits vorhanden]
- README.md: [erstellt/bereits vorhanden]