@qoder-ai/qodercli 0.2.3 → 0.2.4-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,13 +1,38 @@
1
1
  # qodercli
2
2
 
3
- qodercli is an open-source AI agent that brings the power of Gemini directly
3
+ Gemini CLI is an open-source AI agent that brings the power of Gemini directly
4
4
  into your terminal. It provides lightweight access to Gemini, giving you the
5
5
  most direct path from your prompt to our model.
6
6
 
7
+ Learn all about Gemini CLI in our [documentation](https://geminicli.com/docs/).
7
8
 
9
+ ## 🚀 Why Gemini CLI?
10
+
11
+ - **🎯 Free tier**: 60 requests/min and 1,000 requests/day with personal Google
12
+ account.
13
+ - **🧠 Powerful Gemini 3 models**: Access to improved reasoning and 1M token
14
+ context window.
15
+ - **🔧 Built-in tools**: Google Search grounding, file operations, shell
16
+ commands, web fetching.
17
+ - **🔌 Extensible**: MCP (Model Context Protocol) support for custom
18
+ integrations.
19
+ - **💻 Terminal-first**: Designed for developers who live in the command line.
20
+ - **🛡️ Open source**: Apache 2.0 licensed.
8
21
 
9
22
  ## 📦 Installation
10
23
 
24
+ See
25
+ [Gemini CLI installation, execution, and releases](https://www.geminicli.com/docs/get-started/installation)
26
+ for recommended system specifications and a detailed installation guide.
27
+
28
+ ### Quick Install
29
+
30
+ #### Run instantly with npx
31
+
32
+ ```bash
33
+ # Using npx (no installation required)
34
+ npx @qoder-ai/qodercli
35
+ ```
11
36
 
12
37
  #### Install globally with npm
13
38
 
@@ -15,6 +40,50 @@ most direct path from your prompt to our model.
15
40
  npm install -g @qoder-ai/qodercli
16
41
  ```
17
42
 
43
+ #### Install with Anaconda (for restricted environments)
44
+
45
+ ```bash
46
+ # Create and activate a new environment
47
+ conda create -y -n gemini_env -c conda-forge nodejs
48
+ conda activate gemini_env
49
+
50
+ # Install qodercli globally via npm (inside the environment)
51
+ npm install -g @qoder-ai/qodercli
52
+ ```
53
+
54
+ ## Release Channels
55
+
56
+ See [Releases](https://www.geminicli.com/docs/changelogs) for more details.
57
+
58
+ ### Preview
59
+
60
+ New preview releases will be published each week at UTC 23:59 on Tuesdays. These
61
+ releases will not have been fully vetted and may contain regressions or other
62
+ outstanding issues. Please help us test and install with `preview` tag.
63
+
64
+ ```bash
65
+ npm install -g @qoder-ai/qodercli@preview
66
+ ```
67
+
68
+ ### Stable
69
+
70
+ - New stable releases will be published each week at UTC 20:00 on Tuesdays, this
71
+ will be the full promotion of last week's `preview` release + any bug fixes
72
+ and validations. Use `latest` tag.
73
+
74
+ ```bash
75
+ npm install -g @qoder-ai/qodercli@latest
76
+ ```
77
+
78
+ ### Nightly
79
+
80
+ - New releases will be published each day at UTC 00:00. This will be all changes
81
+ from the main branch as represented at time of release. It should be assumed
82
+ there are pending validations and issues. Use `nightly` tag.
83
+
84
+ ```bash
85
+ npm install -g @qoder-ai/qodercli@nightly
86
+ ```
18
87
 
19
88
  ## 📋 Key Features
20
89
 
@@ -34,10 +103,266 @@ npm install -g @qoder-ai/qodercli
34
103
 
35
104
  ### Advanced Capabilities
36
105
 
37
- - Ground your queries with built-infor real-time
106
+ - Ground your queries with built-in
107
+ [Google Search](https://ai.google.dev/gemini-api/docs/grounding) for real-time
38
108
  information
39
109
  - Conversation checkpointing to save and resume complex sessions
40
110
  - Custom context files (GEMINI.md) to tailor behavior for your projects
41
111
 
112
+ ## 🔐 Authentication Options
113
+
114
+ Choose the authentication method that best fits your needs:
115
+
116
+ ### Option 1: Sign in with Google (OAuth login using your Google Account)
117
+
118
+ **✨ Best for:** Individual developers as well as anyone who has a Gemini Code
119
+ Assist License. (see
120
+ [quota limits and terms of service](https://cloud.google.com/gemini/docs/quotas)
121
+ for details)
122
+
123
+ **Benefits:**
124
+
125
+ - **Free tier**: 60 requests/min and 1,000 requests/day
126
+ - **Gemini 3 models** with 1M token context window
127
+ - **No API key management** - just sign in with your Google account
128
+ - **Automatic updates** to latest models
129
+
130
+ #### Start Gemini CLI, then choose _Sign in with Google_ and follow the browser authentication flow when prompted
131
+
132
+ ```bash
133
+ qodercli
134
+ ```
135
+
136
+ #### If you are using a paid Code Assist License from your organization, remember to set the Google Cloud Project
137
+
138
+ ```bash
139
+ # Set your Google Cloud Project
140
+ export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
141
+ qodercli
142
+ ```
143
+
144
+ ### Option 2: Gemini API Key
145
+
146
+ **✨ Best for:** Developers who need specific model control or paid tier access
147
+
148
+ **Benefits:**
149
+
150
+ - **Free tier**: 1000 requests/day with Gemini 3 (mix of flash and pro)
151
+ - **Model selection**: Choose specific Gemini models
152
+ - **Usage-based billing**: Upgrade for higher limits when needed
153
+
154
+ ```bash
155
+ # Get your key from https://aistudio.google.com/apikey
156
+ export GEMINI_API_KEY="YOUR_API_KEY"
157
+ qodercli
158
+ ```
159
+
160
+ ### Option 3: Vertex AI
161
+
162
+ **✨ Best for:** Enterprise teams and production workloads
163
+
164
+ **Benefits:**
165
+
166
+ - **Enterprise features**: Advanced security and compliance
167
+ - **Scalable**: Higher rate limits with billing account
168
+ - **Integration**: Works with existing Google Cloud infrastructure
169
+
170
+ ```bash
171
+ # Get your key from Google Cloud Console
172
+ export GOOGLE_API_KEY="YOUR_API_KEY"
173
+ export GOOGLE_GENAI_USE_VERTEXAI=true
174
+ qodercli
175
+ ```
176
+
177
+ For Google Workspace accounts and other authentication methods, see the
178
+ [authentication guide](https://www.geminicli.com/docs/get-started/authentication).
179
+
180
+ ## 🚀 Getting Started
181
+
182
+ ### Basic Usage
183
+
184
+ #### Start in current directory
185
+
186
+ ```bash
187
+ qodercli
188
+ ```
189
+
190
+ #### Include multiple directories
191
+
192
+ ```bash
193
+ qodercli --include-directories ../lib,../docs
194
+ ```
195
+
196
+ #### Use specific model
197
+
198
+ ```bash
199
+ qodercli -m gemini-2.5-flash
200
+ ```
201
+
202
+ #### Non-interactive mode for scripts
203
+
204
+ Get a simple text response:
205
+
206
+ ```bash
207
+ qodercli -p "Explain the architecture of this codebase"
208
+ ```
209
+
210
+ For more advanced scripting, including how to parse JSON and handle errors, use
211
+ the `--output-format json` flag to get structured output:
212
+
213
+ ```bash
214
+ qodercli -p "Explain the architecture of this codebase" --output-format json
215
+ ```
216
+
217
+ For real-time event streaming (useful for monitoring long-running operations),
218
+ use `--output-format stream-json` to get newline-delimited JSON events:
219
+
220
+ ```bash
221
+ qodercli -p "Run tests and deploy" --output-format stream-json
222
+ ```
223
+
224
+ ### Quick Examples
225
+
226
+ #### Start a new project
227
+
228
+ ```bash
229
+ cd new-project/
230
+ qodercli
231
+ > Write me a Discord bot that answers questions using a FAQ.md file I will provide
232
+ ```
233
+
234
+ #### Analyze existing code
235
+
236
+ ```bash
237
+ git clone <repository-url>
238
+ cd qodercli
239
+ qodercli
240
+ > Give me a summary of all of the changes that went in yesterday
241
+ ```
242
+
243
+ ## 📚 Documentation
244
+
245
+ ### Getting Started
246
+
247
+ - [**Quickstart Guide**](https://www.geminicli.com/docs/get-started) - Get up
248
+ and running quickly.
249
+ - [**Authentication Setup**](https://www.geminicli.com/docs/get-started/authentication) -
250
+ Detailed auth configuration.
251
+ - [**Configuration Guide**](https://www.geminicli.com/docs/reference/configuration) -
252
+ Settings and customization.
253
+ - [**Keyboard Shortcuts**](https://www.geminicli.com/docs/reference/keyboard-shortcuts) -
254
+ Productivity tips.
255
+
256
+ ### Core Features
257
+
258
+ - [**Commands Reference**](https://www.geminicli.com/docs/reference/commands) -
259
+ All slash commands (`/help`, `/chat`, etc).
260
+ - [**Custom Commands**](https://www.geminicli.com/docs/cli/custom-commands) -
261
+ Create your own reusable commands.
262
+ - [**Context Files (GEMINI.md)**](https://www.geminicli.com/docs/cli/gemini-md) -
263
+ Provide persistent context to Gemini CLI.
264
+ - [**Checkpointing**](https://www.geminicli.com/docs/cli/checkpointing) - Save
265
+ and resume conversations.
266
+ - [**Token Caching**](https://www.geminicli.com/docs/cli/token-caching) -
267
+ Optimize token usage.
268
+
269
+ ### Tools & Extensions
270
+
271
+ - [**Built-in Tools Overview**](https://www.geminicli.com/docs/reference/tools)
272
+ - [File System Operations](https://www.geminicli.com/docs/tools/file-system)
273
+ - [Shell Commands](https://www.geminicli.com/docs/tools/shell)
274
+ - [Web Fetch & Search](https://www.geminicli.com/docs/tools/web-fetch)
275
+ - [**MCP Server Integration**](https://www.geminicli.com/docs/tools/mcp-server) -
276
+ Extend with custom tools.
277
+ - [**Custom Extensions**](https://geminicli.com/docs/extensions/writing-extensions) -
278
+ Build and share your own commands.
279
+
280
+ ### Advanced Topics
281
+
282
+ - [**Headless Mode (Scripting)**](https://www.geminicli.com/docs/cli/headless) -
283
+ Use Gemini CLI in automated workflows.
284
+ - [**IDE Integration**](https://www.geminicli.com/docs/ide-integration) - VS
285
+ Code companion.
286
+ - [**Sandboxing & Security**](https://www.geminicli.com/docs/cli/sandbox) - Safe
287
+ execution environments.
288
+ - [**Trusted Folders**](https://www.geminicli.com/docs/cli/trusted-folders) -
289
+ Control execution policies by folder.
290
+ - [**Enterprise Guide**](https://www.geminicli.com/docs/cli/enterprise) - Deploy
291
+ and manage in a corporate environment.
292
+ - [**Telemetry & Monitoring**](https://www.geminicli.com/docs/cli/telemetry) -
293
+ Usage tracking.
294
+ - [**Tools reference**](https://www.geminicli.com/docs/reference/tools) -
295
+ Built-in tools overview.
296
+ - [**Local development**](https://www.geminicli.com/docs/local-development) -
297
+ Local development tooling.
298
+
299
+ ### Troubleshooting & Support
300
+
301
+ - [**Troubleshooting Guide**](https://www.geminicli.com/docs/resources/troubleshooting) -
302
+ Common issues and solutions.
303
+ - [**FAQ**](https://www.geminicli.com/docs/resources/faq) - Frequently asked
304
+ questions.
305
+ - Use `/bug` command to report issues directly from the CLI.
306
+
307
+ ### Using MCP Servers
308
+
309
+ User-level settings live in `~/.qoder/settings.json` by default. Set
310
+ `QODER_CONFIG_DIR` to use a different complete config root:
311
+
312
+ ```bash
313
+ QODER_CONFIG_DIR=/tmp/qoder-dev qodercli
314
+ ```
315
+
316
+ That example reads settings from `/tmp/qoder-dev/settings.json`; it does not
317
+ append `.qoder` to the configured path.
318
+
319
+ Configure MCP servers in the user settings file to extend Gemini CLI with custom
320
+ tools:
321
+
322
+ ```text
323
+ > @slack Send a summary of today's commits to #dev channel
324
+ > @database Run a query to find inactive users
325
+ ```
326
+
327
+ See the
328
+ [MCP Server Integration guide](https://www.geminicli.com/docs/tools/mcp-server)
329
+ for setup instructions.
330
+
331
+ ## 🤝 Contributing
332
+
333
+ We welcome contributions! Gemini CLI is fully open source (Apache 2.0), and we
334
+ encourage the community to:
335
+
336
+ - Report bugs and suggest features.
337
+ - Improve documentation.
338
+ - Submit code improvements.
339
+ - Share your MCP servers and extensions.
340
+
341
+ See our [Contributing Guide](./CONTRIBUTING.md) for development setup, coding
342
+ standards, and how to submit pull requests.
343
+
344
+ ## 📖 Resources
345
+
346
+ - **[Official Roadmap](./ROADMAP.md)** - See what's coming next.
347
+ - **[Changelog](https://www.geminicli.com/docs/changelogs)** - See recent
348
+ notable updates.
349
+ - **[NPM Package](https://www.npmjs.com/package/@qoder-ai/qodercli)** - Package
350
+ registry.
351
+
352
+ ### Uninstall
353
+
354
+ See the [Uninstall Guide](https://www.geminicli.com/docs/resources/uninstall)
355
+ for removal instructions.
356
+
357
+ ## 📄 Legal
358
+
359
+ - **License**: [Apache License 2.0](LICENSE)
360
+ - **Terms of Service**:
361
+ [Terms & Privacy](https://www.geminicli.com/docs/resources/tos-privacy)
362
+ - **Security**: [Security Policy](SECURITY.md)
42
363
 
43
364
  ---
365
+
366
+ <p align="center">
367
+ Built with ❤️ by Google and the open source community
368
+ </p>
@@ -0,0 +1,327 @@
1
+ ---
2
+ name: agent-creator
3
+ description:
4
+ Guide for creating custom agents. Use when users want to create a new agent
5
+ that runs in an isolated context with custom system prompts and
6
+ specific tool access.
7
+ allowed-tools: Edit, Write
8
+ ---
9
+
10
+ # Creating Custom Agents for Qoder CLI
11
+
12
+ This skill guides you through creating custom agents. Agents are
13
+ specialized AI assistants that run in isolated contexts with custom system
14
+ prompts, specific tool access, and independent permissions.
15
+
16
+ ## When to Use Agents
17
+
18
+ Use agents when you need:
19
+
20
+ - **Context isolation** for long research or exploration tasks
21
+ - **Parallel execution** of multiple independent workstreams
22
+ - **Specialized expertise** with custom prompts for specific domains
23
+ - **Reusable configurations** across projects
24
+
25
+ **When NOT to use agents:**
26
+
27
+ - Simple, single-purpose tasks (use skills instead)
28
+ - Tasks requiring frequent back-and-forth with the user
29
+ - Quick, targeted changes
30
+
31
+ ## Agent Locations
32
+
33
+ | Location | Scope | Priority |
34
+ | -------------------------------- | ----------------- | -------- |
35
+ | `<project>/${QODER_CONFIG_DIR}/agents/` | Current project | Higher |
36
+ | `~/${QODER_CONFIG_DIR}/agents/` | All your projects | Lower |
37
+
38
+ **Project agents** (`${QODER_CONFIG_DIR}/agents/`): Ideal for codebase-specific
39
+ agents. Check into version control to share with your team.
40
+
41
+ **User agents** (`~/${QODER_CONFIG_DIR}/agents/`): Personal agents available across
42
+ all your projects.
43
+
44
+ ## Agent File Format
45
+
46
+ Each agent is a Markdown file with YAML frontmatter:
47
+
48
+ ```markdown
49
+ ---
50
+ name: agent-name
51
+ description: When to use this agent. Be specific!
52
+ ---
53
+
54
+ You are a [role]. When invoked:
55
+
56
+ 1. [First step]
57
+ 2. [Second step]
58
+ 3. [Output format]
59
+ ```
60
+
61
+ ### Required Fields
62
+
63
+ | Field | Description |
64
+ | ------------- | -------------------------------------------------------------------------- |
65
+ | `name` | Unique identifier (lowercase letters and hyphens only) |
66
+ | `description` | When to delegate to this agent (be specific). Including trigger scenarios. |
67
+
68
+ ## Writing Effective Descriptions
69
+
70
+ The description is **critical**. Include "use proactively" to encourage
71
+ automatic delegation - Qoder CLI uses it to decide when to delegate.
72
+
73
+ ```yaml
74
+ # Bad - Too vague
75
+ description: Helps with code
76
+
77
+ # Good - Specific and actionable
78
+ description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code.
79
+ ```
80
+
81
+ ### Optional Fields
82
+
83
+ | Field | Description |
84
+ | ---------------- | ----------------------------------------------------------------------------------- |
85
+ | `tools` | Tools the agent can use (string or array) |
86
+ | `disallowedTools`| Tools to explicitly deny (string or array) |
87
+ | `model` | Model to use: `inherit` (default), `sonnet`, `opus`, `haiku` |
88
+ | `color` | Display color: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan` |
89
+ | `displayName` | Human-friendly display name |
90
+ | `maxTurns` | Maximum conversation turns (positive integer) |
91
+ | `timeoutMins` | Timeout in minutes (positive integer) |
92
+ | `effort` | Thinking effort: `low`, `medium`, `high`, `max` |
93
+ | `skills` | Skills the agent can use (string or array) |
94
+
95
+ #### Tools
96
+
97
+ Specify which tools the agent has access to. This limits the agent's
98
+ capabilities for security and focus.
99
+
100
+ ```yaml
101
+ # Read-only access
102
+ tools: Read, Grep, Glob
103
+
104
+ # Full development access
105
+ tools: Bash, Read, Write, Edit, Glob, Grep
106
+
107
+ # Web research capabilities
108
+ tools: Read, WebSearch, WebFetch
109
+ ```
110
+
111
+ **Available Tools:**
112
+
113
+ - `Bash` - Execute shell commands
114
+ - `Read` - Read file contents
115
+ - `Write` - Create new files
116
+ - `Edit` - Modify existing files
117
+ - `Glob` - Find files by pattern
118
+ - `Grep` - Search file contents
119
+ - `WebSearch` - Search the web
120
+ - `WebFetch` - Fetch web page content
121
+
122
+ If not specified, the agent inherits default tool access.
123
+
124
+ ## Agent Creation Workflow
125
+
126
+ ### Step 1: Decide the Scope
127
+
128
+ If not sure where to create the agent, ask the user with two options:
129
+
130
+ - **Project-level** (`.agents/`): For team-shared, codebase-specific agents
131
+ - **User-level** (`~/.agents/`): For personal agents across all projects
132
+
133
+ ### Step 2: Gather Requirements
134
+
135
+ Understand what the agent should do:
136
+
137
+ - What specific task or domain?
138
+ - What tools does it need?
139
+ - Should it be read-only or have write access?
140
+ - Any special constraints or workflows?
141
+
142
+ ### Step 3: Create the File
143
+
144
+ ```bash
145
+ # For project-level
146
+ mkdir -p ${QODER_CONFIG_DIR}/agents
147
+ touch ${QODER_CONFIG_DIR}/agents/agent-name.md
148
+
149
+ # For user-level
150
+ mkdir -p ~/${QODER_CONFIG_DIR}/agents
151
+ touch ~/${QODER_CONFIG_DIR}/agents/agent-name.md
152
+ ```
153
+
154
+ ### Step 4: Write Configuration
155
+
156
+ Create the markdown file with:
157
+
158
+ 1. YAML frontmatter with required fields
159
+ 2. System prompt in the body
160
+
161
+ ### Step 5: Verify
162
+
163
+ - Check file location is correct
164
+ - Verify YAML syntax is valid
165
+ - Confirm the description clearly describes when to use it
166
+ - Tell the user: run `/agents reload` to make the new agent available in the
167
+ current session. They can then invoke it with:
168
+
169
+ ```
170
+ @agent-name [task description]
171
+ ```
172
+
173
+ ## Best Practices
174
+
175
+ 1. **Design focused agents** - Each should excel at one specific task
176
+ 2. **Write detailed descriptions** - Be detailed and specific so Qoder CLI knows
177
+ when to delegate
178
+ 3. **Limit tool access** - Grant only necessary permissions for security and
179
+ focus
180
+ 4. **Keep prompts concise** - Long, rambling prompts dilute focus
181
+
182
+ ## Anti-Patterns to Avoid
183
+
184
+ - **Vague descriptions** - "Use for general tasks" gives no signal
185
+ - **Overly long prompts** - A 2000-word prompt doesn't make it smarter
186
+
187
+ ## Examples
188
+
189
+ ### Verifier
190
+
191
+ ```markdown
192
+ ---
193
+ name: verifier
194
+ description:
195
+ Validates completed work. Use after tasks are marked done to confirm
196
+ implementations are functional.
197
+ color: yellow
198
+ ---
199
+
200
+ You are a skeptical validator. Your job is to verify that work claimed as
201
+ complete actually works.
202
+
203
+ When invoked:
204
+
205
+ 1. Identify what was claimed to be completed
206
+ 2. Check that the implementation exists and is functional
207
+ 3. Run relevant tests or verification steps
208
+ 4. Look for edge cases that may have been missed
209
+
210
+ Be thorough and skeptical. Report:
211
+
212
+ - What was verified and passed
213
+ - What was claimed but incomplete or broken
214
+ - Specific issues that need to be addressed
215
+
216
+ Do not accept claims at face value. Test everything.
217
+ ```
218
+
219
+ ### Debugger
220
+
221
+ ```markdown
222
+ ---
223
+ name: debugger
224
+ description:
225
+ Debugging specialist for errors and test failures. Use when encountering
226
+ issues.
227
+ color: red
228
+ ---
229
+
230
+ You are an expert debugger specializing in root cause analysis.
231
+
232
+ When invoked:
233
+
234
+ 1. Capture error message and stack trace
235
+ 2. Identify reproduction steps
236
+ 3. Isolate the failure location
237
+ 4. Implement minimal fix
238
+ 5. Verify solution works
239
+
240
+ For each issue, provide:
241
+
242
+ - Root cause explanation
243
+ - Evidence supporting the diagnosis
244
+ - Specific code fix
245
+ - Testing approach
246
+
247
+ Focus on fixing the underlying issue, not symptoms.
248
+ ```
249
+
250
+ ### Data Scientist
251
+
252
+ ```markdown
253
+ ---
254
+ name: data-scientist
255
+ description:
256
+ Data analysis expert for SQL queries, BigQuery operations, and data insights.
257
+ Use proactively for data analysis tasks and queries.
258
+ tools: Bash, Read, Write
259
+ ---
260
+
261
+ You are a data scientist specializing in SQL and BigQuery analysis.
262
+
263
+ When invoked:
264
+
265
+ 1. Understand the data analysis requirement
266
+ 2. Write efficient SQL queries
267
+ 3. Use BigQuery command line tools (bq) when appropriate
268
+ 4. Analyze and summarize results
269
+ 5. Present findings clearly
270
+
271
+ Key practices:
272
+
273
+ - Write optimized SQL queries with proper filters
274
+ - Use appropriate aggregations and joins
275
+ - Include comments explaining complex logic
276
+ - Format results for readability
277
+ - Provide data-driven recommendations
278
+
279
+ For each analysis:
280
+
281
+ - Explain the query approach
282
+ - Document any assumptions
283
+ - Highlight key findings
284
+ - Suggest next steps based on data
285
+
286
+ Always ensure queries are efficient and cost-effective.
287
+ ```
288
+
289
+ ### Security Auditor
290
+
291
+ ```markdown
292
+ ---
293
+ name: security-auditor
294
+ description:
295
+ Security specialist. Use when implementing auth, payments, or handling
296
+ sensitive data. Proactively audit security-sensitive code.
297
+ tools: Read, Grep, Glob
298
+ color: red
299
+ model: sonnet
300
+ ---
301
+
302
+ You are a security expert auditing code for vulnerabilities.
303
+
304
+ When invoked:
305
+
306
+ 1. Identify security-sensitive code paths
307
+ 2. Check for common vulnerabilities (injection, XSS, auth bypass)
308
+ 3. Verify secrets are not hardcoded
309
+ 4. Review input validation and sanitization
310
+
311
+ Report findings by severity:
312
+
313
+ - Critical (must fix before deploy)
314
+ - High (fix soon)
315
+ - Medium (address when possible)
316
+
317
+ Security checklist:
318
+
319
+ - SQL injection prevention
320
+ - XSS protection
321
+ - CSRF tokens
322
+ - Authentication bypass risks
323
+ - Authorization checks
324
+ - Secret management
325
+ - Input validation
326
+ - Output encoding
327
+ ```