con un clic
code-review-and-security-audit
// Review code for quality, correctness, and security vulnerabilities. Use when the user asks to review code, audit for security issues, or check for bugs and anti-patterns.
// Review code for quality, correctness, and security vulnerabilities. Use when the user asks to review code, audit for security issues, or check for bugs and anti-patterns.
Capture the four RakuRaku showcase screenshots on a connected device and refresh the fastlane metadata. Use when the user asks to take, update, or regenerate screenshots.
Release engineering tasks for RakuRaku IME — version bumping, building release APKs, tagging, and creating GitHub releases. Use when the user asks to prepare a release, bump version, tag, or build for distribution.
Commit code changes and push via Git. Use when the user asks to commit, push, or save their work to the repository.
Writing/updating project documentation for RakuRaku IME (README, TODOs, LICENSE notices, AI-assistant guide files). Use when the user asks to update docs or rewrite user-facing text.
| name | code-review-and-security-audit |
| description | Review code for quality, correctness, and security vulnerabilities. Use when the user asks to review code, audit for security issues, or check for bugs and anti-patterns. |
| argument-hint | file path, component name, or scope of review |
You are performing code review and security auditing for RakuRaku IME (輕鬆輸入法).
suspend with Dispatchers.IO for parsing and DB work.!! unless justified.Dispatchers.IO for disk / DB / asset work); UI state updates happen on the main thread or via Compose state (thread-safe).remember/rememberSaveable/LaunchedEffect keys are correct; avoid leaking Context into long-lived state.InputStream / Reader / Cursor closed with .use { } or try/finally.var or global mutable collections.buildList / buildString.SettingsSwitch).Context or database handles when practical.AndroidManifest.xml — activities / services / receivers should not be inadvertently exported; the IME service itself must be exported but only with the proper android.permission.BIND_INPUT_METHOD guard.CinParser): validate line format; avoid crashes on malformed input.fallbackToDestructiveMigration; destructive fallback drops user frequency data — call that out..cin asset; the asset-hash sync in CinParser is the guardrail.Runtime.exec() or ProcessBuilder.gradle/libs.versions.toml.Report findings using this structure:
Security vulnerabilities, crashes, data loss risks.
Logic bugs, thread safety concerns, concrete code smells.
Style, readability, minor optimizations.
For each finding, include:
CinParser.kt:42)Without arguments, review recently changed files:
git diff --name-only HEAD~5
With a scope (file, directory, or component), focus on that area.
For a full audit, systematically review:
app/src/main/java/org/ghostsinthelab/app/rakurakuime/data/)ui/, MainActivity)AndroidManifest.xml, app/build.gradle.kts)gradle/libs.versions.toml)