deepsweep-ai 1.0.0__tar.gz

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.
Files changed (54) hide show
  1. deepsweep_ai-1.0.0/.gitignore +421 -0
  2. deepsweep_ai-1.0.0/LICENSE +21 -0
  3. deepsweep_ai-1.0.0/PKG-INFO +224 -0
  4. deepsweep_ai-1.0.0/README.md +179 -0
  5. deepsweep_ai-1.0.0/pyproject.toml +177 -0
  6. deepsweep_ai-1.0.0/src/deepsweep/__init__.py +25 -0
  7. deepsweep_ai-1.0.0/src/deepsweep/__main__.py +6 -0
  8. deepsweep_ai-1.0.0/src/deepsweep/cli.py +617 -0
  9. deepsweep_ai-1.0.0/src/deepsweep/cli_mcp.py +130 -0
  10. deepsweep_ai-1.0.0/src/deepsweep/commands/__init__.py +7 -0
  11. deepsweep_ai-1.0.0/src/deepsweep/commands/badge.py +191 -0
  12. deepsweep_ai-1.0.0/src/deepsweep/commands/doctor.py +80 -0
  13. deepsweep_ai-1.0.0/src/deepsweep/commands/init.py +68 -0
  14. deepsweep_ai-1.0.0/src/deepsweep/commands/share.py +252 -0
  15. deepsweep_ai-1.0.0/src/deepsweep/community.py +27 -0
  16. deepsweep_ai-1.0.0/src/deepsweep/constants.py +74 -0
  17. deepsweep_ai-1.0.0/src/deepsweep/exceptions.py +38 -0
  18. deepsweep_ai-1.0.0/src/deepsweep/mcp/__init__.py +25 -0
  19. deepsweep_ai-1.0.0/src/deepsweep/mcp/discovery.py +144 -0
  20. deepsweep_ai-1.0.0/src/deepsweep/mcp/validator.py +222 -0
  21. deepsweep_ai-1.0.0/src/deepsweep/models.py +159 -0
  22. deepsweep_ai-1.0.0/src/deepsweep/output.py +526 -0
  23. deepsweep_ai-1.0.0/src/deepsweep/patterns.py +263 -0
  24. deepsweep_ai-1.0.0/src/deepsweep/plain_english.py +144 -0
  25. deepsweep_ai-1.0.0/src/deepsweep/py.typed +0 -0
  26. deepsweep_ai-1.0.0/src/deepsweep/quota.py +368 -0
  27. deepsweep_ai-1.0.0/src/deepsweep/reputation/api_client.py +374 -0
  28. deepsweep_ai-1.0.0/src/deepsweep/reputation/local_store.py +186 -0
  29. deepsweep_ai-1.0.0/src/deepsweep/reputation/metrics.py +159 -0
  30. deepsweep_ai-1.0.0/src/deepsweep/telemetry/__init__.py +176 -0
  31. deepsweep_ai-1.0.0/src/deepsweep/telemetry/config.py +230 -0
  32. deepsweep_ai-1.0.0/src/deepsweep/telemetry/events.py +212 -0
  33. deepsweep_ai-1.0.0/src/deepsweep/telemetry/threat.py +305 -0
  34. deepsweep_ai-1.0.0/src/deepsweep/validator.py +157 -0
  35. deepsweep_ai-1.0.0/tests/__init__.py +0 -0
  36. deepsweep_ai-1.0.0/tests/conftest.py +60 -0
  37. deepsweep_ai-1.0.0/tests/fixtures/copilot_instructions_bad.md +22 -0
  38. deepsweep_ai-1.0.0/tests/fixtures/copilot_instructions_safe.md +25 -0
  39. deepsweep_ai-1.0.0/tests/fixtures/cursorrules_malicious.txt +15 -0
  40. deepsweep_ai-1.0.0/tests/fixtures/cursorrules_safe.txt +22 -0
  41. deepsweep_ai-1.0.0/tests/fixtures/mcp_config_poisoned.json +18 -0
  42. deepsweep_ai-1.0.0/tests/fixtures/mcp_config_safe.json +12 -0
  43. deepsweep_ai-1.0.0/tests/test_backward_compatibility.py +235 -0
  44. deepsweep_ai-1.0.0/tests/test_cli.py +91 -0
  45. deepsweep_ai-1.0.0/tests/test_cli_mcp.py +51 -0
  46. deepsweep_ai-1.0.0/tests/test_mcp_discovery.py +101 -0
  47. deepsweep_ai-1.0.0/tests/test_mcp_validator.py +128 -0
  48. deepsweep_ai-1.0.0/tests/test_output.py +345 -0
  49. deepsweep_ai-1.0.0/tests/test_patterns.py +78 -0
  50. deepsweep_ai-1.0.0/tests/test_quick_wins.py +85 -0
  51. deepsweep_ai-1.0.0/tests/test_quota.py +455 -0
  52. deepsweep_ai-1.0.0/tests/test_reputation.py +522 -0
  53. deepsweep_ai-1.0.0/tests/test_telemetry.py +665 -0
  54. deepsweep_ai-1.0.0/tests/test_validator.py +124 -0
