Review names in this code for vague terms, hidden side effects and inconsistent file or component names. Do not rename yet. Propose a small plan and its risks.
practice 02
API keys do not belong in the browser
Risk: Frontend bundles are downloaded by visitors; a key compiled into one can be read and reused.
Rule: Keep provider credentials on a server endpoint and let the browser call that endpoint.
Inspect the frontend diff and configuration for keys, tokens, connection strings and private endpoints. Report exact exposures; propose a server-side design. Do not print secret values.
practice 03
Keep local configuration out of Git
Risk: Renaming a real .env to .env.example can publish the same credentials under a friendlier filename.
Rule: Commit placeholders only. If a key reached Git, revoke it; .gitignore does not erase history.
List tracked configuration files and likely secret-bearing files. Suggest only relevant .gitignore entries and a placeholder-only .env.example. Do not reveal values.
practice 04
Check what Git really tracks
Risk: A new ignore rule does not untrack a file already committed.
Rule: Inspect git ls-files and git check-ignore -v before assuming a local secret is protected.
Review this repository's .gitignore for build output, dependencies, cache, local databases and environment files. Identify tracked files the ignore rule cannot protect.
practice 05
Keep changes coherent
Risk: Mixing a formula fix with a dependency update and redesign makes regressions hard to isolate.
Rule: Keep code and tests for one fix together, and split independent changes.
Before adding a package, check the runtime requirement, existing project utilities, framework built-ins and the package's maintenance. Explain the smallest maintainable choice.