RepoPilotOpen in app →

wuyouzhuguli/SpringAll

循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc

Mixed

Stale — last commit 2y ago

weakest axis
Use as dependencyMixed

last commit was 2y ago; top contributor handles 93% of recent commits…

Fork & modifyHealthy

Has a license, tests, and CI — clean foundation to fork and modify.

Learn fromHealthy

Documented and popular — useful reference codebase to read through.

Deploy as-isMixed

last commit was 2y ago; no CI workflows detected

  • 3 active contributors
  • MIT licensed
  • Tests present
Show all 7 evidence items →
  • Stale — last commit 2y ago
  • Small team — 3 contributors active in recent commits
  • Single-maintainer risk — top contributor 93% of recent commits
  • No CI workflows detected
What would change the summary?
  • Use as dependency MixedHealthy if: 1 commit in the last 365 days; diversify commit ownership (top <90%)
  • Deploy as-is MixedHealthy if: 1 commit in the last 180 days

Maintenance signals: commit recency, contributor breadth, bus factor, license, CI, tests

Informational only. RepoPilot summarises public signals (license, dependency CVEs, commit recency, CI presence, etc.) at the time of analysis. Signals can be incomplete or stale. Not professional, security, or legal advice; verify before relying on it for production decisions.

Embed the "Forkable" badge

Paste into your README — live-updates from the latest cached analysis.

