forked from dewitt4/llmguardian
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
112 lines (95 loc) · 1.85 KB
/
setup.sh
File metadata and controls
112 lines (95 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/bin/bash
# setup_project.sh
# Script to set up the LLMGuardian project structure
# Create main project directory
mkdir -p LLMGuardian
cd LLMGuardian
# Create GitHub directory
mkdir -p .github
# Create source directory structure
mkdir -p src/llmguardian/{cli,scanners,defenders,monitors,api,utils,core}
touch src/llmguardian/__init__.py
touch src/llmguardian/cli/__init__.py
touch src/llmguardian/scanners/__init__.py
touch src/llmguardian/defenders/__init__.py
touch src/llmguardian/monitors/__init__.py
touch src/llmguardian/api/__init__.py
touch src/llmguardian/utils/__init__.py
touch src/llmguardian/core/__init__.py
# Create requirements directory and files
mkdir -p requirements
echo "# Core dependencies
click>=8.1.0
rich>=13.0.0
pathlib>=1.0.1
dataclasses>=0.6
typing>=3.7.4
enum34>=1.1.10" > requirements/base.txt
echo "-r base.txt
pytest>=7.0.0
pytest-cov>=4.0.0
black>=23.0.0
flake8>=6.0.0
mypy>=1.0.0
isort>=5.0.0" > requirements/dev.txt
echo "-r base.txt
pytest>=7.0.0
pytest-cov>=4.0.0
pytest-mock>=3.10.0
coverage>=7.2.0" > requirements/test.txt
echo "-r requirements/base.txt" > requirements.txt
# Create test directory structure
mkdir -p tests/{unit,integration,security}
touch tests/__init__.py
touch tests/conftest.py
# Create documentation directory
mkdir -p docs/{api,guides,security,examples}
# Create other necessary files
touch setup.py
touch README.md
touch CONTRIBUTING.md
touch LICENSE
touch .gitignore
# Create basic .gitignore content
echo "# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# Virtual Environment
venv/
env/
ENV/
# IDE
.idea/
.vscode/
*.swp
*.swo
# Testing
.coverage
htmlcov/
.tox/
.pytest_cache/
# Distribution
*.tar.gz
*.whl
# Logs
*.log
" > .gitignore
echo "Project structure created successfully!"