Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.
The following examples provide targeted custom prompts that can be integrated into your AI-powered PR review workflows. Our customers find these particularly helpful for their repos across frameworks like Spring Boot and React. Use these as templates or extend them to align with your team’s coding standards and architectural principles.
React
## Direct DOM ManipulationFlag any use of `document.getElementById`, `querySelector`, `innerHTML`, or other direct DOM APIs inside React components (including in `useEffect`), since React’s virtual DOM and refs should be used instead.
## Excessive Inline StylesFlag JSX elements with large objects in `style={{…}}` - especially when reused - rather than defining CSS classes or styled-components for maintainability and performance.
## Uncontrolled to Controlled Component SwitchFlag components that change from uncontrolled (no `value` prop) to controlled (with `value`) between renders, which can lead to React warnings and inconsistent state.
## Stale Closures in HooksFlag cases where callbacks inside `useEffect` or `useCallback` reference state/props without listing them in the dependency array, as this causes outdated values to be used.
Angular
## Direct DOM Access Bypassing Angular RendererFlag any `document.querySelector`, `element.nativeElement`, or jQuery usage in components - instead use `Renderer2` or Angular’s template bindings to stay framework-compliant.
## Overuse of `any` in TypeScriptFlag function parameters or variables typed as `any` throughout services or components, which defeats Angular’s compile-time type safety.
## Putting Business Logic in TemplatesFlag complex expressions or loops in the HTML template (e.g., `*ngIf="computeSomething(x)"`), which should be moved into the component class for readability and testability.
## Missing Subscription CleanupFlag subscriptions to `Observables` in `ngOnInit` that are not unsubscribed in `ngOnDestroy`, leading to memory leaks in long‐running applications.
Vue.js
## Mutating `props` DirectlyFlag any assignment to a prop inside a child component (e.g., `this.propValue = ...`), which should instead be emitted back to the parent or copied to local data.
## Using `$forceUpdate` to Bypass ReactivityFlag instances of `this.$forceUpdate()` or manually triggering watchers instead of fixing the reactive data flow.
## Logic-heavy TemplatesFlag templates containing complex JavaScript (e.g., inline methods or filters doing heavy computation) - move that logic into computed properties or methods in the component script.
## Unremoved Watchers and Event ListenersFlag watchers or `$on` event handlers set up in `mounted()` that aren’t properly torn down in `beforeDestroy()`, which can cause memory leaks.
Django
## Hardcoded Secrets in SettingsFlag any API keys, database passwords, or tokens hardcoded in `settings.py` instead of using environment variables (`os.getenv`) or a secrets manager.
## Raw SQL without ParameterizationFlag any `cursor.execute(f"SELECT … {user_input}")` usage - instead use Django’s ORM or `cursor.execute("… WHERE x = %s", [user_input])` to prevent SQL injection.
## Mass Assignment on Forms or ModelsFlag `Model.objects.create(**request.POST)` or `form.save(commit=True)` without specifying `fields` or using `cleaned_data`, which can expose unintended fields.
## Unvalidated File UploadsFlag file upload handlers (e.g., `request.FILES['file']`) that don’t check file type or size before saving, exposing the app to malicious uploads.
Spring Boot
## Hardcoded Secrets or CredentialsFlag API keys, passwords, or tokens hardcoded in `.java` or `.properties` files.
## SQL Injection via Unparameterized QueriesFlag dynamic SQL built using string concatenation or user inputs without parameter binding.
## Command Injection via Runtime ExecutionFlag use of `Runtime.exec()` or `ProcessBuilder` with unsanitized user inputs.
## Insecure DeserializationFlag uses of `ObjectInputStream.readObject()` on untrusted input sources.
## Unvalidated Input in ControllersFlag missing validation annotations (`@Valid`, `@NotNull`, etc.) on `@RequestBody`, `@PathVariable`, or `@RequestParam` parameters.
Express.js
## Missing Error Handling in Async RoutesFlag `async` route handlers without `try/catch` or a wrapper to forward errors to `next()`, which can cause unhandled promise rejections.
## Unvalidated `req.body` and `req.params`Flag any use of user inputs directly (e.g., `User.find(req.params.id)`) without schema validation via Joi, express-validator, or similar.
## Use of `eval()` or `Function()` ConstructorsFlag any `eval()` calls or dynamic function creation from user inputs, as they enable arbitrary code execution.
## Insecure Cookie ConfigurationFlag cookies set without `HttpOnly`, `Secure`, or proper `SameSite` attributes in `res.cookie()` calls.
Laravel
## Mass Assignment without `$fillable` or `$guarded`Flag `Model::create($request->all())` when the model doesn’t declare safe `$fillable` fields.
## Raw Queries without BindingsFlag `DB::select("SELECT … WHERE id = $id")` - use parameter binding (`?` or named bindings) or Eloquent methods to avoid SQL injection.
## Missing CSRF ProtectionFlag forms or AJAX routes lacking `@csrf` in Blade templates or `$request->validate()` in controllers.
## Committed `.env` with SecretsFlag any project commits that include the `.env` file containing database credentials or API keys.
Ruby on Rails
## Mass Assignment via `params` without Strong ParametersFlag controllers using `Model.create(params[:model])` without whitelisting via `params.require(:model).permit(...)`.
## N+1 Query PatternsFlag view or controller code like `@users.each { |u| u.posts.count }` instead of eager loading with `includes(:posts)`.
## Skipping Model ValidationsFlag calls to `save(validate: false)` or `update_column` that bypass ActiveRecord validations.
## Unhandled Exceptions in CallbacksFlag `after_save` or `before_destroy` callbacks without error handling, which can break request flows.
ASP .NET Core
## Dynamic SQL via String InterpolationFlag any `context.Database.ExecuteSqlRaw($"…{userInput}…")` or concatenated SQL strings - instead use parameterized queries.
## Missing Anti-Forgery Token ValidationFlag POST actions without `[ValidateAntiForgeryToken]` when using Razor Pages or MVC forms.
## Exposing Sensitive Data in ViewBag/ViewDataFlag passing secrets or tokens through `ViewBag` or `ViewData` for use in Razor views.
## Improper CORS ConfigurationFlag overly permissive CORS policies in `AddCors` (e.g., `AllowAnyOrigin`) that expose APIs unintentionally.
PySpark
## Calling `collect()` on Large RDDs/DataFramesFlag any `df.collect()` or `rdd.collect()` on datasets >100K records, which can OOM the driver - use `take()` or write to storage instead.
## User-Defined Functions (UDFs) over Built-insFlag use of `udf(myFunc)` for simple operations that Spark already optimizes (e.g., string, date functions) - opt for Spark SQL functions.
## Joins without Broadcast for Small TablesFlag large DataFrame `.join(smallDf, on, "left")` without using `broadcast(smallDf)`, leading to skewed shuffles.
## Caching Too Early or Too MuchFlag `.cache()` on DataFrames before pruning unnecessary columns or filtering, which wastes executor memory.
Meteor
## Overusing `autopublish` PackageFlag projects where `autopublish` is not removed, exposing all collections to the client by default.
## Insecure `allow/deny` RulesFlag any `Collection.allow({ ... })` or `deny` settings permitting broad inserts/updates without checking `this.userId` or document ownership.
## Publishing Excessive FieldsFlag publications that return whole documents (e.g., `return Collection.find()`) instead of selective fields to minimize data exposure.
## Unchecked Meteor Method InputsFlag Meteor methods that access `this.userId` but do not validate or sanitize the `args` object, inviting injection attacks.
Svelte
## Direct DOM API UsageFlag any `document.querySelector`, `addEventListener`, or manual DOM updates inside components - instead use Svelte’s reactive bindings.
## Mutable Store Updates without `update()`Flag direct assignments to store values (e.g., `myStore.set = …`) rather than using `myStore.update(...)`, which can break reactivity.
## Heavy Computation in MarkupFlag long-running loops or calculations in the template (e.g., `{#each bigArray.map(...) as item}`) - move logic into a `<script>` reactive statement.
## Uncleaned Subscriptions on DestroyFlag stores or event subscriptions created in `onMount()` that are not unsubscribed in `onDestroy()`, causing memory leaks.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"CodeAnt AI","colors":{"primary":"#4F4FE6","light":"#8B8BF5","dark":"#4040C4"},"logo":{"light":"https://mintcdn.com/codeantai/q1mptv9VxSkpnEvR/logo/light.svg?fit=max\u0026auto=format\u0026n=q1mptv9VxSkpnEvR\u0026q=85\u0026s=fe5541a58bbbaf4c33513282b7246e56","dark":"https://mintcdn.com/codeantai/q1mptv9VxSkpnEvR/logo/dark.svg?fit=max\u0026auto=format\u0026n=q1mptv9VxSkpnEvR\u0026q=85\u0026s=6931bdb408cba905a4ccbf60ac60653d"},"favicon":"https://mintcdn.com/codeantai/q1mptv9VxSkpnEvR/favicon.svg?fit=max\u0026auto=format\u0026n=q1mptv9VxSkpnEvR\u0026q=85\u0026s=af1f3e766af7f1c03b127c519d0da4ac","appearance":{"default":"system"},"background":{"color":{"light":"#ffffff","dark":"#101010"}},"navbar":{"links":[{"href":"/support","label":"Contact support"}],"primary":{"type":"button","label":"Open dashboard","href":"https://app.codeant.ai"}},"footer":{"socials":{"twitter":"https://twitter.com/CodeAntAI","linkedin":"https://www.linkedin.com/company/codeant-ai"},"links":[{"items":[{"label":"Get help","href":"/support"},{"label":"Report an issue","href":"mailto:support@codeant.ai"}]}]},"search":{"prompt":"Search for anything"},"fonts":{"heading":{"family":"Geist","weight":550},"body":{"family":"Geist"}},"icons":{"library":"fontawesome"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":"css-variables"},"latex":true},"contextual":{"options":[{"title":"Connect your AI agent","description":"Connect your AI agent to CodeAnt with the MCP server","icon":"plug","href":"https://docs.codeant.ai/cli/mcp-server"},"copy","chatgpt","claude"],"display":"toc"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"codeantai","hasAudioNarration":false,"actualSubdomain":"codeantai","customDomains":["docs.codeant.ai"],"gitSource":{"type":"github","owner":"codeant-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3e31517d318bea1c9dac8","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"default","tag":"Documentation","count":192},{"language":"default","tag":"Rule Reference","count":76},{"language":"default","tag":"Anti-Patterns","count":53},{"language":"default","tag":"IDE, CLI \u0026 CI/CD","count":39},{"language":"default","tag":"API Reference","count":29},{"language":"default","tag":"Get Started","count":23},{"language":"default","tag":"AI Code Review","count":20},{"language":"default","tag":"CI/CD","count":18},{"language":"default","tag":"Setup","count":18},{"language":"default","tag":"JavaScript","count":15}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","href":"/_mintlify/custom/codeantai/9477ba7e27f8567b/styles.css"}],"page":{"pagePath":"pull_request/customize/prompt_examples","slug":"/pull_request/customize/prompt_examples","pageMetadata":{"title":"Example Prompts","sidebarTitle":"Example Prompts","description":"Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.","href":"/pull_request/customize/prompt_examples"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The following examples provide targeted custom prompts that can be integrated into your AI-powered PR review workflows. Our customers find these particularly helpful for their repos across frameworks like Spring Boot and React. Use these as templates or extend them to align with your team’s coding standards and architectural principles.`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`React`,id:`react`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Direct DOM Manipulation`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any use of `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`document.getElementById`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`querySelector`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`innerHTML`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, or other direct DOM APIs inside React components (including in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`useEffect`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`), since React’s virtual DOM and refs should be used instead.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Excessive Inline Styles`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag JSX elements with large objects in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`style={{…}}`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` - especially when reused - rather than defining CSS classes or styled-components for maintainability and performance.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Uncontrolled to Controlled Component Switch`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag components that change from uncontrolled (no `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`value`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` prop) to controlled (with `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`value`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`) between renders, which can lead to React warnings and inconsistent state.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Stale Closures in Hooks`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag cases where callbacks inside `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`useEffect`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`useCallback`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` reference state/props without listing them in the dependency array, as this causes outdated values to be used.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Angular`,id:`angular`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Direct DOM Access Bypassing Angular Renderer`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`document.querySelector`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`element.nativeElement`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, or jQuery usage in components - instead use `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Renderer2`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or Angular’s template bindings to stay framework-compliant.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Overuse of `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`any`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` in TypeScript`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag function parameters or variables typed as `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`any`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` throughout services or components, which defeats Angular’s compile-time type safety.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Putting Business Logic in Templates`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag complex expressions or loops in the HTML template (e.g., `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`*ngIf=\"computeSomething(x)\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`), which should be moved into the component class for readability and testability.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Missing Subscription Cleanup`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag subscriptions to `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Observables`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`ngOnInit`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` that are not unsubscribed in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`ngOnDestroy`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, leading to memory leaks in long‐running applications.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Vue.js`,id:`vue-js`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Mutating `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`props`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` Directly`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any assignment to a prop inside a child component (e.g., `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`this.propValue = ...`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`), which should instead be emitted back to the parent or copied to local data.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Using `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`$forceUpdate`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` to Bypass Reactivity`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag instances of `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`this.$forceUpdate()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or manually triggering watchers instead of fixing the reactive data flow.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Logic-heavy Templates`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag templates containing complex JavaScript (e.g., inline methods or filters doing heavy computation) - move that logic into computed properties or methods in the component script.`})}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Unremoved Watchers and Event Listeners`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag watchers or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`$on`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` event handlers set up in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`mounted()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` that aren’t properly torn down in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`beforeDestroy()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, which can cause memory leaks.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Django`,id:`django`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Hardcoded Secrets in Settings`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any API keys, database passwords, or tokens hardcoded in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`settings.py`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` instead of using environment variables (`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`os.getenv`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`) or a secrets manager.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Raw SQL without Parameterization`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`cursor.execute(f\"SELECT … {user_input}\")`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` usage - instead use Django’s ORM or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`cursor.execute(\"… WHERE x = %s\", [user_input])`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` to prevent SQL injection.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Mass Assignment on Forms or Models`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Model.objects.create(**request.POST)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`form.save(commit=True)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` without specifying `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`fields`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or using `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`cleaned_data`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, which can expose unintended fields.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Unvalidated File Uploads`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag file upload handlers (e.g., `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`request.FILES['file']`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`) that don’t check file type or size before saving, exposing the app to malicious uploads.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Spring Boot`,id:`spring-boot`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Hardcoded Secrets or Credentials`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag API keys, passwords, or tokens hardcoded in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`.java`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`.properties`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` files.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## SQL Injection via Unparameterized Queries`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag dynamic SQL built using string concatenation or user inputs without parameter binding.`})}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Command Injection via Runtime Execution`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag use of `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Runtime.exec()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`ProcessBuilder`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` with unsanitized user inputs.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Insecure Deserialization`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag uses of `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`ObjectInputStream.readObject()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` on untrusted input sources.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Unvalidated Input in Controllers`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag missing validation annotations (`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`@Valid`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`@NotNull`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, etc.) on `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`@RequestBody`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`@PathVariable`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`@RequestParam`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` parameters.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Express.js`,id:`express-js`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Missing Error Handling in Async Routes`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`async`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` route handlers without `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`try/catch`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or a wrapper to forward errors to `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`next()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, which can cause unhandled promise rejections.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Unvalidated `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`req.body`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` and `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`req.params`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any use of user inputs directly (e.g., `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`User.find(req.params.id)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`) without schema validation via Joi, express-validator, or similar.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Use of `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`eval()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Function()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` Constructors`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`eval()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` calls or dynamic function creation from user inputs, as they enable arbitrary code execution.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Insecure Cookie Configuration`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag cookies set without `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`HttpOnly`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Secure`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, or proper `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`SameSite`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` attributes in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`res.cookie()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` calls.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Laravel`,id:`laravel`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Mass Assignment without `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`$fillable`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`$guarded`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Model::create($request->all())`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` when the model doesn’t declare safe `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`$fillable`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` fields.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Raw Queries without Bindings`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`DB::select(\"SELECT … WHERE id = $id\")`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` - use parameter binding (`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`?`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or named bindings) or Eloquent methods to avoid SQL injection.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Missing CSRF Protection`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag forms or AJAX routes lacking `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`@csrf`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` in Blade templates or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`$request->validate()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` in controllers.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Committed `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`.env`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` with Secrets`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any project commits that include the `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`.env`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` file containing database credentials or API keys.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Ruby on Rails`,id:`ruby-on-rails`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Mass Assignment via `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`params`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` without Strong Parameters`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag controllers using `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Model.create(params[:model])`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` without whitelisting via `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`params.require(:model).permit(...)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## N+1 Query Patterns`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag view or controller code like `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`@users.each { |u| u.posts.count }`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` instead of eager loading with `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`includes(:posts)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Skipping Model Validations`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag calls to `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`save(validate: false)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`update_column`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` that bypass ActiveRecord validations.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Unhandled Exceptions in Callbacks`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`after_save`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`before_destroy`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` callbacks without error handling, which can break request flows.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`ASP .NET Core`,id:`asp-net-core`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Dynamic SQL via String Interpolation`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`context.Database.ExecuteSqlRaw($\"…{userInput}…\")`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or concatenated SQL strings - instead use parameterized queries.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Missing Anti-Forgery Token Validation`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag POST actions without `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`[ValidateAntiForgeryToken]`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` when using Razor Pages or MVC forms.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Exposing Sensitive Data in ViewBag/ViewData`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag passing secrets or tokens through `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`ViewBag`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`ViewData`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` for use in Razor views.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Improper CORS Configuration`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag overly permissive CORS policies in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`AddCors`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` (e.g., `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`AllowAnyOrigin`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`) that expose APIs unintentionally.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`PySpark`,id:`pyspark`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Calling `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`collect()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` on Large RDDs/DataFrames`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`df.collect()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`rdd.collect()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` on datasets >100K records, which can OOM the driver - use `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`take()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or write to storage instead.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## User-Defined Functions (UDFs) over Built-ins`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag use of `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`udf(myFunc)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` for simple operations that Spark already optimizes (e.g., string, date functions) - opt for Spark SQL functions.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Joins without Broadcast for Small Tables`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag large DataFrame `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`.join(smallDf, on, \"left\")`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` without using `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`broadcast(smallDf)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, leading to skewed shuffles.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Caching Too Early or Too Much`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`.cache()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` on DataFrames before pruning unnecessary columns or filtering, which wastes executor memory.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Meteor`,id:`meteor`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Overusing `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`autopublish`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` Package`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag projects where `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`autopublish`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` is not removed, exposing all collections to the client by default.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Insecure `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`allow/deny`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` Rules`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`Collection.allow({ ... })`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`deny`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` settings permitting broad inserts/updates without checking `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`this.userId`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` or document ownership.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Publishing Excessive Fields`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag publications that return whole documents (e.g., `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`return Collection.find()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`) instead of selective fields to minimize data exposure.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Unchecked Meteor Method Inputs`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag Meteor methods that access `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`this.userId`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` but do not validate or sanitize the `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`args`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` object, inviting injection attacks.`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Svelte`,id:`svelte`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Direct DOM API Usage`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag any `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`document.querySelector`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`addEventListener`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, or manual DOM updates inside components - instead use Svelte’s reactive bindings.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Mutable Store Updates without `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`update()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag direct assignments to store values (e.g., `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`myStore.set = …`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`) rather than using `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`myStore.update(...)`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, which can break reactivity.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Heavy Computation in Markup`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag long-running loops or calculations in the template (e.g., `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`{#each bigArray.map(...) as item}`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`) - move logic into a `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`\u003cscript>`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` reactive statement.`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`mdx`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`mdx`,children:_jsxs(_components.code,{language:`mdx`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`## Uncleaned Subscriptions on Destroy`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`Flag stores or event subscriptions created in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`onMount()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` that are not unsubscribed in `}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:`onDestroy()`}),_jsx(_components.span,{style:{color:`var(--mint-token-string, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string, #297a3a)`},children:\"`\"}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`, causing memory leaks.`})]}),`\n`]})})})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":"css-variables"},"config":{},"pageMetadata":{"title":"Example Prompts","sidebarTitle":"Example Prompts","description":"Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.","href":"/pull_request/customize/prompt_examples"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/codeantai/ccf9042a50041cb8/reo.js","/_mintlify/custom/codeantai/939c2d631654a3f6/sidebar-motion.js","/_mintlify/custom/codeantai/75cecc4363704fee/toc-highlight.js","/_mintlify/custom/codeantai/faf9f427997bdaa6/code-controls.js","/_mintlify/custom/codeantai/eb4a078ba732b846/scroll-to-top.js","/_mintlify/custom/codeantai/59b3b4df740c5bc6/home.js","/_mintlify/custom/codeantai/010da96f973f2fb0/nav-motion.js","/_mintlify/custom/codeantai/5039b744165ff9a7/product-switcher.js","/_mintlify/custom/codeantai/a35541ef2295242c/theme-switch.js"],"subdomain":"codeantai","siteName":"CodeAnt AI","title":"Example Prompts - CodeAnt AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-11T07:38:33.406Z","originalFileLocation":"pull_request/customize/prompt_examples.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CodeAnt AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Example Prompts - CodeAnt AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CodeAnt AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.codeant.ai/pull_request/customize/prompt_examples\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://codeantai.mintlify.site/_mintlify/api/og/v2?division=Customize+Review\u0026amp;title=Example+Prompts\u0026amp;description=Explore+framework-specific+custom+prompts+for+improving+PR+review+coverage+and+compliance+with+your+internal+standards.\u0026amp;theme=5b4143bf74bf75f5cd26f66a\u0026amp;signature=a7415e4db577f68fc534902b3705d605d884a4b6f4d700c292e82c51f1d76c2c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Example Prompts - CodeAnt AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://codeantai.mintlify.site/_mintlify/api/og/v2?division=Customize+Review\u0026amp;title=Example+Prompts\u0026amp;description=Explore+framework-specific+custom+prompts+for+improving+PR+review+coverage+and+compliance+with+your+internal+standards.\u0026amp;theme=5b4143bf74bf75f5cd26f66a\u0026amp;signature=a7415e4db577f68fc534902b3705d605d884a4b6f4d700c292e82c51f1d76c2c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/codeantai/urpqEjqQ6niJ8Uh7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CodeAnt AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4F4FE6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.codeant.ai/pull_request/customize/prompt_examples\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pull_request/customize/prompt_examples.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.codeant.ai/#organization\",\"name\":\"CodeAnt AI\",\"url\":\"https://docs.codeant.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/codeantai/q1mptv9VxSkpnEvR/logo/light.svg?fit=max\u0026auto=format\u0026n=q1mptv9VxSkpnEvR\u0026q=85\u0026s=fe5541a58bbbaf4c33513282b7246e56\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.codeant.ai#website\",\"name\":\"CodeAnt AI\",\"url\":\"https://docs.codeant.ai\",\"publisher\":{\"@id\":\"https://docs.codeant.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.codeant.ai/pull_request/customize/prompt_examples#webpage\",\"url\":\"https://docs.codeant.ai/pull_request/customize/prompt_examples\",\"name\":\"Example Prompts\",\"description\":\"Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.\",\"dateModified\":\"2026-10-11T07:38:33.406Z\",\"isPartOf\":{\"@id\":\"https://docs.codeant.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.codeant.ai/pull_request/customize/prompt_examples#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.codeant.ai/pull_request/customize/prompt_examples#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"AI Code Review\",\"item\":\"https://docs.codeant.ai/pull_request/howToUse\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Customize Review\",\"item\":\"https://docs.codeant.ai/pull_request/customize/agent_personas\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Example Prompts\",\"item\":\"https://docs.codeant.ai/pull_request/customize/prompt_examples\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.codeant.ai/pull_request/customize/prompt_examples#article\",\"headline\":\"Example Prompts\",\"name\":\"Example Prompts\",\"description\":\"Explore framework-specific custom prompts for improving PR review coverage and compliance with your internal standards.\",\"url\":\"https://docs.codeant.ai/pull_request/customize/prompt_examples\",\"mainEntityOfPage\":{\"@id\":\"https://docs.codeant.ai/pull_request/customize/prompt_examples#webpage\"},\"dateModified\":\"2026-10-11T07:38:33.406Z\",\"publisher\":{\"@id\":\"https://docs.codeant.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.codeant.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CodeAnt AI\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"CodeAnt AI\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/pull_request/customize/prompt_examples.md","siteName":"CodeAnt AI","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"file-lines","groups":[{"group":"Get Started","icon":"rocket","pages":[{"title":"CodeAnt AI","icon":"sparkles","sidebarTitle":"What is CodeAnt?","mode":"wide","href":""},{"group":"Setup","pages":[{"title":"GitHub","icon":"github","href":"/setup/github"},{"title":"GitHub Enterprise","icon":"github","href":"/setup/github_enterprise"},{"title":"Bitbucket","icon":"bitbucket","href":"/setup/bitbucket"},{"title":"Bitbucket Data Center","icon":"bitbucket","href":"/setup/bitbucket_data_center"},{"group":"Gitlab","pages":[{"title":"GitLab Access Token","icon":"key","href":"/setup/gitlab/access-token"},{"title":"Manual Webhook Setup","icon":"webhook","href":"/setup/gitlab/manual-webhooks"},{"title":"Self-Hosted GitLab Setup","icon":"server","href":"/setup/gitlab/self-hosted/control_center"}]},{"group":"Azure Devops","pages":[{"group":"Cloud","pages":[{"title":"Microsoft Entra Workload Identity","icon":"id-badge","href":"/setup/azure_devops/cloud/entra_workload_identity"},{"title":"Service Account","icon":"user-shield","href":"/setup/azure_devops/cloud/service_account"},{"title":"Pull Request Review","icon":"code","href":"/setup/azure_devops/cloud/pull_request"},{"title":"Control Center","icon":"browser","href":"/setup/azure_devops/cloud/control_center"}]},{"group":"Self-Hosted","pages":[{"title":"Pull Request Review","icon":"code","href":"/setup/azure_devops/self-hosted/pull_request"},{"title":"Control Center","icon":"browser","href":"/setup/azure_devops/self-hosted/control_center"}]}]}]},{"group":"Organization","pages":[{"title":"Organization Teams","sidebarTitle":"Organization Teams","icon":"users","href":"/settings/teams"},{"title":"Access Control","sidebarTitle":"Access Control","icon":"shield","href":"/settings/access-control"}]},{"title":"API Tokens","sidebarTitle":"API Tokens","icon":"key","href":"/settings/api-tokens"},{"group":"Repositories","pages":[{"title":"Analysis Configuration","sidebarTitle":"Analysis Configuration","icon":"sliders","href":"/repositories/analysis_configuration"}]},{"group":"Integrations","pages":[{"group":"Jira","pages":[{"title":"Setup","icon":"gear","href":"/control_center/jira/setup"},{"title":"Create Jira Issues","icon":"ticket","href":"/control_center/jira/create_tickets"}]},{"group":"Linear","pages":[{"title":"Setup","icon":"gear","href":"/control_center/linear/setup"},{"title":"Create Linear Issues","icon":"ticket","href":"/control_center/linear/create_tickets"}]},{"group":"Slack","pages":[{"title":"Slack Integration","icon":"slack","href":"/control_center/slack/setup"}]}]}]},{"group":"AI Code Review","icon":"code-pull-request","pages":[{"group":"Features","pages":[{"title":"How to Use","icon":"circle-question","href":"/pull_request/howToUse"},{"title":"Code Review","sidebarTitle":"Code Review","icon":"magnifying-glass-chart","href":"/pull_request/features/code_review"},{"title":"Frontend QA Agent","sidebarTitle":"Frontend QA","icon":"flask","href":"/pull_request/features/frontend_qa"},{"title":"Chat","sidebarTitle":"Chat","icon":"comment-dots","href":"/pull_request/features/chat"},{"title":"Learnings","sidebarTitle":"Learnings","icon":"lightbulb","href":"/pull_request/features/learnings"},{"title":"Fix in IDE","sidebarTitle":"Fix in IDE","icon":"wand-magic-sparkles","href":"/pull_request/features/fix_in_ide"},{"title":"Auto Approve PR","sidebarTitle":"Auto Approve PR","icon":"circle-check","href":"/pull_request/features/auto_approve_pr"},{"title":"Automated PR Descriptions","sidebarTitle":"Summary","icon":"list","href":"/pull_request/description"}]},{"group":"Customize Review","pages":[{"title":"Agent Personas","icon":"robot","href":"/pull_request/customize/agent_personas"},{"title":"Instructions","icon":"wrench","href":"/pull_request/customize/instructions"},{"title":"Rules","description":"Create and manage custom review rules through CodeAnt AI Dashboard","icon":"list","href":"/pull_request/customize/rules"},{"title":"Example Prompts","sidebarTitle":"Example Prompts","href":"/pull_request/customize/prompt_examples"},{"title":"Suggestions Threshold","description":"Configure the threshold level for AI-generated PR suggestions","icon":"key","href":"/pull_request/customize/thresholds"},{"title":"Repository PR Templates","sidebarTitle":"PR Templates","icon":"file-lines","href":"/pull_request/customize/repository_pr_template"},{"title":"Custom PR Labels","sidebarTitle":"Custom Labels","icon":"tags","href":"/pull_request/customize/custom_labels"},{"title":"Global Repo Configuration","icon":"sitemap","href":"/pull_request/customize/global_repo_config"}]},{"group":"Quality Gates","pages":[{"title":"Quality Gates","icon":"circle-check","href":"/pull_request/quality_gates/setup"},{"title":"Repository Configuration","icon":"file-code","href":"/pull_request/quality_gates/repository_configuration"}]},{"group":"Integrations","pages":[{"title":"Jira Ticket Compliance","icon":"jira","sidebarTitle":"Jira","href":"/pull_request/jira_compliance"},{"title":"Third-Party Tools","icon":"square-arrow-up-right","href":"/pull_request/third_party/integrations"}]}]},{"group":"Code Security","icon":"shield","pages":[{"title":"Application security","sidebarTitle":"SAST","icon":"shield","href":"/scan_center/code_security/security"},{"title":"Secrets detection","icon":"key","href":"/scan_center/code_security/secrets"},{"title":"IaC Analysis","icon":"cloud","href":"/scan_center/code_security/iac"},{"title":"Software Composition Analysis","sidebarTitle":"SCA","icon":"cube","href":"/scan_center/code_security/sca"},{"title":"DAST","sidebarTitle":"DAST","icon":"globe","href":"/scan_center/code_security/dast"},{"title":"Issues Fixed report","sidebarTitle":"Issues Fixed","icon":"circle-check","href":"/scan_center/code_security/issues_fixed"},{"title":"Security report badge","sidebarTitle":"Security report badge","icon":"badge-check","href":"/scan_center/code_security/security_report_badge"},{"group":"Penetration Testing","pages":[{"title":"Penetration Testing","sidebarTitle":"Overview","icon":"shield-halved","href":"/pentesting/overview"},{"title":"Black Box Testing","sidebarTitle":"Black Box","icon":"user-secret","href":"/pentesting/black_box"},{"title":"Gray Box Testing","sidebarTitle":"Gray Box","icon":"circle-half-stroke","href":"/pentesting/gray_box"},{"title":"White Box Testing","sidebarTitle":"White Box","icon":"box-open","href":"/pentesting/white_box"},{"title":"Pentesting Outbound IPs","sidebarTitle":"Outbound IPs","icon":"network-wired","href":"/pentesting/outbound_ips"}]}]},{"group":"Cloud Security","icon":"cloud","pages":[{"title":"CSPM","icon":"cloud","href":"/cloud_security/cspm"},{"title":"VM Scanning","icon":"server","href":"/cloud_security/vm-scanning"},{"title":"Container Scanning","icon":"box","href":"/cloud_security/container-scanning"},{"group":"Setup \u0026 IAM","pages":[{"title":"AWS","icon":"aws","href":"/cloud_security/setup/aws"},{"title":"GCP","icon":"google","href":"/cloud_security/setup/gcp"},{"title":"Azure","icon":"microsoft","href":"/cloud_security/setup/azure"}]}]},{"group":"Code Quality","icon":"gauge-high","pages":[{"title":"Docstring Generation","icon":"file","href":"/scan_center/code_quality/docstring"},{"title":"Dead code","icon":"trash","href":"/scan_center/code_quality/dead_code"},{"title":"Duplicate code","icon":"copy","href":"/scan_center/code_quality/duplicate_code"},{"title":"Complex Functions","icon":"expand","href":"/scan_center/code_quality/complex_functions"},{"title":"Antipatterns/Bugs","icon":"bug","href":"/scan_center/code_quality/antipatterns"},{"title":"Reporting","icon":"file-pdf","href":"/scan_center/code_quality/report_generation"}]},{"group":"Engineering Metrics","icon":"chart-line","pages":[{"title":"DORA Metrics","sidebarTitle":"DORA Metrics","icon":"chart-line","href":"/engineering_productivity/dora_metrics"},{"title":"Developer Productivity Metrics","sidebarTitle":"Dev Productivity","icon":"gauge-high","href":"/engineering_productivity/dev_metrics"}]},{"group":"IDE, CLI \u0026 CI/CD","icon":"terminal","pages":[{"group":"IDE","pages":[{"group":"Setup","pages":[{"title":"VS Code Extension","sidebarTitle":"VS Code","icon":"code","href":"/ide/setup/vscode"},{"title":"Cursor Extension","icon":"arrow-pointer","sidebarTitle":"Cursor","href":"/ide/setup/cursor"},{"title":"Windsurf Extension","sidebarTitle":"Windsurf","icon":"wind","href":"/ide/setup/windsurf"},{"title":"JetBrains IDEs Plugin","sidebarTitle":"JetBrains","icon":"lightbulb","href":"/ide/setup/jetbrains"},{"title":"Visual Studio Extension","sidebarTitle":"Visual Studio","icon":"window","href":"/ide/setup/visualstudio"}]},{"group":"Review","pages":[{"title":"How to use","icon":"question","href":"/ide/review/how_to_use"},{"title":"Code review Instructions","icon":"wrench","href":"/ide/review/code_review_instructions"},{"title":"Custom Review Rules","icon":"list","href":"/ide/review/custom_prompts"},{"title":"Review Configuration","icon":"gear","href":"/ide/review/configuration"}]}]},{"group":"CLI","pages":[{"title":"Installation \u0026 Setup","sidebarTitle":"Setup","icon":"terminal","href":"/cli/setup"},{"title":"CLI Commands","sidebarTitle":"Commands","icon":"code","href":"/cli/commands"},{"title":"AI Code Review","sidebarTitle":"AI Review","icon":"robot","href":"/cli/review"},{"title":"SCM Integration \u0026 PR Tools","sidebarTitle":"SCM \u0026 PR Tools","icon":"code-pull-request","href":"/cli/scm-integration"},{"title":"Repository Scans","sidebarTitle":"Repository Scans","icon":"magnifying-glass-chart","href":"/cli/scan-center"},{"title":"Findings","sidebarTitle":"Findings","icon":"shield-check","href":"/cli/findings"},{"title":"Autofix CodeAnt comments using your coding agent","sidebarTitle":"Autofix CodeAnt Comments","icon":"comments","href":"/cli/resolve-pr-comments-skill"},{"title":"Git Hooks","sidebarTitle":"Git Hooks","icon":"git-alt","href":"/cli/git-hooks"},{"title":"Claude Code Integration","sidebarTitle":"Claude Code","icon":"message-bot","href":"/cli/claude-code-integration"},{"title":"Cursor Integration","sidebarTitle":"Cursor","icon":"arrow-pointer","href":"/cli/cursor-integration"},{"title":"MCP Server","sidebarTitle":"MCP Server","icon":"plug","href":"/cli/mcp-server"},{"title":"MCP Tool Reference","sidebarTitle":"MCP Tools","icon":"list","href":"/cli/mcp-tools"}]},{"group":"CI/CD","pages":[{"group":"Automated scans","pages":[{"title":"Azure Pipelines","icon":"cloud","href":"/control_center/ci/ci_azuredevops"},{"title":"Bitbucket Pipelines","icon":"bitbucket","href":"/control_center/ci/ci_bitbucket"},{"title":"GitHub Actions","icon":"github","href":"/control_center/ci/ci_github"},{"title":"GitLab","icon":"gitlab","href":"/control_center/ci/ci_gitlab"},{"title":"Jenkins","icon":"hammer","href":"/control_center/ci/ci_jenkins"},{"group":"Examples","pages":[{"title":"CI security pipeline","sidebarTitle":"Security pipeline","icon":"shield","href":"/control_center/ci/github-security-pipeline"}]}]},{"group":"Test Coverage","pages":[{"title":"GitHub Actions","icon":"github","href":"/control_center/test_coverage/github"},{"title":"Bitbucket Pipelines","icon":"bitbucket","href":"/control_center/test_coverage/bitbucket"},{"title":"GitLab CI/CD","icon":"gitlab","href":"/control_center/test_coverage/gitlab"},{"title":"Azure Pipelines","icon":"cloud","href":"/control_center/test_coverage/azuredevops"},{"title":"Jenkins","icon":"jenkins","href":"/control_center/test_coverage/jenkins"},{"title":"CircleCI","icon":"circle","href":"/control_center/test_coverage/circleci"}]},{"group":"Quality gates","pages":[{"title":"GitHub Actions","icon":"github","href":"/control_center/quality_gates/quality_gate_github"},{"title":"GitLab CI/CD","icon":"gitlab","href":"/control_center/quality_gates/quality_gate_gitlab"},{"title":"Azure Pipelines","icon":"cloud","href":"/control_center/quality_gates/quality_gate_azuredevops"},{"title":"Bitbucket Pipelines","icon":"bitbucket","href":"/control_center/quality_gates/quality_gate_bitbucket"},{"title":"Jenkins","icon":"jenkins","href":"/control_center/quality_gates/quality_gate_jenkins"}]},{"group":"DAST","pages":[{"title":"Jenkins","icon":"jenkins","href":"/control_center/dast/dast_jenkins"}]}]}]},{"group":"Rule Reference","icon":"list","pages":[{"group":"Compliance","pages":[{"title":"EU AI Act Statement","href":"/compliance/EU-AI-Act-Statement"},{"title":"GDPR","href":"/compliance/GDPR"},{"title":"HIPAA","href":"/compliance/HIPAA"},{"title":"ISO/IEC 27001:2022","href":"/compliance/ISO-IEC-27001:2022"},{"title":"ISO 27002:2022","href":"/compliance/ISO-27002:2022"},{"title":"RBI Baseline Cyber Security and Resilience Requirements","href":"/compliance/RBI-Baseline-Cyber-Security-and-Resilience-Requirements"},{"title":"PCI DSS v4.0","href":"/compliance/PCI-DSS-v4.0"},{"title":"SOC 2","href":"/compliance/SOC-2"},{"title":"MISRA-C-2012","href":"/compliance/MISRA-C-2012"},{"title":"MISRA-CPP-2023","href":"/compliance/MISRA-CPP-2023"},{"title":"AUTOSAR-CPP-2014","href":"/compliance/AUTOSAR-CPP-2014"}]},{"group":"Anti-Patterns","pages":[{"title":null,"href":"/antipattern-rules/pyspark"},{"group":"Python","pages":[{"title":"Python - 1","href":"/antipattern-rules/Python/python1"},{"title":"Python - 2","href":"/antipattern-rules/Python/python2"},{"title":"Python - 3","href":"/antipattern-rules/Python/python3"}]},{"group":"Java","pages":[{"title":"Java - 1","href":"/antipattern-rules/Java/java1"},{"title":"Java - 2","href":"/antipattern-rules/Java/java2"},{"title":"Java - 3","href":"/antipattern-rules/Java/java3"},{"title":"Java - 4","href":"/antipattern-rules/Java/java4"}]},{"title":"C / CPP","href":"/rules/cfamily"},{"title":"C #","href":"/rules/csharp"},{"group":"JavaScript","pages":[{"title":null,"href":"/rules/javascript"},{"title":null,"href":"/rules/angular"},{"title":null,"href":"/rules/autofix"},{"title":null,"href":"/rules/eslint"},{"title":null,"href":"/rules/import"},{"title":null,"href":"/rules/jsx"},{"title":null,"href":"/rules/next"},{"title":null,"href":"/rules/promise"},{"title":null,"href":"/rules/react"},{"title":null,"href":"/rules/react_native"},{"title":null,"href":"/rules/security"},{"title":null,"href":"/rules/sonar"},{"title":null,"href":"/rules/tailwind"},{"title":null,"href":"/rules/typescript"},{"title":null,"href":"/rules/unicorn"}]},{"title":null,"href":"/rules/jcl"},{"title":null,"href":"/rules/kotlin"},{"title":null,"href":"/rules/kubernetes"},{"title":null,"href":"/rules/abap"},{"title":null,"href":"/rules/apex"},{"title":"Azure Source Manager","href":"/rules/azureresourcemanager"},{"title":null,"href":"/rules/php"},{"title":null,"href":"/rules/pli"},{"title":null,"href":"/rules/plsql"},{"title":null,"href":"/rules/secrets"},{"title":null,"href":"/rules/swift"},{"title":null,"href":"/rules/terraform"},{"title":null,"href":"/rules/text"},{"title":null,"href":"/rules/tsql"},{"title":null,"href":"/rules/rpg"},{"title":null,"href":"/rules/ruby"},{"title":"Elixir","href":"/rules/elixir"},{"title":null,"href":"/rules/scala"},{"title":null,"href":"/rules/vb6"},{"title":null,"href":"/rules/vbnet"},{"title":null,"href":"/rules/xml"},{"title":null,"href":"/rules/flex"},{"title":null,"href":"/rules/go"},{"title":null,"href":"/rules/html"},{"title":null,"href":"/rules/docker"},{"title":null,"href":"/rules/css"},{"title":null,"href":"/rules/cobol"},{"title":null,"href":"/rules/common"}]},{"title":"Infrastructure Security Database","href":"/infra_security_descriptions"},{"group":"Application Security Database","pages":[{"title":"Application Security Rules","sidebarTitle":"Overview","href":"/application_rules/overview"},{"group":"OWASP Top 10 (2021)","pages":[{"title":"A01:2021 - Broken Access Control","sidebarTitle":"A01 - Broken Access Control","href":"/application_rules/a01-broken-access-control"},{"title":"A02:2021 - Cryptographic Failures","sidebarTitle":"A02 - Cryptographic Failures","href":"/application_rules/a02-cryptographic-failures"},{"title":"A03:2021 - Injection","sidebarTitle":"A03 - Injection","href":"/application_rules/a03-injection"},{"title":"A04:2021 - Insecure Design","sidebarTitle":"A04 - Insecure Design","href":"/application_rules/a04-insecure-design"},{"title":"A05:2021 - Security Misconfiguration","sidebarTitle":"A05 - Security Misconfiguration","href":"/application_rules/a05-security-misconfiguration"},{"title":"A06:2021 - Vulnerable and Outdated Components","sidebarTitle":"A06 - Vulnerable and Outdated Components","href":"/application_rules/a06-vulnerable-outdated-components"},{"title":"A07:2021 - Identification and Authentication Failures","sidebarTitle":"A07 - Identification and Authentication Failures","href":"/application_rules/a07-auth-failures"},{"title":"A08:2021 - Software and Data Integrity Failures","sidebarTitle":"A08 - Software and Data Integrity Failures","href":"/application_rules/a08-data-integrity-failures"},{"title":"A09:2021 - Security Logging and Monitoring Failures","sidebarTitle":"A09 - Security Logging and Monitoring Failures","href":"/application_rules/a09-logging-monitoring-failures"},{"title":"A10:2021 - Server-Side Request Forgery (SSRF)","sidebarTitle":"A10 - Server-Side Request Forgery (SSRF)","href":"/application_rules/a10-ssrf"}]}]}]},{"group":"Resources","icon":"newspaper","pages":[{"title":"Support","icon":"life-ring","href":"/support"},{"group":"How CodeAnt Uses CodeAnt","pages":[{"title":"Sprint Reports","icon":"newspaper","href":"/how_codeant_uses_codeant/sprint_reports"},{"title":"Addressing Review Feedback","icon":"comments","href":"/how_codeant_uses_codeant/addressing_review_feedback"},{"title":"Cloud Security","icon":"shield-halved","href":"/how_codeant_uses_codeant/cloud_security"},{"title":"Quality Gates","icon":"flag-checkered","href":"/how_codeant_uses_codeant/quality_gates"}]},{"group":"Open Source","pages":[{"title":"Tree-sitter VB.NET Parser","icon":"code","href":"/open_source/vb-dot-net"}]},{"group":"Blogs","pages":[{"title":"Superhuman Context","icon":"brain-circuit","href":"/blog/superhuman-context"},{"title":"Practical Agent Sandboxing","icon":"cube","href":"/blog/practical-agent-sandboxing"}]}]}]},{"tab":"API Reference","icon":"file-code","pages":[{"title":"API Reference","href":"/api-reference/analysis/start-analysis"}]}]},"basePath":"","title":"Example Prompts - CodeAnt AI","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":[],"chunks":[]}