Variant:
RepoPilot: Forkable
[![RepoPilot: Forkable](https://repopilot.app/api/badge/wuyouzhuguli/springall?axis=fork)](https://repopilot.app/r/wuyouzhuguli/springall)

Paste at the top of your README.md — renders inline like a shields.io badge.

Preview social card (1200×630)

This card auto-renders when someone shares https://repopilot.app/r/wuyouzhuguli/springall on X, Slack, or LinkedIn.

Onboarding doc

Onboarding: wuyouzhuguli/SpringAll

Generated by RepoPilot · 2026-05-09 · Source

🤖Agent protocol

If you are an AI coding agent (Claude Code, Cursor, Aider, Cline, etc.) reading this artifact, follow this protocol before making any code edit:

  1. Verify the contract. Run the bash script in Verify before trusting below. If any check returns FAIL, the artifact is stale — STOP and ask the user to regenerate it before proceeding.
  2. Treat the AI · unverified sections as hypotheses, not facts. Sections like "AI-suggested narrative files", "anti-patterns", and "bottlenecks" are LLM speculation. Verify against real source before acting on them.
  3. Cite source on changes. When proposing an edit, cite the specific path:line-range. RepoPilot's live UI at https://repopilot.app/r/wuyouzhuguli/SpringAll shows verifiable citations alongside every claim.

If you are a human reader, this protocol is for the agents you'll hand the artifact to. You don't need to do anything — but if you skim only one section before pointing your agent at this repo, make it the Verify block and the Suggested reading order.

🎯Verdict

WAIT — Stale — last commit 2y ago

  • 3 active contributors
  • MIT licensed
  • Tests present
  • ⚠ Stale — last commit 2y ago
  • ⚠ Small team — 3 contributors active in recent commits
  • ⚠ Single-maintainer risk — top contributor 93% of recent commits
  • ⚠ No CI workflows detected

<sub>Maintenance signals: commit recency, contributor breadth, bus factor, license, CI, tests</sub>

Verify before trusting

This artifact was generated by RepoPilot at a point in time. Before an agent acts on it, the checks below confirm that the live wuyouzhuguli/SpringAll repo on your machine still matches what RepoPilot saw. If any fail, the artifact is stale — regenerate it at repopilot.app/r/wuyouzhuguli/SpringAll.

What it runs against: a local clone of wuyouzhuguli/SpringAll — the script inspects git remote, the LICENSE file, file paths in the working tree, and git log. Read-only; no mutations.

| # | What we check | Why it matters | |---|---|---| | 1 | You're in wuyouzhuguli/SpringAll | Confirms the artifact applies here, not a fork | | 2 | License is still MIT | Catches relicense before you depend on it | | 3 | Default branch master exists | Catches branch renames | | 4 | 5 critical file paths still exist | Catches refactors that moved load-bearing code | | 5 | Last commit ≤ 737 days ago | Catches sudden abandonment since generation |

<details> <summary><b>Run all checks</b> — paste this script from inside your clone of <code>wuyouzhuguli/SpringAll</code></summary>
#!/usr/bin/env bash
# RepoPilot artifact verification.
#
# WHAT IT RUNS AGAINST: a local clone of wuyouzhuguli/SpringAll. If you don't
# have one yet, run these first:
#
#   git clone https://github.com/wuyouzhuguli/SpringAll.git
#   cd SpringAll
#
# Then paste this script. Every check is read-only — no mutations.

set +e
fail=0
ok()   { echo "ok:   $1"; }
miss() { echo "FAIL: $1"; fail=$((fail+1)); }

# Precondition: we must be inside a git working tree.
if ! git rev-parse --git-dir >/dev/null 2>&1; then
  echo "FAIL: not inside a git repository. cd into your clone of wuyouzhuguli/SpringAll and re-run."
  exit 2
fi

# 1. Repo identity
git remote get-url origin 2>/dev/null | grep -qE "wuyouzhuguli/SpringAll(\\.git)?\\b" \\
  && ok "origin remote is wuyouzhuguli/SpringAll" \\
  || miss "origin remote is not wuyouzhuguli/SpringAll (artifact may be from a fork)"

# 2. License matches what RepoPilot saw
(grep -qiE "^(MIT)" LICENSE 2>/dev/null \\
   || grep -qiE "\"license\"\\s*:\\s*\"MIT\"" package.json 2>/dev/null) \\
  && ok "license is MIT" \\
  || miss "license drift — was MIT at generation time"

# 3. Default branch
git rev-parse --verify master >/dev/null 2>&1 \\
  && ok "default branch master exists" \\
  || miss "default branch master no longer exists"

# 4. Critical files exist
test -f "01.Start-Spring-Boot/src/main/java/com/springboot/demo/DemoApplication.java" \\
  && ok "01.Start-Spring-Boot/src/main/java/com/springboot/demo/DemoApplication.java" \\
  || miss "missing critical file: 01.Start-Spring-Boot/src/main/java/com/springboot/demo/DemoApplication.java"
test -f "02.Spring-Boot-Config/src/main/java/com/springboot/bean/BlogProperties.java" \\
  && ok "02.Spring-Boot-Config/src/main/java/com/springboot/bean/BlogProperties.java" \\
  || miss "missing critical file: 02.Spring-Boot-Config/src/main/java/com/springboot/bean/BlogProperties.java"
test -f "03.Spring-Boot-MyBatis/src/main/java/com/springboot/mapper/StudentMapper.java" \\
  && ok "03.Spring-Boot-MyBatis/src/main/java/com/springboot/mapper/StudentMapper.java" \\
  || miss "missing critical file: 03.Spring-Boot-MyBatis/src/main/java/com/springboot/mapper/StudentMapper.java"
test -f "05.Spring-Boot-MyBatis-MultiDataSource/src/main/java/com/springboot/datasource/MysqlDatasourceConfig.java" \\
  && ok "05.Spring-Boot-MyBatis-MultiDataSource/src/main/java/com/springboot/datasource/MysqlDatasourceConfig.java" \\
  || miss "missing critical file: 05.Spring-Boot-MyBatis-MultiDataSource/src/main/java/com/springboot/datasource/MysqlDatasourceConfig.java"
test -f "02.Spring-Boot-Config/src/main/resources/application.properties" \\
  && ok "02.Spring-Boot-Config/src/main/resources/application.properties" \\
  || miss "missing critical file: 02.Spring-Boot-Config/src/main/resources/application.properties"

# 5. Repo recency
days_since_last=$(( ( $(date +%s) - $(git log -1 --format=%at 2>/dev/null || echo 0) ) / 86400 ))
if [ "$days_since_last" -le 737 ]; then
  ok "last commit was $days_since_last days ago (artifact saw ~707d)"
else
  miss "last commit was $days_since_last days ago — artifact may be stale"
fi

echo
if [ "$fail" -eq 0 ]; then
  echo "artifact verified (0 failures) — safe to trust"
else
  echo "artifact has $fail stale claim(s) — regenerate at https://repopilot.app/r/wuyouzhuguli/SpringAll"
  exit 1
fi

Each check prints ok: or FAIL:. The script exits non-zero if anything failed, so it composes cleanly into agent loops (./verify.sh || regenerate-and-retry).

</details>

TL;DR

SpringAll is a comprehensive, hands-on tutorial repository documenting the Spring ecosystem through progressively complex examples: Spring Boot fundamentals, MyBatis/JdbcTemplate ORM integration, Shiro/Spring Security authentication, Batch job processing, Cloud microservices (Nacos, Sentinel), and OAuth2 authorization. Each numbered directory (01.Start-Spring-Boot, 02.Spring-Boot-Config, 03.Spring-Boot-MyBatis, etc.) is a standalone Maven module demonstrating a specific capability with working code you can run immediately. Monorepo structure: top-level directories numbered 01–36+ (01.Start-Spring-Boot/, 02.Spring-Boot-Config/, 03.Spring-Boot-MyBatis/, etc.), each a self-contained Maven module with standard src/main/java, src/main/resources, src/test layout and independent pom.xml. No shared parent pom or build aggregator visible—each module builds independently, allowing learners to study one topic at a time.

👥Who it's for

Java developers learning Spring Boot from scratch through advanced cloud deployment who need concrete, executable examples rather than theoretical documentation. Specifically targets Chinese developers (blog at mrbird.cc) moving from basic servlet/JSP to modern microservices architecture, and contributors translating enterprise Spring patterns into beginner-friendly code.

🌱Maturity & risk

This is an actively maintained educational reference repository (not a library) with 752KB of Java code across 36+ Spring Boot modules, comprehensive README documenting each tutorial with blog links, and Maven pom.xml files ready for immediate compilation. No CI/CD pipeline evident from file list, but the structured progression and complete working examples suggest active curation by the author—mature for learning purposes, not a dependency you'd import.

Standard open source risks apply.

Active areas of work

The repository is stable documentation/teaching material rather than a moving feature branch. The Git history is not visible in provided data, but the README lists 36 numbered tutorials covering Spring Boot → Batch → Cloud → Security/OAuth2 progression, suggesting the project scope is complete and maintained for correctness rather than active new features.

🚀Get running

git clone https://github.com/wuyouzhuguli/SpringAll.git
cd SpringAll/01.Start-Spring-Boot
mvn clean install
mvn spring-boot:run

Then visit http://localhost:8080 (port may vary by module). Each directory has its own pom.xml and application.properties for independent execution.

Daily commands: Navigate to target module (e.g., cd 03.Spring-Boot-MyBatis), then: mvn clean package && mvn spring-boot:run. Most modules expose a localhost HTTP endpoint; consult individual module README or blog link in main README for exact port and test endpoint (e.g., http://localhost:8080/test).

🗺️Map of the codebase

  • 01.Start-Spring-Boot/src/main/java/com/springboot/demo/DemoApplication.java — Entry point demonstrating Spring Boot application bootstrap and core framework initialization patterns used across all modules.
  • 02.Spring-Boot-Config/src/main/java/com/springboot/bean/BlogProperties.java — Configuration property binding pattern (@ConfigurationProperties) that establishes the foundation for externalized configuration across all modules.
  • 03.Spring-Boot-MyBatis/src/main/java/com/springboot/mapper/StudentMapper.java — MyBatis mapper interface demonstrating data access abstraction; critical for understanding the ORM pattern used throughout database modules.
  • 05.Spring-Boot-MyBatis-MultiDataSource/src/main/java/com/springboot/datasource/MysqlDatasourceConfig.java — Multi-datasource configuration pattern establishing how to wire multiple database connections; foundational for advanced persistence scenarios.
  • 02.Spring-Boot-Config/src/main/resources/application.properties — Spring Boot configuration precedence example; essential reference for understanding property resolution and environment-specific overrides.
  • 04.Spring-Boot-JdbcTemplate/src/main/java/com/springboot/service/impl/StudentServiceImp.java — Service layer implementation pattern using JdbcTemplate; demonstrates business logic encapsulation and dependency injection conventions.
  • 03.Spring-Boot-MyBatis/src/main/resources/application.yml — YAML configuration example showing alternative to properties format; critical for understanding Spring Boot configuration flexibility.

🛠️How to make changes

Add a new Spring Boot module with MyBatis integration

  1. Create new module directory following naming pattern 0X.Spring-Boot-[Feature] ([Module Root]/pom.xml)
  2. Define entity class extending model pattern from existing modules ([Module]/src/main/java/com/springboot/bean/[Entity].java)
  3. Create MyBatis mapper interface with @Mapper annotation ([Module]/src/main/java/com/springboot/mapper/[Entity]Mapper.java)
  4. Implement service interface following pattern in StudentServiceImp ([Module]/src/main/java/com/springboot/service/impl/[Entity]ServiceImpl.java)
  5. Add database initialization SQL script ([Module]/src/main/resources/init.sql)
  6. Configure application.yml with database connection properties ([Module]/src/main/resources/application.yml)
  7. Create controller to expose service functionality via REST endpoints ([Module]/src/main/java/com/springboot/controller/[Entity]Controller.java)

Add multi-datasource support to existing module

  1. Create separate datasource configuration classes per database type ([Module]/src/main/java/com/springboot/datasource/[DbType]DatasourceConfig.java)
  2. Define separate mapper interfaces for each datasource with @MapperScan pointing to specific packages ([Module]/src/main/java/com/springboot/[dbtypelowercase]dao/[Entity]Mapper.java)
  3. Create database-specific SQL mapping files in separate directories ([Module]/src/main/resources/mapper/[dbtype]/[Entity]Mapper.xml)
  4. Update application.yml to include connection details for both datasources ([Module]/src/main/resources/application.yml)
  5. Modify service implementation to route calls to appropriate datasource mapper ([Module]/src/main/java/com/springboot/service/impl/[Entity]ServiceImpl.java)

Add Spring Boot configuration properties

  1. Create @ConfigurationProperties annotated class to bind external properties ([Module]/src/main/java/com/springboot/bean/[Feature]Properties.java)
  2. Add property prefix and field names matching YAML/properties keys ([Module]/src/main/java/com/springboot/bean/[Feature]Properties.java)
  3. Define properties in application.yml or application.properties file ([Module]/src/main/resources/application.yml)
  4. Inject properties bean into controllers or services using @Autowired ([Module]/src/main/java/com/springboot/controller/[Feature]Controller.java)

Add a new JdbcTemplate-based DAO layer

  1. Create DAO interface following pattern from StudentDao ([Module]/src/main/java/com/springboot/dao/[Entity]Dao.java)
  2. Implement DAO with JdbcTemplate and RowMapper for object mapping ([Module]/src/main/java/com/springboot/dao/impl/[Entity]DaoImpl.java)
  3. Create RowMapper inner class or separate mapper implementation ([Module]/src/main/java/com/springboot/mapper/[Entity]RowMapper.java)
  4. Inject DAO into service layer and delegate queries ([Module]/src/main/java/com/springboot/service/impl/[Entity]ServiceImpl.java)

🪤Traps & gotchas

  1. Version mismatch: 01.Start-Spring-Boot uses Spring Boot 1.5.9.RELEASE (2017 vintage); later modules may use 2.x. Running modules sequentially without checking their pom.xml parent version can cause classpath conflicts (e.g., different Jackson or Tomcat versions). 2. No database auto-provisioning: MyBatis and JdbcTemplate modules (03, 04) assume a running MySQL/PostgreSQL; no docker-compose or schema.sql provided in file list—you must create student table manually or rely on implied SQL in blog posts. 3. application.properties path: Resources live in src/main/resources/, not root; IDEs may not auto-reload if you edit the wrong location. 4. Test placeholder: DemoApplicationTests is a bare stub—test examples for specific modules are absent, requiring learners to infer testing patterns from blog posts.

🏗️Architecture

💡Concepts to learn

  • spring-projects/spring-boot — Official Spring Boot repository; SpringAll teaches Spring Boot patterns, making the canonical source essential for understanding framework internals.
  • alibaba/spring-cloud-alibaba — SpringAll includes Spring Cloud Alibaba (Nacos, Sentinel) modules; this is the official Alibaba implementation referenced in the tutorial progression.
  • apache/shiro — SpringAll covers 'Spring Boot & Shiro' authentication; Apache Shiro is the standalone security framework used in those examples.
  • spring-projects/spring-cloud — SpringAll includes Spring Cloud microservices (Cloud, Netflix stack); official repo for CloudConfig, Eureka, Ribbon, and Hystrix patterns demonstrated in modules 15+.
  • macrozheng/mall — Real-world Spring Boot e-commerce project (Chinese ecosystem) applying the patterns SpringAll teaches; helps learners see progression from tutorial → production codebase.

🪄PR ideas

To work on one of these in Claude Code or Cursor, paste: Implement the "<title>" PR idea from CLAUDE.md, working through the checklist as the task list.

Add integration tests for Spring Boot configuration profiles (dev/prod)

The repo demonstrates Spring Boot configuration management with multiple profiles (application-dev.properties, application-prod.properties) in 02.Spring-Boot-Config, but there are no test cases validating that profiles are correctly loaded and beans are configured differently per environment. This is critical for a learning repository since configuration management is a core Spring Boot concept.

  • [ ] Create 02.Spring-Boot-Config/src/test/java/com/springboot/config/ProfileConfigTests.java
  • [ ] Add @ActiveProfiles test cases for 'dev' and 'prod' profiles
  • [ ] Verify BlogProperties and ConfigBean are correctly injected with profile-specific values
  • [ ] Add assertions to validate different database URLs/credentials load correctly per profile
  • [ ] Document in 02.Spring-Boot-Config/README.md how to run profile-specific tests

Add missing unit tests for MyBatis StudentMapper and StudentService

03.Spring-Boot-MyBatis has StudentMapper, StudentService, and StudentServiceImp classes but no corresponding test files in src/test/java. For a learning repository teaching database integration patterns, demonstrating how to test data access layers with @MapperScan and mocking is essential.

  • [ ] Create 03.Spring-Boot-MyBatis/src/test/java/com/springboot/mapper/StudentMapperTests.java with @SpringBootTest
  • [ ] Create 03.Spring-Boot-MyBatis/src/test/java/com/springboot/service/StudentServiceTests.java
  • [ ] Test CRUD operations (insert, select, update, delete) against test database or H2
  • [ ] Add @Transactional rollback to prevent test data persistence
  • [ ] Include tests for the StudentController.java (TestController) if exists

Create a Maven module pom.xml dependency management best practices guide with version property updates

The root pom.xml uses Spring Boot 1.5.9.RELEASE (released 2017) and Java 1.7, which are severely outdated. While this might be intentional for a historical learning repo, the modules lack a parent pom.xml to centrally manage dependency versions. This prevents newer modules from easily adopting Spring Boot 2.x/3.x and creates maintenance debt.

  • [ ] Create a root parent pom.xml if it doesn't exist with Spring Boot 2.7.x LTS as property
  • [ ] Add <java.version>11</java.version> and document Java 8+ requirement
  • [ ] Update all module pom.xml files to inherit from parent and use property placeholders for spring-boot-starter versions
  • [ ] Add a CONTRIBUTING.md file documenting version update policy (e.g., 'New modules should target Spring Boot 2.7.x minimum')
  • [ ] Update .gitignore to include IDE files (.idea/, .vscode/) and build artifacts if missing

🌿Good first issues

  • Add working SQL schema files (schema.sql, data.sql) to each database module (03.Spring-Boot-MyBatis, 04.Spring-Boot-JdbcTemplate, etc.) so developers can run mvn spring-boot:run without manual database setup—currently the README assumes knowledge of the blog post.
  • Create integration tests for StudentService and StudentMapper (03.Spring-Boot-MyBatis) using @SpringBootTest + @DataJpaTest; the DemoApplicationTests is a placeholder and no mapper/service tests exist, violating enterprise standards.
  • Document the expected Spring Boot version for each module in its README or pom.xml comments: version 01–15 claim 1.5.9, but 16+ (Cloud, WebFlux) likely need 2.0+, causing confusion for learners who copy-paste dependencies across modules.

Top contributors

Click to expand

📝Recent commits

Click to expand
  • 614d257 — update readme.md (wuyouzhuguli)
  • f630cb9 — update readme.md (wuyouzhuguli)
  • 23fe852 — Spring Cloud Alibaba Sentinel @SentinelResource (wuyouzhuguli)
  • 95da1d3 — Spring Cloud Alibaba Sentinel控制台详解 (wuyouzhuguli)
  • a90a374 — update readme.md (wuyouzhuguli)
  • 254e3a6 — Spring Boot整合WebSocket (wuyouzhuguli)
  • 13aaea9 — update readme.md (wuyouzhuguli)
  • a1d8d72 — Spring Cloud Alibaba Nacos配置中心 (wuyouzhuguli)
  • 2d19bbe — Spring Cloud Alibaba Nacos注册中心 (wuyouzhuguli)
  • 3f34d5c — update readme.md (wuyouzhuguli)

🔒Security observations

  • Critical · Outdated Spring Boot Version with Known Vulnerabilities — pom.xml - spring-boot-starter-parent version 1.5.9.RELEASE. The project uses Spring Boot 1.5.9.RELEASE, which is extremely outdated (released in 2017). This version contains numerous known security vulnerabilities including CVE-2018-1199 (DoS via specially crafted HTTP requests), CVE-2019-2725 (RCE), CVE-2019-2729 (RCE), and many others. Spring Boot 1.5.x reached end of life in August 2019. Fix: Upgrade to Spring Boot 2.7.x (LTS) or 3.x (latest). If migration is not immediately possible, apply security patches or implement Web Application Firewall rules to mitigate known exploits.
  • High · Insecure Java Version (Java 1.7) — pom.xml - java.version property set to 1.7. The project targets Java 1.7, which is extremely outdated and no longer receives security updates. Java 1.7 reached end of life in July 2015 and contains numerous unpatched security vulnerabilities. Modern exploits easily compromise systems running Java 1.7. Fix: Upgrade to Java 11 LTS (minimum) or Java 17+ LTS. Java 11 is the minimum requirement for Spring Boot 2.7.x. Update the java.version property and recompile all code.
  • High · Insecure Repository URL (HTTP instead of HTTPS) — pom.xml - repository URL. The Maven repository is configured to use http://maven.aliyun.com which is unencrypted HTTP. This exposes the build process to man-in-the-middle (MITM) attacks where malicious dependencies could be injected during download. Fix: Change the repository URL to use HTTPS: https://maven.aliyun.com/. Verify certificate pinning if possible. Consider using official Maven Central Repository (https://repo.maven.apache.org/maven2).
  • Medium · No Security Dependencies Explicitly Configured — pom.xml - dependencies section. The project only includes spring-boot-starter-web and spring-boot-starter-test. There is no explicit configuration of Spring Security, which means basic security features like CSRF protection, XSS protection, and authentication/authorization may not be properly configured. The file structure mentions Spring Security & Spring Security OAuth2 tutorials but the dependencies are not present in this module. Fix: Add spring-boot-starter-security dependency if authentication/authorization is needed. Configure Spring Security with proper CSRF tokens, security headers, and authentication mechanisms. At minimum: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>
  • Medium · Missing Security Headers Configuration — Project lacks WebSecurityConfigurerAdapter or SecurityFilterChain bean configuration. No Spring Security configuration visible to enforce security headers (X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security, Content-Security-Policy). This makes the application vulnerable to clickjacking, MIME-sniffing, and other header-based attacks. Fix: Implement Spring Security configuration to set security headers. Use @EnableWebSecurity and configure HttpSecurity to add headers: .headers().frameOptions().deny() and other protective headers.
  • Low · No Input Validation Framework Configured — pom.xml - dependencies, controller files. The project includes no explicit dependency on validation frameworks (like Hibernate Validator or Jakarta Bean Validation). Controllers accepting user input may be vulnerable to injection attacks if input validation is not properly implemented. Fix: Add spring-boot-starter-validation dependency and use @Valid/@Validated annotations with appropriate @NotNull, @Pattern, @Size constraints on all input DTOs/models to prevent injection attacks.
  • Low · No Logging Configuration for Security Events — Project structure - no logback.xml or logging configuration visible. No explicit logging framework configuration visible (like Logback configuration with security event logging). This makes it difficult to detect and investigate security incidents. Fix: Add comprehensive logging configuration (logback.xml or log4j2.xml) to log authentication attempts, authorization failures, and suspicious activities. Ensure logs do not contain sensitive information like passwords.

LLM-derived; treat as a starting point, not a security audit.


Generated by RepoPilot. Verdict based on maintenance signals — see the live page for receipts. Re-run on a new commit to refresh.

Mixed signals · wuyouzhuguli/SpringAll — RepoPilot