← Back to list

repo-hardening
by blueraai
⭐ 1🍴 0📅 Jan 20, 2026
SKILL.md
name: repo-hardening description: Best practices for setting up quality tooling across different language stacks. allowed-tools: [Read, Write, Edit, Glob, Grep, Bash]
Repo Hardening Skill
Best practices for setting up quality tooling across different language stacks.
Language Detection
Detect stack from project files:
| File | Language | Package Manager |
|---|---|---|
package.json | JavaScript/TypeScript | npm/yarn/pnpm/bun |
pyproject.toml | Python | pip/poetry/uv |
requirements.txt | Python | pip |
Cargo.toml | Rust | cargo |
go.mod | Go | go |
pom.xml | Java | Maven |
build.gradle | Java/Kotlin | Gradle |
build.gradle.kts | Kotlin | Gradle |
Gemfile | Ruby | Bundler |
composer.json | PHP | Composer |
*.csproj / *.sln | C#/.NET | dotnet |
Package.swift | Swift | SwiftPM |
mix.exs | Elixir | Mix |
CMakeLists.txt | C/C++ | CMake |
Makefile | C/C++ | Make |
build.sbt | Scala | sbt |
Language References
Per-language tooling configs (linting, formatting, type checking, hooks, coverage):
| Language | Reference |
|---|---|
| JavaScript/TypeScript | @bluera-base/skills/repo-hardening/references/javascript-typescript.md |
| Python | @bluera-base/skills/repo-hardening/references/python.md |
| Rust | @bluera-base/skills/repo-hardening/references/rust.md |
| Go | @bluera-base/skills/repo-hardening/references/go.md |
| Java | @bluera-base/skills/repo-hardening/references/java.md |
| Kotlin | @bluera-base/skills/repo-hardening/references/kotlin.md |
| Ruby | @bluera-base/skills/repo-hardening/references/ruby.md |
| PHP | @bluera-base/skills/repo-hardening/references/php.md |
| C#/.NET | @bluera-base/skills/repo-hardening/references/csharp-dotnet.md |
| Swift | @bluera-base/skills/repo-hardening/references/swift.md |
| Elixir | @bluera-base/skills/repo-hardening/references/elixir.md |
| C/C++ | @bluera-base/skills/repo-hardening/references/c-cpp.md |
| Scala | @bluera-base/skills/repo-hardening/references/scala.md |
.editorconfig
Universal editor settings:
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.{py,rs}]
indent_size = 4
[*.go]
indent_style = tab
indent_size = 4
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
.gitattributes
Normalize line endings:
* text=auto eol=lf
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
*.pdf binary
*.png binary
*.jpg binary
*.gif binary
Setup Priority
- .editorconfig - Universal, no dependencies
- Linter - Catches bugs early
- Formatter - Consistent style
- Git hooks - Enforce on commit
- Type checker - Optional but recommended
- Test coverage - Enforce minimum threshold (default: 80%)
Common Mistakes
- Conflicting rules - Ensure linter and formatter agree (use eslint-config-prettier)
- Missing hook permissions -
chmod +x .git/hooks/* - Hook not running - Ensure
.git/hooks/pre-commitexists (not.git/hooks/pre-commit.sample) - Too strict initially - Start with warnings, graduate to errors
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon