neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
컴파일 시점에 .NET 규칙을 강제하는 Roslyn 분석기. 설계·비동기·ConfigureAwait 등 82가지 규칙과 코드 수정 제공
Roslyn analyzers enforcing opinionated .NET conventions at compile time. 82 rules with code fixes covering design (sealed-by-default, async void, sync-over-async, ConfigureAwait, in-modifier safety, p
개발 도구C# · ShellGitHub @e128온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Source repo for the E128.Analyzers NuGet package: Roslyn analyzers with code fixes, dogfooded in a .NET 10 reference app (strict analysis, xUnit v3 + MTP, Docker, Claude Code harness)
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
E128.Reference: source repository for the E128.Analyzers NuGet package
This repository is the source for E128.Analyzers.
The package holds Roslyn analyzers and code fixes. The rules enforce opinionated .NET conventions at compile time.
• Source: src/E128.Analyzers/. The README lists every rule.
• Tests: tests/E128.Analyzers.Tests/
• Release notes: AnalyzerReleases.Shipped.md
• Publishing: .github/workflows/publish.yml pushes the package to nuget.org on each merge to main that changes src/E128.Analyzers/
Report an analyzer defect, or ask for a new rule, in the issues of this repository.README 전문 보기 ↗This repository is the source for E128.Analyzers. The package holds Roslyn analyzers and code fixes. The rules enforce opinionated .NET conventions at compile time.
dotnet add package E128.Analyzers
src/E128.Analyzers/. The README lists every rule.tests/E128.Analyzers.Tests/AnalyzerReleases.Shipped.md.github/workflows/publish.yml pushes the package to nuget.org on each merge to main that changes src/E128.Analyzers/Report an analyzer defect, or ask for a new rule, in the issues of this repository.
The rest of the repository is a .NET 10 reference application. It runs the analyzers on its own code. It shows modern conventions for web, CLI, and container applications. The build uses deny-by-default code analysis with third-party Roslyn analyzers. Tests run on xUnit v3 with the Microsoft Testing Platform. ArchUnitNET tests check structural invariants. Central Package Management pins transitive versions. Renovate updates dependencies. GitHub Actions publishes the package with OIDC trusted publishing.
The repository also includes a Claude Code development harness with bash scripts, rules, skills, and agents. It uses the Lode Coding Toolkit for structured project documentation.
# Build
scripts/build.sh
# Test (default: the CI category only)
scripts/test.sh
# Full CI pipeline (shell lint, format, build, and test)
scripts/ci.sh
# Podman
scripts/podman.sh build
scripts/podman.sh test
| Component | Description |
|---|---|
| E128.Reference.Web | Minimal API web app with Kestrel and a health endpoint |
| E128.Reference.Cli | System.CommandLine CLI with a --name option |
| E128.Reference.Core | Shared library (Greeter service, models, repositories, services) |
| E128.Analyzers | Roslyn analyzers (E128001 to E128108) with code fixes, published to nuget.org |
| E128.Reference.Tests | xUnit v3 and MTP with the CI, Podman, and Manual test categories |
| Architecture.Tests | ArchUnitNET structural invariant tests (layers, naming, sealed) |
| E128.Analyzers.Tests | Analyzer and code fix unit tests |
| E128.Reference.Cli.Tests | Unit tests for the CLI app |
| E128.Reference.Core.Tests | Unit tests for the Greeter, GreetingService, and repositories |
| Podman | Hardened Resolute multi-stage Dockerfile and compose.yaml |
| Bash scripts | Build, test, format, CI, Podman, and lode tasks (catalog) |
| Claude Code harness | CLAUDE.md, rules, hooks, skills, and agents (see .claude/) |
| CI/CD | GitHub Actions CI and NuGet trusted publishing |
| Renovate | Automatic dependency updates with grouped PRs and a security bypass |
| Lode | Structured documentation with the Lode Coding Toolkit |
| Tool | Version | macOS | Ubuntu/Debian | Windows |
|---|---|---|---|---|
| .NET SDK | 10.0+ | brew install dotnet | Microsoft docs | winget install Microsoft.DotNet.SDK.10 |
| bash | 4.0+ | brew install bash | Included (5.1+) | WSL2 recommended |
| shellcheck | 0.11.0+ | brew install shellcheck | sudo apt install shellcheck | WSL2 recommended |
| ripgrep (rg) | 14+ | brew install ripgrep | sudo apt install ripgrep | winget install BurntSushi.ripgrep.MSVC |
| fd | 9+ | brew install fd | sudo apt install fd-find | winget install sharkdp.fd |
| jq | 1.7+ | brew install jq | sudo apt install jq | winget install jqlang.jq |
| Podman | 4+ | brew install podman | sudo apt install podman | winget install RedHat.Podman |
| Tool | Purpose | Install |
|---|---|---|
| dotnet-outdated | NuGet update checker | dotnet tool install -g dotnet-outdated-tool |
| jb (ReSharper CLI) | Semantic code cleanup (format.sh) | dotnet tool install -g JetBrains.ReSharper.GlobalTools |
Note (jb):
scripts/format.shrunsjb cleanupcodebeforedotnet formatwhenjbis on$PATH. Ifjbis not installed, the script skips that step. The--checkmode always skipsjb, becausejbhas no verify-only mode.
Note (macOS): The default
/bin/bashon macOS is version 3.2 from 2007. Install bash 5 or later with Homebrew. Put/opt/homebrew/bin/bashbefore/bin/bashin$PATH.
Note (Ubuntu): The
fdpackage is namedfd-find. The binary isfdfind. Create an alias:ln -s $(which fdfind) ~/.local/bin/fd.
Note (macOS and Podman): Podman needs a Linux VM on macOS. Docker Desktop bundles a VM, Podman does not. After install, run
podman machine init && podman machine start.
.
├── .claude/ # Claude Code harness
│ ├── agents/ # Agent definitions
│ ├── hooks/ # Session and guardrail hooks
│ ├── rules/ # Contextual rule files
│ ├── settings.json # Permissions and hook config
│ ├── skills/ # Skill directories
│ └── tmp/ # Session artifacts (gitignored)
├── .editorconfig # Code style (120 char, 4-space, file-scoped ns)
├── .globalconfig # Analyzer severities (deny-by-default)
├── .github/workflows/ci.yml # GitHub Actions CI
├── .github/workflows/publish.yml # NuGet trusted publishing
├── .gitleaks.toml # Secret scan config
├── .opencode/ # opencode mirror of the Claude Code harness
│ ├── agent-assets/ # Generated agent asset copies
│ ├── agents/ # Generated agent definitions
│ └── plugins/ # opencode plugins (guardrail parity with .claude/hooks)
├── AGENTS.md # Cross-harness AI instructions
├── CLAUDE.md # Always-loaded AI instructions
├── Directory.Build.props # Shared build properties
├── Directory.Build.targets # Conditional targets (test project config)
├── Directory.Packages.props # Central package versions
├── Dockerfile # Multi-stage web app image
├── compose.yaml # Container orchestration
├── E128.Reference.slnx # Solution file
├── global.json # SDK version and MTP test runner config
├── docs/ # Architecture and guide documents
├── lode/ # Project knowledge documentation
├── nuget.config # Single source and source mapping
├── opencode.json # opencode v2 config, permission and policy mirror (no model pin)
├── plans/ # Structured planning documents
├── prompts/ # System prompt for Lode sessions
├── renovate.json # Renovate dependency update config
├── scripts/ # Bash development scripts ([catalog](scripts/README.md))
├── src/
│ ├── E128.Analyzers/ # Roslyn analyzers (published NuGet package)
│ ├── E128.Reference.Core/ # Shared library
│ ├── E128.Reference.Web/ # ASP.NET Core minimal API
│ └── E128.Reference.Cli/ # System.CommandLine CLI
└── tests/
├── Architecture.Tests/ # ArchUnitNET structural invariants
├── E128.Analyzers.Tests/ # Analyzer unit tests
├── E128.Reference.Cli.Tests/ # CLI unit tests
├── E128.Reference.Core.Tests/# Core library unit tests
└── E128.Reference.Tests/ # Web integration tests (xUnit v3 and MTP)
This repository uses a deny-by-default analyzer strategy:
dotnet_analyzer_diagnostic.severity = error makes each diagnostic an error unless a rule overrides itDirectory.Packages.props) add more than 1000 rulessuggestion. The .globalconfig file documents each one.tests/.globalconfig at global_level = 101 for test overrides| Package | Focus |
|---|---|
| AsyncFixer | Async and await patterns |
| Meziantou.Analyzer | General best practices |
| Microsoft.VisualStudio.Threading.Analyzers | Threading correctness |
| Roslynator.Analyzers | Code style and quality |
| Roslynator.CodeAnalysis.Analyzers | Advanced code analysis |
| Roslynator.Formatting.Analyzers | Formatting consistency |
| SharpSource | Common pitfalls |
| SonarAnalyzer.CSharp | Security and reliability |
Tests run on xUnit v3 with the Microsoft Testing Platform (MTP) runner:
# Run CI tests (default category)
scripts/test.sh
# Run one test class
scripts/test.sh GreeterTests
# Run all tests, including Podman and Manual
scripts/test.sh --all
# Verbose output (human-readable)
scripts/test.sh --verbose
Test categories:
[Trait("Category", "CI")]: runs in the CI pipeline. Each test must be fast and deterministic.[Trait("Category", "Podman")]: builds and tests the container image. Podman must be installed.[Trait("Category", "Manual")]: needs an external dependency or a manual setup step.# Build, run, and test (scripts/podman.sh)
scripts/podman.sh build
scripts/podman.sh run
scripts/podman.sh test
scripts/podman.sh stop
# Or use podman compose directly
podman compose up -d
curl http://localhost:8080/health
# → {"status":"healthy"}
podman compose down
GitHub Actions (.github/workflows/ci.yml) runs four jobs:
dotnet format --verify-no-changes), release build, and CI-category testsscripts/lint-shell.sh runs shellcheck over every tracked shell scriptNuGet publishing (.github/workflows/publish.yml) starts on a push to main that changes src/E128.Analyzers/. The workflow uses OIDC trusted publishing, so it needs no API key. It skips the push when the version already exists on nuget.org.
The dotnet-overhaul skill is a portable .NET code overhaul loop.
Copy it into any .NET repository and run it with Claude Code.
The skill modernizes language usage and enforces strict code analysis.
It also reviews performance, concurrency, and security, and it verifies that all tests pass.
Opinionated. The skill enforces set conventions: deny-by-default analyzers, immutability, the MTP test runner, and strict code analysis. Edit conventions.md after you copy the skill to match the preferences of your project.
Iterative. For a first large overhaul, run the skill several times. Approve a subset of findings per run, commit, then run again. After the codebase is clean, run the skill periodically to catch drift from new code, updated analyzers, or a TFM upgrade.
# Run this from inside your target repository
cp -r /path/to/dotnet-reference/.claude/skills/dotnet-overhaul .claude/skills/
The skill includes its own scripts, pattern files, and conventions template. It needs no other file from this repository.
Create a branch first, because the skill changes many files across the codebase:
git checkout -b refactor/dotnet-overhaul
# Then in Claude Code
/dotnet-overhaul
/dotnet-overhaul src/MyProject
After you copy the skill, you can edit these files in .claude/skills/dotnet-overhaul/:
| File | Purpose |
|---|---|
conventions.md | Project coding standards, analyzer overrides, auto-approved fixes, and test relaxations |
lessons/*.md | Known false positives and compiler edge cases found during overhaul runs |
The skill detects the test framework, the solution format, and the analyzer configuration.
The external agents (build-validator, sme-researcher, tdd-loop-optimizer) are optional. The skill works without them.
Issues and pull requests are welcome. For a large change, open an issue first to discuss the approach.