@@ -0,0 +1,421 @@
1
+ # ============================================================================
2
+ # DeepSweep .gitignore
3
+ # Comprehensive Python project gitignore - 30-year veteran edition
4
+ # ============================================================================
5
+
6
+ # ============================================================================
7
+ # Python
8
+ # ============================================================================
9
+
10
+ # Byte-compiled / optimized / DLL files
11
+ __pycache__/
12
+ *.py[cod]
13
+ *$py.class
14
+
15
+ # C extensions
16
+ *.so
17
+
18
+ # Distribution / packaging
19
+ .Python
20
+ build/
21
+ develop-eggs/
22
+ dist/
23
+ downloads/
24
+ eggs/
25
+ .eggs/
26
+ lib/
27
+ lib64/
28
+ parts/
29
+ sdist/
30
+ var/
31
+ wheels/
32
+ share/python-wheels/
33
+ *.egg-info/
34
+ .installed.cfg
35
+ *.egg
36
+ MANIFEST
37
+ pip-wheel-metadata/
38
+
39
+ # PyInstaller
40
+ *.manifest
41
+ *.spec
42
+
43
+ # Installer logs
44
+ pip-log.txt
45
+ pip-delete-this-directory.txt
46
+
47
+ # Unit test / coverage reports
48
+ htmlcov/
49
+ .tox/
50
+ .nox/
51
+ .coverage
52
+ .coverage.*
53
+ .cache
54
+ nosetests.xml
55
+ coverage.xml
56
+ *.cover
57
+ *.py,cover
58
+ .hypothesis/
59
+ .pytest_cache/
60
+ cover/
61
+ .coverage.*
62
+ coverage/
63
+ *.lcov
64
+ .nyc_output/
65
+
66
+ # Translations
67
+ *.mo
68
+ *.pot
69
+
70
+ # Django stuff:
71
+ *.log
72
+ local_settings.py
73
+ db.sqlite3
74
+ db.sqlite3-journal
75
+
76
+ # Flask stuff:
77
+ instance/
78
+ .webassets-cache
79
+
80
+ # Scrapy stuff:
81
+ .scrapy
82
+
83
+ # Sphinx documentation
84
+ docs/_build/
85
+ docs/_static/
86
+ docs/_templates/
87
+
88
+ # PyBuilder
89
+ .pybuilder/
90
+ target/
91
+
92
+ # Jupyter Notebook
93
+ .ipynb_checkpoints
94
+ *.ipynb
95
+
96
+ # IPython
97
+ profile_default/
98
+ ipython_config.py
99
+
100
+ # pyenv
101
+ # For a library or package, you might want to ignore these files since the code is
102
+ # intended to run in multiple environments; otherwise, check them in:
103
+ .python-version
104
+
105
+ # pipenv
106
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
107
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
108
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
109
+ # install all needed dependencies.
110
+ Pipfile.lock
111
+
112
+ # poetry
113
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
114
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
115
+ # commonly ignored for libraries.
116
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
117
+ poetry.lock
118
+
119
+ # pdm
120
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
121
+ .pdm.toml
122
+ .pdm-python
123
+ .pdm-build/
124
+
125
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
126
+ __pypackages__/
127
+
128
+ # Celery stuff
129
+ celerybeat-schedule
130
+ celerybeat.pid
131
+
132
+ # SageMath parsed files
133
+ *.sage.py
134
+
135
+ # Environments
136
+ .env
137
+ .env.local
138
+ .env.*.local
139
+ .venv
140
+ env/
141
+ venv/
142
+ ENV/
143
+ env.bak/
144
+ venv.bak/
145
+ .envrc
146
+
147
+ # Spyder project settings
148
+ .spyderproject
149
+ .spyproject
150
+
151
+ # Rope project settings
152
+ .ropeproject
153
+
154
+ # mkdocs documentation
155
+ /site
156
+
157
+ # mypy
158
+ .mypy_cache/
159
+ .dmypy.json
160
+ dmypy.json
161
+
162
+ # Pyre type checker
163
+ .pyre/
164
+
165
+ # pytype static type analyzer
166
+ .pytype/
167
+
168
+ # Cython debug symbols
169
+ cython_debug/
170
+
171
+ # PyCharm
172
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
173
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
174
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
175
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
176
+ .idea/
177
+
178
+ # ============================================================================
179
+ # Ruff
180
+ # ============================================================================
181
+ .ruff_cache/
182
+
183
+ # ============================================================================
184
+ # IDEs and Editors
185
+ # ============================================================================
186
+
187
+ # Visual Studio Code
188
+ .vscode/
189
+ !.vscode/settings.json
190
+ !.vscode/tasks.json
191
+ !.vscode/launch.json
192
+ !.vscode/extensions.json
193
+ !.vscode/*.code-snippets
194
+ *.code-workspace
195
+ .history/
196
+
197
+ # Sublime Text
198
+ *.sublime-project
199
+ *.sublime-workspace
200
+ *.tmlanguage.cache
201
+ *.tmPreferences.cache
202
+ *.stTheme.cache
203
+ *.sublime_session
204
+ *.sublime_metrics
205
+ *.sublime_workspace
206
+
207
+ # Vim
208
+ [._]*.s[a-v][a-z]
209
+ [._]*.sw[a-p]
210
+ [._]s[a-rt-v][a-z]
211
+ [._]ss[a-gi-z]
212
+ [._]sw[a-p]
213
+ Session.vim
214
+ Sessionx.vim
215
+ .netrwhist
216
+ *~
217
+ tags
218
+ [._]*.un~
219
+
220
+ # Emacs
221
+ *~
222
+ \#*\#
223
+ /.emacs.desktop
224
+ /.emacs.desktop.lock
225
+ *.elc
226
+ auto-save-list
227
+ tramp
228
+ .\#*
229
+ .org-id-locations
230
+ *_archive
231
+ *_flymake.*
232
+ /eshell/history
233
+ /eshell/lastdir
234
+ /elpa/
235
+ *.rel
236
+ /auto/
237
+ .cask/
238
+ flycheck_*.el
239
+
240
+ # ============================================================================
241
+ # Operating Systems
242
+ # ============================================================================
243
+
244
+ # macOS
245
+ .DS_Store
246
+ .AppleDouble
247
+ .LSOverride
248
+ ._*
249
+ .DocumentRevisions-V100
250
+ .fseventsd
251
+ .Spotlight-V100
252
+ .TemporaryItems
253
+ .Trashes
254
+ .VolumeIcon.icns
255
+ .com.apple.timemachine.donotpresent
256
+ .AppleDB
257
+ .AppleDesktop
258
+ Network Trash Folder
259
+ Temporary Items
260
+ .apdisk
261
+
262
+ # Windows
263
+ Thumbs.db
264
+ Thumbs.db:encryptable
265
+ ehthumbs.db
266
+ ehthumbs_vista.db
267
+ *.stackdump
268
+ [Dd]esktop.ini
269
+ $RECYCLE.BIN/
270
+ *.cab
271
+ *.msi
272
+ *.msix
273
+ *.msm
274
+ *.msp
275
+ *.lnk
276
+
277
+ # Linux
278
+ .fuse_hidden*
279
+ .directory
280
+ .Trash-*
281
+ .nfs*
282
+
283
+ # ============================================================================
284
+ # Project Specific
285
+ # ============================================================================
286
+
287
+ # DeepSweep validation outputs
288
+ *.sarif
289
+ results.sarif
290
+ deepsweep-results.json
291
+ deepsweep-report.html
292
+ badge.svg
293
+ .cursorrules
294
+
295
+ # Logs
296
+ *.log
297
+ logs/
298
+ *.log.*
299
+
300
+ # Temporary files
301
+ *.tmp
302
+ *.temp
303
+ *.swp
304
+ *.swo
305
+ .deepsweep/
306
+ .deepsweep-cache/
307
+
308
+ # Security sensitive files (should never be committed)
309
+ *.pem
310
+ *.key
311
+ *.cert
312
+ *.crt
313
+ *.p12
314
+ *.pfx
315
+ secrets.yml
316
+ secrets.yaml
317
+ .secrets
318
+
319
+ # Database files
320
+ *.db
321
+ *.sqlite
322
+ *.sqlite3
323
+
324
+ # Backup files
325
+ *.bak
326
+ *.backup
327
+ *.old
328
+ *.orig
329
+
330
+ # Archives (usually build artifacts)
331
+ *.zip
332
+ *.tar
333
+ *.tar.gz
334
+ *.tgz
335
+ *.tar.bz2
336
+ *.7z
337
+ *.rar
338
+
339
+ # ============================================================================
340
+ # CI/CD and Build Tools
341
+ # ============================================================================
342
+
343
+ # GitHub Actions
344
+ .github/workflows/*.log
345
+
346
+ # Docker
347
+ .dockerignore
348
+ docker-compose.override.yml
349
+ .docker/
350
+
351
+ # Terraform
352
+ *.tfstate
353
+ *.tfstate.*
354
+ .terraform/
355
+ .terraform.lock.hcl
356
+
357
+ # ============================================================================
358
+ # Security and Audit
359
+ # ============================================================================
360
+
361
+ # npm audit
362
+ npm-debug.log*
363
+ yarn-debug.log*
364
+ yarn-error.log*
365
+ .npm
366
+
367
+ # Safety database
368
+ .safety-policy.yml
369
+
370
+ # Bandit
371
+ .bandit
372
+
373
+ # ============================================================================
374
+ # Miscellaneous
375
+ # ============================================================================
376
+
377
+ # Patches
378
+ *.patch
379
+ *.diff
380
+
381
+ # Node (if used for tooling)
382
+ node_modules/
383
+ package-lock.json
384
+
385
+ # GPG
386
+ *.asc
387
+
388
+ # ctags
389
+ .tags
390
+ .tags1
391
+ TAGS
392
+
393
+ # direnv
394
+ .direnv/
395
+
396
+ # asdf
397
+ .tool-versions
398
+
399
+ # Local configuration
400
+ local_config.py
401
+ local_settings.py
402
+ .local/
403
+
404
+ # Benchmarks
405
+ benchmarks/results/
406
+ *.bench
407
+
408
+ # macOS
409
+ .DS_Store
410
+
411
+ # Python
412
+ __pycache__/
413
+ *.pyc
414
+ .pytest_cache/
415
+ .coverage
416
+ coverage.xml
417
+ htmlcov/
418
+
419
+ # Security validation artifacts
420
+ *.sarif
421
+ mcp.json
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 DeepSweep
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,224 @@
1
+ Metadata-Version: 2.4
2
+ Name: deepsweep-ai
3
+ Version: 1.0.0
4
+ Summary: Security validation for AI coding assistants. You don't need to understand the code to secure it.
5
+ Project-URL: Homepage, https://deepsweep.ai
6
+ Project-URL: Documentation, https://docs.deepsweep.ai
7
+ Project-URL: Repository, https://github.com/deepsweep-ai/deepsweep
8
+ Project-URL: Changelog, https://github.com/deepsweep-ai/deepsweep/blob/main/CHANGELOG.md
9
+ Project-URL: Issues, https://github.com/deepsweep-ai/deepsweep/issues
10
+ Author-email: DeepSweep <security@deepsweep.ai>
11
+ Maintainer-email: DeepSweep <security@deepsweep.ai>
12
+ License: MIT
13
+ License-File: LICENSE
14
+ Keywords: ai,claude,copilot,cursor,linting,mcp,security,validation,vibe-coding,windsurf
15
+ Classifier: Development Status :: 5 - Production/Stable
16
+ Classifier: Environment :: Console
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Topic :: Security
26
+ Classifier: Topic :: Software Development :: Quality Assurance
27
+ Classifier: Typing :: Typed
28
+ Requires-Python: >=3.10
29
+ Requires-Dist: click>=8.1.0
30
+ Requires-Dist: posthog>=3.0.0
31
+ Requires-Dist: pydantic>=2.0.0
32
+ Requires-Dist: pyyaml>=6.0
33
+ Requires-Dist: rich>=13.0.0
34
+ Provides-Extra: dev
35
+ Requires-Dist: mypy>=1.0.0; extra == 'dev'
36
+ Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
37
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
38
+ Requires-Dist: pytest-xdist>=3.0.0; extra == 'dev'
39
+ Requires-Dist: pytest>=8.0.0; extra == 'dev'
40
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
41
+ Provides-Extra: docs
42
+ Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
43
+ Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
44
+ Description-Content-Type: text/markdown
45
+
46
+ # DeepSweep
47
+
48
+ **Security validation for AI coding assistants**
49
+
50
+ [![PyPI version](https://badge.fury.io/py/deepsweep-ai.svg)](https://pypi.org/project/deepsweep-ai/)
51
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
52
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
53
+
54
+ DeepSweep validates your AI assistant configurations (Cursor, Windsurf, GitHub Copilot, Claude Code) for security vulnerabilities before they can cause harm.
55
+
56
+ ## Quick Start
57
+ ```bash
58
+ pip install deepsweep-ai
59
+ deepsweep validate
60
+ ```
61
+
62
+ DeepSweep automatically finds and validates:
63
+
64
+ - `.cursorrules` / `.windsurfrules` / `AGENTS.md`
65
+ - MCP configurations (`mcp.json`, `claude_desktop_config.json`)
66
+ - 46 security patterns including prompt injection, MCP attacks, and data exfiltration
67
+
68
+ ## What's New in v0.2.0
69
+
70
+ - **MCP Security Validation** - 7 new patterns for Model Context Protocol configs
71
+ - **deepsweep mcp list** - Discover all MCP configurations on your system
72
+ - **deepsweep mcp validate** - Dedicated MCP security scanning
73
+ - **deepsweep init** - Create secure starter templates
74
+ - **deepsweep doctor** - Check installation health
75
+ - **deepsweep badge** - Generate repository security badges
76
+
77
+ ## Example Output
78
+ DEEPSWEEP Security Report
79
+ ──────────────────────────────────────────────────────
80
+ Score: ████████████████████████░░░░░░ 80/100
81
+ Grade: B
82
+ Found 2 issue(s):
83
+ [HIGH] DS-MCP-001: Unverified MCP server: @random/untrusted
84
+ > Use @modelcontextprotocol/* servers or verify source
85
+ [MEDIUM] DS-MCP-003: Unpinned MCP server version
86
+ > Pin version: @server@1.2.3
87
+ ──────────────────────────────────────────────────────
88
+ Run with --fix to see remediation suggestions
89
+
90
+ ## Security Patterns
91
+
92
+ ### Rules File Patterns (39)
93
+
94
+ | ID | Severity | Description |
95
+ |----|----------|-------------|
96
+ | DS-PI-001 | Critical | Prompt injection attempt |
97
+ | DS-PI-002 | Critical | System prompt extraction |
98
+ | DS-DATA-001 | High | Sensitive data exposure |
99
+ | DS-EXEC-001 | Critical | Arbitrary code execution |
100
+
101
+ See full list at https://deepsweep.ai/patterns
102
+
103
+ ### MCP Patterns (7)
104
+
105
+ | ID | Severity | Description |
106
+ |----|----------|-------------|
107
+ | DS-MCP-001 | High | Unverified MCP server source |
108
+ | DS-MCP-002 | Critical | Dangerous command arguments |
109
+ | DS-MCP-003 | Medium | Unpinned server version |
110
+ | DS-MCP-004 | High | Using @latest tag |
111
+ | DS-MCP-005 | High | Auto-approve enabled |
112
+ | DS-MCP-006 | Critical | Shell command execution |
113
+ | DS-MCP-007 | Critical | Network exfiltration risk |
114
+
115
+ ## Commands
116
+
117
+ ### deepsweep validate [PATH]
118
+ ```bash
119
+ deepsweep validate # Current directory
120
+ deepsweep validate /path/to/project # Specific path
121
+ deepsweep validate --include-mcp # Include MCP validation
122
+ deepsweep validate --fix # Show fix suggestions
123
+ deepsweep validate --format json # JSON output for CI/CD
124
+ ```
125
+
126
+ ### deepsweep mcp list
127
+ ```bash
128
+ deepsweep mcp list
129
+ ```
130
+
131
+ ### deepsweep mcp validate
132
+ ```bash
133
+ deepsweep mcp validate
134
+ deepsweep mcp validate --fix
135
+ deepsweep mcp validate --format json
136
+ ```
137
+
138
+ ### deepsweep init
139
+ ```bash
140
+ deepsweep init # Create .cursorrules
141
+ deepsweep init --type python # Project type
142
+ deepsweep init --include-mcp # Include MCP template
143
+ deepsweep init --force # Overwrite existing
144
+ ```
145
+
146
+ ### deepsweep doctor
147
+ ```bash
148
+ deepsweep doctor
149
+ ```
150
+
151
+ ### deepsweep badge
152
+ ```bash
153
+ deepsweep badge
154
+ deepsweep badge --format markdown
155
+ deepsweep badge --format html
156
+ ```
157
+
158
+ ## Security Badges
159
+
160
+ Add a DeepSweep badge to your README:
161
+ ```markdown
162
+ [![DeepSweep Validated](https://img.shields.io/badge/DeepSweep-A%20100%2F100-brightgreen)](https://deepsweep.ai)
163
+ ```
164
+
165
+ Generate yours:
166
+ ```bash
167
+ deepsweep validate && deepsweep badge
168
+ ```
169
+
170
+ ## CI/CD Integration
171
+
172
+ ### GitHub Actions
173
+ ```yaml
174
+ name: AI Security Check
175
+ on: [push, pull_request]
176
+
177
+ jobs:
178
+ deepsweep:
179
+ runs-on: ubuntu-latest
180
+ steps:
181
+ - uses: actions/checkout@v4
182
+ - uses: actions/setup-python@v5
183
+ with:
184
+ python-version: '3.11'
185
+ - run: pip install deepsweep-ai
186
+ - run: deepsweep validate --include-mcp --format json
187
+ ```
188
+
189
+ ### Pre-commit Hook
190
+ ```yaml
191
+ repos:
192
+ - repo: local
193
+ hooks:
194
+ - id: deepsweep
195
+ name: DeepSweep Security Check
196
+ entry: deepsweep validate
197
+ language: system
198
+ pass_filenames: false
199
+ ```
200
+
201
+ ## Privacy
202
+
203
+ - **Your code never leaves your machine** - Only pattern IDs and scores transmitted
204
+ - **Anonymous by default** - No personal information collected
205
+ - **Opt-out anytime** - Set `DO_NOT_TRACK=1`
206
+ - **Offline mode** - Set `DEEPSWEEP_OFFLINE=1`
207
+
208
+ Learn more: https://deepsweep.ai/privacy
209
+
210
+ ## Contributing
211
+
212
+ See CONTRIBUTING.md for guidelines.
213
+
214
+ - Report bugs: GitHub Issues
215
+ - Request features: GitHub Discussions
216
+ - Security issues: security@deepsweep.ai
217
+
218
+ ## License
219
+
220
+ MIT License - see LICENSE for details.
221
+
222
+ ---
223
+
224
+ **Made by DeepSweep** | https://deepsweep.ai