Skip to content

Commit 5da76f0

Browse files
committed
SD Proj Template INIT
1 parent 8bd1138 commit 5da76f0

135 files changed

Lines changed: 15235 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Environment Configuration Example
2+
# Copy this file to .env and update with your values
3+
4+
# Application Settings
5+
APP_NAME=lcm-automation
6+
APP_VERSION=0.1.0
7+
APP_ENV=development
8+
DEBUG=true
9+
10+
# Logging Configuration
11+
LOG_LEVEL=INFO
12+
LOG_FORMAT=json
13+
LOG_FILE=logs/app.log
14+
15+
# Database Configuration (if using database)
16+
# DATABASE_URL=postgresql://user:password@localhost:5432/lcm_automation
17+
# DATABASE_POOL_SIZE=10
18+
# DATABASE_ECHO=false
19+
20+
# API Configuration
21+
API_HOST=localhost
22+
API_PORT=8000
23+
API_SECRET_KEY=your-secret-key-here
24+
API_CORS_ORIGINS=["http://localhost:3000", "http://localhost:8080"]
25+
26+
# External Services
27+
# REDIS_URL=redis://localhost:6379/0
28+
# RABBITMQ_URL=amqp://guest:guest@localhost:5672/
29+
30+
# Monitoring and Observability
31+
# PROMETHEUS_PORT=9090
32+
# JAEGER_ENDPOINT=http://localhost:14268/api/traces
33+
34+
# Security
35+
JWT_SECRET_KEY=your-jwt-secret-key
36+
JWT_ALGORITHM=HS256
37+
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30
38+
39+
# Third-party API Keys (example)
40+
# EXTERNAL_API_KEY=your-api-key
41+
# EXTERNAL_API_URL=https://api.example.com
42+
43+
# Feature Flags
44+
ENABLE_ASYNC_PROCESSING=true
45+
ENABLE_MONITORING=true
46+
ENABLE_CACHE=false
47+
48+
# Development Settings
49+
DEV_RELOAD=true
50+
DEV_PROFILER=false

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text eol=lf

.pre-commit-config.yaml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v4.4.0
4+
hooks:
5+
- id: trailing-whitespace
6+
- id: end-of-file-fixer
7+
- id: check-yaml
8+
- id: check-added-large-files
9+
- id: check-merge-conflict
10+
- id: check-toml
11+
- id: debug-statements
12+
- id: detect-private-key
13+
14+
- repo: https://github.com/psf/black
15+
rev: 23.7.0
16+
hooks:
17+
- id: black
18+
language_version: python3
19+
args: [--line-length=88]
20+
21+
- repo: https://github.com/pycqa/isort
22+
rev: 5.12.0
23+
hooks:
24+
- id: isort
25+
args: [--profile, black, --line-length, "88"]
26+
27+
- repo: https://github.com/pycqa/flake8
28+
rev: 6.0.0
29+
hooks:
30+
- id: flake8
31+
args: [--max-line-length=88, --extend-ignore=E203,W503]
32+
33+
- repo: https://github.com/pre-commit/mirrors-mypy
34+
rev: v1.5.0
35+
hooks:
36+
- id: mypy
37+
additional_dependencies: [types-all]
38+
args: [--strict, --ignore-missing-imports]
39+
40+
- repo: https://github.com/PyCQA/bandit
41+
rev: 1.7.5
42+
hooks:
43+
- id: bandit
44+
args: [-r, src/]
45+
exclude: tests/
46+
47+
- repo: https://github.com/pycqa/pylint
48+
rev: v3.0.0
49+
hooks:
50+
- id: pylint
51+
args: [--rcfile=.pylintrc]
52+
53+
- repo: local
54+
hooks:
55+
- id: pytest
56+
name: pytest
57+
entry: pytest
58+
language: system
59+
types: [python]
60+
pass_filenames: false
61+
always_run: true

AGENTS.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# Create Project structure based ob below directories.
2+
3+
00_inbox
4+
01_project-charter
5+
02_research
6+
03_specifications
7+
04_planning
8+
05_design
9+
06_implementation
10+
07_testing
11+
08_release
12+
09_operations
13+
10_documentation
14+
11_retrospective
15+
12_risks
16+
README.md
17+
18+
# Create releavant files in each subfloder.
19+
20+
./10_documentation:
21+
total 0
22+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 user_guide.md
23+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 admin_guide.md
24+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 api_docs.md
25+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 faq.md
26+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 training.md
27+
28+
./11_retrospective:
29+
total 0
30+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 retro.md
31+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 postmortem.md
32+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 lessons_learned.md
33+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 metrics.md
34+
35+
./03_specifications:
36+
total 0
37+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 FSD.md
38+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 TSD.md
39+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 NFR.md
40+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 data_model.md
41+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 acceptance_criteria.md
42+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 API_contracts.md
43+
44+
./09_operations:
45+
total 0
46+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 sla_slo_sli.md
47+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 runbook.md
48+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 monitoring.md
49+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 incident_response.md
50+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 alerts.md
51+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 oncall_guide.md
52+
53+
./00_inbox:
54+
total 0
55+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 triage.md
56+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 meeting_notes.md
57+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 inbox.md
58+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 ideas.md
59+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 backlog.md
60+
61+
./01_project-charter:
62+
total 0
63+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 stakeholders.md
64+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 scope.md
65+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 constraints_assumptions.md
66+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 charter.md
67+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 business_case.md
68+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 README.md
69+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 communication_plan.md
70+
71+
./02_research:
72+
total 0
73+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 research_notes.md
74+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 literature_review.md
75+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 feasibility_spike.md
76+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 references.md
77+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 competitive_analysis.md
78+
79+
./07_testing:
80+
total 0
81+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 test_strategy.md
82+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 test_plan.md
83+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 test_cases.md
84+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 test_results.md
85+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 test_data.md
86+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 qa_report.md
87+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 bug_log.md
88+
89+
./06_implementation:
90+
total 0
91+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 development_plan.md
92+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 tasks_breakdown.md
93+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 coding_standards.md
94+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 dev_environment.md
95+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 branching_strategy.md
96+
97+
./04_planning:
98+
total 0
99+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 roadmap.md
100+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 milestones.md
101+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 WBS.md
102+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 estimates.md
103+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 schedule.md
104+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 risk_register.md
105+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 RAID_log.md
106+
107+
./08_release:
108+
total 0
109+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 rollback_plan.md
110+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 release_plan.md
111+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 release_notes.md
112+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 deployment_checklist.md
113+
114+
./12_risks:
115+
total 0
116+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 risk_register.md
117+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 assumptions.md
118+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 dependencies.md
119+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 decisions_log.md
120+
121+
./05_design:
122+
total 0
123+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 solution_design.md
124+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 sequence_diagrams.md
125+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 component_design.md
126+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 architecture.md
127+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 ui_wireframes.md
128+
-rwxrwxrwx 1 h9ns28 adminsap 7 Sep 12 10:00 data_flow_diagrams.md
129+
130+
131+
# Create a template for each file in each subfolder, based on folder name and file name.
132+
# Create a python project directory struture as well on the root direcotry of the project. It should not be numbered like above folder namings.
133+
# Create a golang project directory struture as well on the root direcotry of the project. It should not be numbered like above folder namings.
134+
# Create a rust project directory struture as well on the root direcotry of the project. It should not be numbered like above folder namings.

Makefile

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
.PHONY: help install install-dev test test-coverage lint format clean build docs serve-docs
2+
3+
# Default target
4+
help:
5+
@echo "Available targets:"
6+
@echo " install - Install package dependencies"
7+
@echo " install-dev - Install package with development dependencies"
8+
@echo " test - Run tests"
9+
@echo " test-coverage - Run tests with coverage report"
10+
@echo " lint - Run linting checks"
11+
@echo " format - Format code with black and isort"
12+
@echo " clean - Clean build artifacts"
13+
@echo " build - Build package"
14+
@echo " docs - Build documentation"
15+
@echo " serve-docs - Serve documentation locally"
16+
17+
# Installation
18+
install:
19+
pip install -e .
20+
21+
install-dev:
22+
pip install -e ".[dev,test,docs]"
23+
pre-commit install
24+
25+
# Testing
26+
test:
27+
pytest tests/
28+
29+
test-coverage:
30+
pytest --cov=src/lcm_automation --cov-report=html --cov-report=term tests/
31+
32+
test-unit:
33+
pytest tests/unit/
34+
35+
test-integration:
36+
pytest tests/integration/
37+
38+
test-e2e:
39+
pytest tests/e2e/
40+
41+
# Code quality
42+
lint:
43+
flake8 src/ tests/
44+
mypy src/
45+
black --check src/ tests/
46+
isort --check-only src/ tests/
47+
48+
format:
49+
black src/ tests/
50+
isort src/ tests/
51+
52+
check-security:
53+
bandit -r src/
54+
safety check
55+
56+
# Cleaning
57+
clean:
58+
rm -rf build/
59+
rm -rf dist/
60+
rm -rf *.egg-info/
61+
rm -rf .pytest_cache/
62+
rm -rf .mypy_cache/
63+
rm -rf htmlcov/
64+
find . -type d -name __pycache__ -delete
65+
find . -type f -name "*.pyc" -delete
66+
67+
# Building
68+
build: clean
69+
python -m build
70+
71+
# Documentation
72+
docs:
73+
cd docs && make html
74+
75+
serve-docs:
76+
cd docs/build/html && python -m http.server 8000
77+
78+
# Development utilities
79+
setup-env:
80+
python -m venv .venv
81+
@echo "Virtual environment created. Activate with:"
82+
@echo "source .venv/bin/activate # On Linux/Mac"
83+
@echo ".venv\\Scripts\\activate # On Windows"
84+
85+
run-examples:
86+
python examples/basic_usage.py
87+
88+
benchmark:
89+
python -m pytest benchmarks/ --benchmark-only

assets/apm-graph.png

380 KB
Loading

assets/apm-workflow-diagram.png

937 KB
Loading

assets/cobuter-man.png

60.4 KB
Loading

0 commit comments

Comments
 (0)