@vyuhlabs/dxkit 2.4.8 → 2.5.0
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/CHANGELOG.md +235 -0
- package/README.md +360 -439
- package/dist/analyzers/security/aggregator.d.ts.map +1 -1
- package/dist/analyzers/security/aggregator.js +4 -46
- package/dist/analyzers/security/aggregator.js.map +1 -1
- package/dist/analyzers/tools/fingerprint.d.ts +91 -26
- package/dist/analyzers/tools/fingerprint.d.ts.map +1 -1
- package/dist/analyzers/tools/fingerprint.js +111 -22
- package/dist/analyzers/tools/fingerprint.js.map +1 -1
- package/dist/analyzers/tools/generic.d.ts.map +1 -1
- package/dist/analyzers/tools/generic.js +6 -1
- package/dist/analyzers/tools/generic.js.map +1 -1
- package/dist/analyzers/tools/gitleaks.d.ts +24 -1
- package/dist/analyzers/tools/gitleaks.d.ts.map +1 -1
- package/dist/analyzers/tools/gitleaks.js +20 -11
- package/dist/analyzers/tools/gitleaks.js.map +1 -1
- package/dist/analyzers/types.d.ts +6 -4
- package/dist/analyzers/types.d.ts.map +1 -1
- package/dist/baseline/baseline-file.d.ts +104 -0
- package/dist/baseline/baseline-file.d.ts.map +1 -0
- package/dist/baseline/baseline-file.js +110 -0
- package/dist/baseline/baseline-file.js.map +1 -0
- package/dist/baseline/check-renderers.d.ts +108 -0
- package/dist/baseline/check-renderers.d.ts.map +1 -0
- package/dist/baseline/check-renderers.js +379 -0
- package/dist/baseline/check-renderers.js.map +1 -0
- package/dist/baseline/check.d.ts +127 -0
- package/dist/baseline/check.d.ts.map +1 -0
- package/dist/baseline/check.js +462 -0
- package/dist/baseline/check.js.map +1 -0
- package/dist/baseline/content-hash.d.ts +83 -0
- package/dist/baseline/content-hash.d.ts.map +1 -0
- package/dist/baseline/content-hash.js +131 -0
- package/dist/baseline/content-hash.js.map +1 -0
- package/dist/baseline/create.d.ts +96 -0
- package/dist/baseline/create.d.ts.map +1 -0
- package/dist/baseline/create.js +339 -0
- package/dist/baseline/create.js.map +1 -0
- package/dist/baseline/entry-to-located.d.ts +35 -0
- package/dist/baseline/entry-to-located.d.ts.map +1 -0
- package/dist/baseline/entry-to-located.js +72 -0
- package/dist/baseline/entry-to-located.js.map +1 -0
- package/dist/baseline/finding-identity.d.ts +47 -0
- package/dist/baseline/finding-identity.d.ts.map +1 -0
- package/dist/baseline/finding-identity.js +292 -0
- package/dist/baseline/finding-identity.js.map +1 -0
- package/dist/baseline/git-aware-match.d.ts +146 -0
- package/dist/baseline/git-aware-match.d.ts.map +1 -0
- package/dist/baseline/git-aware-match.js +439 -0
- package/dist/baseline/git-aware-match.js.map +1 -0
- package/dist/baseline/policy.d.ts +171 -0
- package/dist/baseline/policy.d.ts.map +1 -0
- package/dist/baseline/policy.js +206 -0
- package/dist/baseline/policy.js.map +1 -0
- package/dist/baseline/producers/health.d.ts +30 -0
- package/dist/baseline/producers/health.d.ts.map +1 -0
- package/dist/baseline/producers/health.js +42 -0
- package/dist/baseline/producers/health.js.map +1 -0
- package/dist/baseline/producers/index.d.ts +164 -0
- package/dist/baseline/producers/index.d.ts.map +1 -0
- package/dist/baseline/producers/index.js +200 -0
- package/dist/baseline/producers/index.js.map +1 -0
- package/dist/baseline/producers/licenses.d.ts +23 -0
- package/dist/baseline/producers/licenses.d.ts.map +1 -0
- package/dist/baseline/producers/licenses.js +46 -0
- package/dist/baseline/producers/licenses.js.map +1 -0
- package/dist/baseline/producers/quality.d.ts +39 -0
- package/dist/baseline/producers/quality.d.ts.map +1 -0
- package/dist/baseline/producers/quality.js +84 -0
- package/dist/baseline/producers/quality.js.map +1 -0
- package/dist/baseline/producers/secret-hmac.d.ts +45 -0
- package/dist/baseline/producers/secret-hmac.d.ts.map +1 -0
- package/dist/baseline/producers/secret-hmac.js +70 -0
- package/dist/baseline/producers/secret-hmac.js.map +1 -0
- package/dist/baseline/producers/security.d.ts +59 -0
- package/dist/baseline/producers/security.d.ts.map +1 -0
- package/dist/baseline/producers/security.js +135 -0
- package/dist/baseline/producers/security.js.map +1 -0
- package/dist/baseline/producers/tests.d.ts +36 -0
- package/dist/baseline/producers/tests.d.ts.map +1 -0
- package/dist/baseline/producers/tests.js +69 -0
- package/dist/baseline/producers/tests.js.map +1 -0
- package/dist/baseline/salt.d.ts +45 -0
- package/dist/baseline/salt.d.ts.map +1 -0
- package/dist/baseline/salt.js +113 -0
- package/dist/baseline/salt.js.map +1 -0
- package/dist/baseline/show.d.ts +79 -0
- package/dist/baseline/show.d.ts.map +1 -0
- package/dist/baseline/show.js +233 -0
- package/dist/baseline/show.js.map +1 -0
- package/dist/baseline/types.d.ts +482 -0
- package/dist/baseline/types.d.ts.map +1 -0
- package/dist/baseline/types.js +53 -0
- package/dist/baseline/types.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +360 -81
- package/dist/cli.js.map +1 -1
- package/dist/codebase-scanner.d.ts.map +1 -1
- package/dist/codebase-scanner.js +0 -1
- package/dist/codebase-scanner.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -4
- package/dist/constants.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +22 -25
- package/dist/doctor.js.map +1 -1
- package/dist/fail-on.d.ts +84 -0
- package/dist/fail-on.d.ts.map +1 -0
- package/dist/fail-on.js +128 -0
- package/dist/fail-on.js.map +1 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +2 -141
- package/dist/generator.js.map +1 -1
- package/dist/languages/csharp.d.ts.map +1 -1
- package/dist/languages/csharp.js +0 -9
- package/dist/languages/csharp.js.map +1 -1
- package/dist/languages/go.d.ts.map +1 -1
- package/dist/languages/go.js +0 -15
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/index.d.ts +1 -1
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/java.d.ts.map +1 -1
- package/dist/languages/java.js +0 -6
- package/dist/languages/java.js.map +1 -1
- package/dist/languages/kotlin.d.ts.map +1 -1
- package/dist/languages/kotlin.js +0 -11
- package/dist/languages/kotlin.js.map +1 -1
- package/dist/languages/python.d.ts.map +1 -1
- package/dist/languages/python.js +0 -15
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/ruby.d.ts.map +1 -1
- package/dist/languages/ruby.js +0 -6
- package/dist/languages/ruby.js.map +1 -1
- package/dist/languages/rust.d.ts.map +1 -1
- package/dist/languages/rust.js +0 -4
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/types.d.ts +2 -28
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript.d.ts.map +1 -1
- package/dist/languages/typescript.js +26 -4
- package/dist/languages/typescript.js.map +1 -1
- package/dist/lib.d.ts +2 -3
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +3 -6
- package/dist/lib.js.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +0 -10
- package/dist/prompts.js.map +1 -1
- package/dist/report-schema.d.ts +42 -0
- package/dist/report-schema.d.ts.map +1 -0
- package/dist/report-schema.js +54 -0
- package/dist/report-schema.js.map +1 -0
- package/dist/ship-installers.d.ts +106 -0
- package/dist/ship-installers.d.ts.map +1 -0
- package/dist/ship-installers.js +415 -0
- package/dist/ship-installers.js.map +1 -0
- package/dist/types.d.ts +0 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +0 -4
- package/dist/update.js.map +1 -1
- package/package.json +17 -11
- package/templates/.claude/agents/onboarding.md +5 -4
- package/templates/.claude/agents-available/codebase-explorer.md +1 -1
- package/templates/.claude/agents-available/debugger.md +2 -2
- package/templates/.claude/agents-available/health-auditor.md +2 -2
- package/templates/.claude/commands/doctor.md +20 -12
- package/templates/.claude/skills/build/SKILL.md.template +22 -30
- package/templates/.claude/skills/deploy/SKILL.md.template +5 -25
- package/templates/.claude/skills/doctor/SKILL.md +24 -47
- package/templates/.claude/skills/gcloud/SKILL.md +5 -5
- package/templates/.claude/skills/learned/SKILL.md +1 -1
- package/templates/.claude/skills/pulumi/SKILL.md +2 -2
- package/templates/.claude/skills/quality/SKILL.md.template +4 -23
- package/templates/.claude/skills/review/SKILL.md.template +4 -3
- package/templates/.claude/skills/scaffold/SKILL.md.template +5 -15
- package/templates/.claude/skills/secrets/SKILL.md +20 -21
- package/templates/.claude/skills/session/SKILL.md +20 -31
- package/templates/.claude/skills/test/SKILL.md.template +1 -7
- package/templates/.devcontainer/devcontainer.json +81 -0
- package/templates/.devcontainer/install-agent-clis.sh +42 -0
- package/templates/.devcontainer/post-create.sh +67 -0
- package/templates/.githooks/pre-commit +55 -0
- package/templates/.githooks/pre-push +63 -0
- package/templates/.github/workflows/dxkit-baseline-refresh.yml +78 -0
- package/templates/.github/workflows/dxkit-guardrails.yml +98 -0
- package/templates/CLAUDE.md.template +62 -196
- package/dist/project-yaml.d.ts +0 -13
- package/dist/project-yaml.d.ts.map +0 -1
- package/dist/project-yaml.js +0 -188
- package/dist/project-yaml.js.map +0 -1
- package/templates/.ai/README.md +0 -117
- package/templates/.ai/prompts/execution-prompt.md +0 -9
- package/templates/.ai/prompts/planning-prompt.md +0 -18
- package/templates/.ai/prompts/session-end-template.md +0 -182
- package/templates/.ai/prompts/session-end.md +0 -132
- package/templates/.ai/prompts/session-start.md +0 -109
- package/templates/.ai/prompts/step-by-step.md +0 -113
- package/templates/.ai/sessions/.gitkeep +0 -0
- package/templates/.claude/commands/setup-pr-review.md +0 -72
- package/templates/.devcontainer/Dockerfile.dev.template +0 -89
- package/templates/.devcontainer/devcontainer.json.template +0 -184
- package/templates/.devcontainer/docker-compose.yml.template +0 -105
- package/templates/.devcontainer/init-scripts/01-init.sql.template +0 -12
- package/templates/.devcontainer/post-create.sh.template +0 -298
- package/templates/.github/workflows/ci.yml.template +0 -399
- package/templates/.github/workflows/quality.yml.template +0 -376
- package/templates/.pre-commit-config.yaml.template +0 -106
- package/templates/.project/config/edit_config.py +0 -275
- package/templates/.project/config/project_config.py +0 -894
- package/templates/.project/scripts/codegen/generate-all.sh +0 -20
- package/templates/.project/scripts/codegen/validate-all.sh +0 -17
- package/templates/.project/scripts/docs/generate-all.sh +0 -30
- package/templates/.project/scripts/docs/serve.sh +0 -20
- package/templates/.project/scripts/quality/fix-all.sh +0 -138
- package/templates/.project/scripts/quality/lint-go.sh +0 -34
- package/templates/.project/scripts/quality/lint-python.sh +0 -54
- package/templates/.project/scripts/quality/run-all.sh +0 -497
- package/templates/.project/scripts/session/commit.sh +0 -70
- package/templates/.project/scripts/session/create-pr.sh +0 -165
- package/templates/.project/scripts/session/end.sh +0 -207
- package/templates/.project/scripts/session/start.sh +0 -233
- package/templates/.project/scripts/setup/doctor.sh +0 -404
- package/templates/.project/scripts/setup/interactive-setup.sh +0 -585
- package/templates/.project/scripts/sync/sync-template.sh +0 -328
- package/templates/.project/scripts/test/run-all.sh +0 -179
- package/templates/.project/scripts/test/run-quick.sh +0 -25
- package/templates/Makefile +0 -514
- package/templates/config/versions.yaml +0 -57
- package/templates/configs/go/.golangci.yml.template +0 -172
- package/templates/configs/go/go.mod.template +0 -15
- package/templates/configs/java/README.md +0 -6
- package/templates/configs/kotlin/README.md +0 -6
- package/templates/configs/node/package.json.template +0 -67
- package/templates/configs/node/tsconfig.json.template +0 -53
- package/templates/configs/python/pyproject.toml.template +0 -92
- package/templates/configs/python/pytest.ini.template +0 -64
- package/templates/configs/python/ruff.toml.template +0 -79
- package/templates/configs/ruby/README.md +0 -6
- package/templates/configs/rust/Cargo.toml.template +0 -51
- package/templates/configs/shared/.editorconfig +0 -67
- package/templates/scripts/validate-templates.sh +0 -449
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
# Generated from template - golangci-lint configuration
|
|
2
|
-
# See: https://golangci-lint.run/usage/configuration/
|
|
3
|
-
|
|
4
|
-
run:
|
|
5
|
-
# Timeout for analysis
|
|
6
|
-
timeout: 5m
|
|
7
|
-
|
|
8
|
-
# Go version to target
|
|
9
|
-
go: "{{GO_VERSION_SHORT}}"
|
|
10
|
-
|
|
11
|
-
# Include test files
|
|
12
|
-
tests: true
|
|
13
|
-
|
|
14
|
-
# Directories to skip
|
|
15
|
-
skip-dirs:
|
|
16
|
-
- vendor
|
|
17
|
-
- bin
|
|
18
|
-
- .devcontainer
|
|
19
|
-
|
|
20
|
-
# Files to skip
|
|
21
|
-
skip-files:
|
|
22
|
-
- ".*\\.pb\\.go$"
|
|
23
|
-
- ".*_gen\\.go$"
|
|
24
|
-
|
|
25
|
-
linters:
|
|
26
|
-
enable:
|
|
27
|
-
# Enabled by default
|
|
28
|
-
- errcheck # Check for unchecked errors
|
|
29
|
-
- gosimple # Simplify code
|
|
30
|
-
- govet # Vet examines Go source code
|
|
31
|
-
- ineffassign # Detect ineffectual assignments
|
|
32
|
-
- staticcheck # State-of-the-art linter
|
|
33
|
-
- unused # Check for unused constants, variables, functions
|
|
34
|
-
|
|
35
|
-
# Additional recommended linters
|
|
36
|
-
- gofmt # Check formatting
|
|
37
|
-
- goimports # Check import formatting
|
|
38
|
-
- gocritic # Comprehensive linter
|
|
39
|
-
- misspell # Check for misspelled words
|
|
40
|
-
- revive # Fast, configurable, extensible linter
|
|
41
|
-
- unconvert # Remove unnecessary type conversions
|
|
42
|
-
- unparam # Reports unused function parameters
|
|
43
|
-
- gosec # Security problems
|
|
44
|
-
- gocyclo # Cyclomatic complexity
|
|
45
|
-
- dupl # Code cloning detection
|
|
46
|
-
- prealloc # Find slice declarations that could be preallocated
|
|
47
|
-
|
|
48
|
-
disable:
|
|
49
|
-
- typecheck # Often has false positives, use go build instead
|
|
50
|
-
|
|
51
|
-
linters-settings:
|
|
52
|
-
errcheck:
|
|
53
|
-
# Report about not checking errors in type assertions
|
|
54
|
-
check-type-assertions: true
|
|
55
|
-
# Report about assignment of errors to blank identifier
|
|
56
|
-
check-blank: true
|
|
57
|
-
|
|
58
|
-
govet:
|
|
59
|
-
# Enable all analyzers
|
|
60
|
-
enable-all: true
|
|
61
|
-
# Disable shadow checking (often too strict)
|
|
62
|
-
disable:
|
|
63
|
-
- shadow
|
|
64
|
-
|
|
65
|
-
gofmt:
|
|
66
|
-
# Simplify code
|
|
67
|
-
simplify: true
|
|
68
|
-
|
|
69
|
-
goimports:
|
|
70
|
-
# Put imports beginning with prefix after 3rd-party packages
|
|
71
|
-
local-prefixes: github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}
|
|
72
|
-
|
|
73
|
-
gocyclo:
|
|
74
|
-
# Maximum cyclomatic complexity
|
|
75
|
-
min-complexity: 15
|
|
76
|
-
|
|
77
|
-
dupl:
|
|
78
|
-
# Threshold for duplicate code detection
|
|
79
|
-
threshold: 100
|
|
80
|
-
|
|
81
|
-
gocritic:
|
|
82
|
-
# Enable multiple check groups
|
|
83
|
-
enabled-tags:
|
|
84
|
-
- diagnostic
|
|
85
|
-
- style
|
|
86
|
-
- performance
|
|
87
|
-
disabled-checks:
|
|
88
|
-
- unnamedResult # Allow unnamed returns
|
|
89
|
-
- whyNoLint # Don't require explanation for nolint
|
|
90
|
-
|
|
91
|
-
revive:
|
|
92
|
-
# Enable all rules by default
|
|
93
|
-
rules:
|
|
94
|
-
- name: exported
|
|
95
|
-
severity: warning
|
|
96
|
-
disabled: false
|
|
97
|
-
- name: unexported-return
|
|
98
|
-
severity: warning
|
|
99
|
-
disabled: false
|
|
100
|
-
- name: blank-imports
|
|
101
|
-
severity: warning
|
|
102
|
-
disabled: false
|
|
103
|
-
- name: context-as-argument
|
|
104
|
-
severity: warning
|
|
105
|
-
disabled: false
|
|
106
|
-
- name: dot-imports
|
|
107
|
-
severity: warning
|
|
108
|
-
disabled: false
|
|
109
|
-
- name: error-return
|
|
110
|
-
severity: warning
|
|
111
|
-
disabled: false
|
|
112
|
-
- name: error-strings
|
|
113
|
-
severity: warning
|
|
114
|
-
disabled: false
|
|
115
|
-
- name: error-naming
|
|
116
|
-
severity: warning
|
|
117
|
-
disabled: false
|
|
118
|
-
- name: increment-decrement
|
|
119
|
-
severity: warning
|
|
120
|
-
disabled: false
|
|
121
|
-
- name: var-naming
|
|
122
|
-
severity: warning
|
|
123
|
-
disabled: false
|
|
124
|
-
- name: package-comments
|
|
125
|
-
severity: warning
|
|
126
|
-
disabled: true # Often too strict for internal packages
|
|
127
|
-
|
|
128
|
-
gosec:
|
|
129
|
-
# Exclude specific security issues (use carefully!)
|
|
130
|
-
excludes:
|
|
131
|
-
- G104 # Audit errors not checked (covered by errcheck)
|
|
132
|
-
|
|
133
|
-
issues:
|
|
134
|
-
# Maximum issues count per one linter
|
|
135
|
-
max-issues-per-linter: 0
|
|
136
|
-
|
|
137
|
-
# Maximum count of issues with the same text
|
|
138
|
-
max-same-issues: 0
|
|
139
|
-
|
|
140
|
-
# Exclude some linters from running on test files
|
|
141
|
-
exclude-rules:
|
|
142
|
-
# Exclude some linters from running on tests files
|
|
143
|
-
- path: _test\.go
|
|
144
|
-
linters:
|
|
145
|
-
- gocyclo
|
|
146
|
-
- errcheck
|
|
147
|
-
- dupl
|
|
148
|
-
- gosec
|
|
149
|
-
- gocritic
|
|
150
|
-
|
|
151
|
-
# Exclude known linters from partially hard-vendored code
|
|
152
|
-
- path: vendor/
|
|
153
|
-
linters:
|
|
154
|
-
- unused
|
|
155
|
-
- gosec
|
|
156
|
-
- goimports
|
|
157
|
-
|
|
158
|
-
# Show only new issues created after git revision
|
|
159
|
-
# new-from-rev: HEAD
|
|
160
|
-
|
|
161
|
-
output:
|
|
162
|
-
# Colored output
|
|
163
|
-
format: colored-line-number
|
|
164
|
-
|
|
165
|
-
# Print lines of code with issue
|
|
166
|
-
print-issued-lines: true
|
|
167
|
-
|
|
168
|
-
# Print linter name in the end of issue text
|
|
169
|
-
print-linter-name: true
|
|
170
|
-
|
|
171
|
-
# Sort results by file path, line number, and column
|
|
172
|
-
sort-results: true
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// Generated from template - Go module definition
|
|
2
|
-
// See: https://go.dev/doc/modules/gomod-ref
|
|
3
|
-
|
|
4
|
-
module github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}
|
|
5
|
-
|
|
6
|
-
go {{GO_VERSION_SHORT}}
|
|
7
|
-
|
|
8
|
-
require (
|
|
9
|
-
// Add your dependencies here
|
|
10
|
-
// Example: github.com/stretchr/testify v1.8.4
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
require (
|
|
14
|
-
// Indirect dependencies will be added here automatically
|
|
15
|
-
)
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{PROJECT_NAME_KEBAB}}",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "{{PROJECT_DESCRIPTION}}",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "tsc",
|
|
9
|
-
"dev": "tsx watch src/index.ts",
|
|
10
|
-
"test": "jest",
|
|
11
|
-
"test:watch": "jest --watch",
|
|
12
|
-
"test:coverage": "jest --coverage",
|
|
13
|
-
"lint": "eslint 'src/**/*.{js,ts,tsx}'",
|
|
14
|
-
"lint:fix": "eslint 'src/**/*.{js,ts,tsx}' --fix",
|
|
15
|
-
"format": "prettier --write 'src/**/*.{ts,tsx,js,jsx,json,css,md}'",
|
|
16
|
-
"format:check": "prettier --check 'src/**/*.{ts,tsx,js,jsx,json,css,md}'",
|
|
17
|
-
"type-check": "tsc --noEmit",
|
|
18
|
-
"clean": "rm -rf dist coverage"
|
|
19
|
-
},
|
|
20
|
-
"keywords": [],
|
|
21
|
-
"author": "",
|
|
22
|
-
"license": "MIT",
|
|
23
|
-
"repository": {
|
|
24
|
-
"type": "git",
|
|
25
|
-
"url": "https://github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}.git"
|
|
26
|
-
},
|
|
27
|
-
"bugs": {
|
|
28
|
-
"url": "https://github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}/issues"
|
|
29
|
-
},
|
|
30
|
-
"homepage": "https://github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}#readme",
|
|
31
|
-
"devDependencies": {
|
|
32
|
-
"@types/jest": "^29.5.11",
|
|
33
|
-
"@types/node": "^{{NODE_VERSION}}",
|
|
34
|
-
"@typescript-eslint/eslint-plugin": "^6.19.0",
|
|
35
|
-
"@typescript-eslint/parser": "^6.19.0",
|
|
36
|
-
"eslint": "^8.56.0",
|
|
37
|
-
"eslint-config-prettier": "^9.1.0",
|
|
38
|
-
"eslint-plugin-prettier": "^5.1.3",
|
|
39
|
-
"jest": "^29.7.0",
|
|
40
|
-
"prettier": "^3.2.4",
|
|
41
|
-
"ts-jest": "^29.1.1",
|
|
42
|
-
"ts-node": "^10.9.2",
|
|
43
|
-
"tsx": "^4.7.0",
|
|
44
|
-
"typescript": "^5.3.3"
|
|
45
|
-
},
|
|
46
|
-
"dependencies": {},
|
|
47
|
-
"engines": {
|
|
48
|
-
"node": ">=18.0.0",
|
|
49
|
-
"npm": ">=9.0.0"
|
|
50
|
-
},
|
|
51
|
-
"jest": {
|
|
52
|
-
"preset": "ts-jest",
|
|
53
|
-
"testEnvironment": "node",
|
|
54
|
-
"roots": ["<rootDir>/src", "<rootDir>/tests"],
|
|
55
|
-
"collectCoverageFrom": ["src/**/*.ts", "!src/**/*.d.ts"],
|
|
56
|
-
{{#IF_COVERAGE_ENABLED}}
|
|
57
|
-
"coverageThreshold": {
|
|
58
|
-
"global": {
|
|
59
|
-
"branches": {{COVERAGE_THRESHOLD}},
|
|
60
|
-
"functions": {{COVERAGE_THRESHOLD}},
|
|
61
|
-
"lines": {{COVERAGE_THRESHOLD}},
|
|
62
|
-
"statements": {{COVERAGE_THRESHOLD}}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
{{/IF_COVERAGE_ENABLED}}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
/* Language and Environment */
|
|
4
|
-
"target": "ES2022",
|
|
5
|
-
"lib": ["ES2022"],
|
|
6
|
-
|
|
7
|
-
/* Modules */
|
|
8
|
-
"module": "commonjs",
|
|
9
|
-
"rootDir": "./",
|
|
10
|
-
"moduleResolution": "node",
|
|
11
|
-
"baseUrl": "./",
|
|
12
|
-
"resolveJsonModule": true,
|
|
13
|
-
|
|
14
|
-
/* Emit */
|
|
15
|
-
"declaration": true,
|
|
16
|
-
"declarationMap": true,
|
|
17
|
-
"sourceMap": true,
|
|
18
|
-
"outDir": "./dist",
|
|
19
|
-
"removeComments": true,
|
|
20
|
-
"importHelpers": true,
|
|
21
|
-
"downlevelIteration": true,
|
|
22
|
-
|
|
23
|
-
/* Interop Constraints */
|
|
24
|
-
"esModuleInterop": true,
|
|
25
|
-
"allowSyntheticDefaultImports": true,
|
|
26
|
-
"forceConsistentCasingInFileNames": true,
|
|
27
|
-
"isolatedModules": true,
|
|
28
|
-
|
|
29
|
-
/* Type Checking */
|
|
30
|
-
"strict": true,
|
|
31
|
-
"noUnusedLocals": true,
|
|
32
|
-
"noUnusedParameters": true,
|
|
33
|
-
"noImplicitReturns": true,
|
|
34
|
-
"noFallthroughCasesInSwitch": true,
|
|
35
|
-
"noUncheckedIndexedAccess": true,
|
|
36
|
-
"noImplicitOverride": true,
|
|
37
|
-
"allowUnusedLabels": false,
|
|
38
|
-
"allowUnreachableCode": false,
|
|
39
|
-
|
|
40
|
-
/* Completeness */
|
|
41
|
-
"skipLibCheck": true
|
|
42
|
-
},
|
|
43
|
-
"include": [
|
|
44
|
-
"**/*.ts",
|
|
45
|
-
"**/*.tsx"
|
|
46
|
-
],
|
|
47
|
-
"exclude": [
|
|
48
|
-
"node_modules",
|
|
49
|
-
"dist",
|
|
50
|
-
"coverage",
|
|
51
|
-
".project"
|
|
52
|
-
]
|
|
53
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# Generated from template - Python project configuration
|
|
2
|
-
# See: https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
|
|
3
|
-
|
|
4
|
-
[project]
|
|
5
|
-
name = "{{PROJECT_NAME_SNAKE}}"
|
|
6
|
-
version = "0.1.0"
|
|
7
|
-
description = "{{PROJECT_DESCRIPTION}}"
|
|
8
|
-
readme = "README.md"
|
|
9
|
-
requires-python = ">={{PYTHON_VERSION}}"
|
|
10
|
-
authors = [
|
|
11
|
-
{name = "{{PROJECT_NAME}}", email = "dev@example.com"},
|
|
12
|
-
]
|
|
13
|
-
classifiers = [
|
|
14
|
-
"Development Status :: 3 - Alpha",
|
|
15
|
-
"Intended Audience :: Developers",
|
|
16
|
-
"Programming Language :: Python :: 3",
|
|
17
|
-
"Programming Language :: Python :: {{PYTHON_VERSION}}",
|
|
18
|
-
]
|
|
19
|
-
|
|
20
|
-
dependencies = [
|
|
21
|
-
# Add your runtime dependencies here
|
|
22
|
-
]
|
|
23
|
-
|
|
24
|
-
[project.optional-dependencies]
|
|
25
|
-
dev = [
|
|
26
|
-
# Testing
|
|
27
|
-
"pytest>=7.4.0",
|
|
28
|
-
"pytest-asyncio>=0.21.0",
|
|
29
|
-
"pytest-cov>=4.1.0",
|
|
30
|
-
"pytest-mock>=3.12.0",
|
|
31
|
-
|
|
32
|
-
# Linting and formatting (versions synced with .template/config/versions.yaml)
|
|
33
|
-
"ruff>=0.8.0",
|
|
34
|
-
"mypy>=1.8.0",
|
|
35
|
-
|
|
36
|
-
# Type stubs
|
|
37
|
-
"types-requests",
|
|
38
|
-
]
|
|
39
|
-
|
|
40
|
-
[project.urls]
|
|
41
|
-
Homepage = "https://github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}"
|
|
42
|
-
Repository = "https://github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}"
|
|
43
|
-
Issues = "https://github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}/issues"
|
|
44
|
-
|
|
45
|
-
[build-system]
|
|
46
|
-
requires = ["setuptools>=68.0", "wheel"]
|
|
47
|
-
build-backend = "setuptools.build_meta"
|
|
48
|
-
|
|
49
|
-
[tool.setuptools.packages.find]
|
|
50
|
-
# Flexible: scans root, src/, and lib/ for packages
|
|
51
|
-
where = ["."]
|
|
52
|
-
include = ["*"]
|
|
53
|
-
exclude = ["tests*", "docs*", "scripts*"]
|
|
54
|
-
|
|
55
|
-
[tool.ruff]
|
|
56
|
-
# Ruff configuration - also see ruff.toml for extended config
|
|
57
|
-
line-length = 88
|
|
58
|
-
target-version = "py{{PYTHON_VERSION_NODOT}}"
|
|
59
|
-
|
|
60
|
-
[tool.ruff.lint]
|
|
61
|
-
select = [
|
|
62
|
-
"E", # pycodestyle errors
|
|
63
|
-
"W", # pycodestyle warnings
|
|
64
|
-
"F", # pyflakes
|
|
65
|
-
"I", # isort
|
|
66
|
-
"B", # flake8-bugbear
|
|
67
|
-
"C4", # flake8-comprehensions
|
|
68
|
-
"UP", # pyupgrade
|
|
69
|
-
]
|
|
70
|
-
|
|
71
|
-
[tool.pytest.ini_options]
|
|
72
|
-
# Flexible test discovery - searches multiple common locations
|
|
73
|
-
testpaths = ["tests", "test", "."]
|
|
74
|
-
python_files = ["test_*.py", "*_test.py"]
|
|
75
|
-
python_classes = ["Test*"]
|
|
76
|
-
python_functions = ["test_*"]
|
|
77
|
-
addopts = [
|
|
78
|
-
"--strict-markers",
|
|
79
|
-
"--strict-config",
|
|
80
|
-
]
|
|
81
|
-
|
|
82
|
-
[tool.mypy]
|
|
83
|
-
python_version = "{{PYTHON_VERSION}}"
|
|
84
|
-
warn_return_any = true
|
|
85
|
-
warn_unused_configs = true
|
|
86
|
-
disallow_untyped_defs = false
|
|
87
|
-
ignore_missing_imports = true
|
|
88
|
-
|
|
89
|
-
[tool.ruff.format]
|
|
90
|
-
# Use ruff format instead of black (same defaults)
|
|
91
|
-
quote-style = "double"
|
|
92
|
-
indent-style = "space"
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Generated from template - Pytest configuration
|
|
2
|
-
# See: https://docs.pytest.org/en/stable/reference/customize.html
|
|
3
|
-
|
|
4
|
-
[pytest]
|
|
5
|
-
# Test discovery patterns
|
|
6
|
-
python_files = test_*.py *_test.py
|
|
7
|
-
python_classes = Test*
|
|
8
|
-
python_functions = test_*
|
|
9
|
-
|
|
10
|
-
# Test paths - flexible to support various project structures
|
|
11
|
-
testpaths = tests test .
|
|
12
|
-
|
|
13
|
-
# Minimum Python version
|
|
14
|
-
minversion = 7.0
|
|
15
|
-
|
|
16
|
-
# Pytest options
|
|
17
|
-
addopts =
|
|
18
|
-
# Show extra test summary info
|
|
19
|
-
-ra
|
|
20
|
-
# Strict markers (all markers must be registered)
|
|
21
|
-
--strict-markers
|
|
22
|
-
# Strict config (warnings on unknown config options)
|
|
23
|
-
--strict-config
|
|
24
|
-
# Show local variables in tracebacks
|
|
25
|
-
-l
|
|
26
|
-
# Verbose output
|
|
27
|
-
-v
|
|
28
|
-
# Stop on first failure (comment out for CI)
|
|
29
|
-
# -x
|
|
30
|
-
# Coverage: uncomment and adjust path when ready
|
|
31
|
-
# --cov=src --cov-report=term-missing
|
|
32
|
-
|
|
33
|
-
# Markers (register custom markers here)
|
|
34
|
-
markers =
|
|
35
|
-
slow: marks tests as slow (deselect with '-m "not slow"')
|
|
36
|
-
integration: marks tests as integration tests
|
|
37
|
-
unit: marks tests as unit tests
|
|
38
|
-
smoke: marks tests as smoke tests
|
|
39
|
-
|
|
40
|
-
# Coverage options
|
|
41
|
-
[coverage:run]
|
|
42
|
-
# Adjust source path to match your project structure
|
|
43
|
-
source = .
|
|
44
|
-
omit =
|
|
45
|
-
*/tests/*
|
|
46
|
-
*/test/*
|
|
47
|
-
*/test_*.py
|
|
48
|
-
*/__pycache__/*
|
|
49
|
-
*/site-packages/*
|
|
50
|
-
.project/*
|
|
51
|
-
|
|
52
|
-
[coverage:report]
|
|
53
|
-
exclude_lines =
|
|
54
|
-
# Standard pragma
|
|
55
|
-
pragma: no cover
|
|
56
|
-
# Don't complain about missing debug-only code
|
|
57
|
-
def __repr__
|
|
58
|
-
# Don't complain if tests don't hit defensive assertion code
|
|
59
|
-
raise AssertionError
|
|
60
|
-
raise NotImplementedError
|
|
61
|
-
# Don't complain if non-runnable code isn't run
|
|
62
|
-
if __name__ == .__main__.:
|
|
63
|
-
# Don't complain about abstract methods
|
|
64
|
-
@abstractmethod
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# Generated from template - Ruff linter configuration
|
|
2
|
-
# See: https://docs.astral.sh/ruff/configuration/
|
|
3
|
-
|
|
4
|
-
line-length = 88
|
|
5
|
-
target-version = "py{{PYTHON_VERSION_NODOT}}"
|
|
6
|
-
|
|
7
|
-
# Source directories - flexible to support various project structures
|
|
8
|
-
# (monorepo, flat layout, src layout, etc.)
|
|
9
|
-
src = [".", "src", "lib", "tests", "scripts"]
|
|
10
|
-
|
|
11
|
-
# Exclude common directories
|
|
12
|
-
exclude = [
|
|
13
|
-
".git",
|
|
14
|
-
".mypy_cache",
|
|
15
|
-
".pytest_cache",
|
|
16
|
-
".ruff_cache",
|
|
17
|
-
".venv",
|
|
18
|
-
"venv",
|
|
19
|
-
"__pycache__",
|
|
20
|
-
"build",
|
|
21
|
-
"dist",
|
|
22
|
-
"*.egg-info",
|
|
23
|
-
]
|
|
24
|
-
|
|
25
|
-
[lint]
|
|
26
|
-
# Enable specific rule sets
|
|
27
|
-
select = [
|
|
28
|
-
"E", # pycodestyle errors
|
|
29
|
-
"W", # pycodestyle warnings
|
|
30
|
-
"F", # Pyflakes
|
|
31
|
-
"I", # isort
|
|
32
|
-
"B", # flake8-bugbear
|
|
33
|
-
"C4", # flake8-comprehensions
|
|
34
|
-
"UP", # pyupgrade
|
|
35
|
-
"SIM", # flake8-simplify
|
|
36
|
-
"RUF", # Ruff-specific rules
|
|
37
|
-
]
|
|
38
|
-
|
|
39
|
-
# Disable specific rules
|
|
40
|
-
ignore = [
|
|
41
|
-
"E501", # line too long (handled by formatter)
|
|
42
|
-
"B008", # do not perform function calls in argument defaults
|
|
43
|
-
"C901", # function too complex
|
|
44
|
-
]
|
|
45
|
-
|
|
46
|
-
# Allow autofix for all enabled rules
|
|
47
|
-
fixable = ["ALL"]
|
|
48
|
-
unfixable = []
|
|
49
|
-
|
|
50
|
-
# Allow unused variables when underscore-prefixed
|
|
51
|
-
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
|
52
|
-
|
|
53
|
-
[lint.per-file-ignores]
|
|
54
|
-
# Ignore imports in __init__.py files
|
|
55
|
-
"__init__.py" = ["F401", "F403"]
|
|
56
|
-
# Ignore assert statements in tests
|
|
57
|
-
"tests/**/*.py" = ["S101"]
|
|
58
|
-
|
|
59
|
-
[lint.isort]
|
|
60
|
-
known-first-party = ["{{PROJECT_NAME_SNAKE}}"]
|
|
61
|
-
force-single-line = false
|
|
62
|
-
lines-after-imports = 2
|
|
63
|
-
|
|
64
|
-
[lint.mccabe]
|
|
65
|
-
# Maximum allowed complexity
|
|
66
|
-
max-complexity = 10
|
|
67
|
-
|
|
68
|
-
[format]
|
|
69
|
-
# Use double quotes for strings
|
|
70
|
-
quote-style = "double"
|
|
71
|
-
|
|
72
|
-
# Indent with spaces, not tabs
|
|
73
|
-
indent-style = "space"
|
|
74
|
-
|
|
75
|
-
# Respect magic trailing commas
|
|
76
|
-
skip-magic-trailing-comma = false
|
|
77
|
-
|
|
78
|
-
# Auto-detect line ending
|
|
79
|
-
line-ending = "auto"
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Generated from template - Rust package manifest
|
|
2
|
-
# See: https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
3
|
-
|
|
4
|
-
[package]
|
|
5
|
-
name = "{{PROJECT_NAME_SNAKE}}"
|
|
6
|
-
version = "0.1.0"
|
|
7
|
-
edition = "2021"
|
|
8
|
-
rust-version = "{{RUST_MSRV}}"
|
|
9
|
-
authors = ["{{PROJECT_NAME}} <dev@example.com>"]
|
|
10
|
-
description = "{{PROJECT_DESCRIPTION}}"
|
|
11
|
-
readme = "README.md"
|
|
12
|
-
homepage = "https://github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}"
|
|
13
|
-
repository = "https://github.com/{{GITHUB_ORG}}/{{PROJECT_NAME_KEBAB}}"
|
|
14
|
-
license = "MIT"
|
|
15
|
-
keywords = []
|
|
16
|
-
categories = []
|
|
17
|
-
|
|
18
|
-
[dependencies]
|
|
19
|
-
# Add your runtime dependencies here
|
|
20
|
-
# Example: serde = { version = "1.0", features = ["derive"] }
|
|
21
|
-
|
|
22
|
-
[dev-dependencies]
|
|
23
|
-
# Add your test/dev dependencies here
|
|
24
|
-
# Example: tokio-test = "0.4"
|
|
25
|
-
|
|
26
|
-
[profile.dev]
|
|
27
|
-
# Development profile - fast compile times
|
|
28
|
-
opt-level = 0
|
|
29
|
-
debug = true
|
|
30
|
-
|
|
31
|
-
[profile.release]
|
|
32
|
-
# Release profile - optimized for performance
|
|
33
|
-
opt-level = 3
|
|
34
|
-
debug = false
|
|
35
|
-
lto = true
|
|
36
|
-
codegen-units = 1
|
|
37
|
-
panic = "abort"
|
|
38
|
-
strip = true
|
|
39
|
-
|
|
40
|
-
[profile.test]
|
|
41
|
-
# Test profile
|
|
42
|
-
opt-level = 1
|
|
43
|
-
debug = true
|
|
44
|
-
|
|
45
|
-
[[bin]]
|
|
46
|
-
name = "{{PROJECT_NAME_KEBAB}}"
|
|
47
|
-
path = "src/main.rs"
|
|
48
|
-
|
|
49
|
-
[lib]
|
|
50
|
-
name = "{{PROJECT_NAME_SNAKE}}"
|
|
51
|
-
path = "src/lib.rs"
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# EditorConfig is awesome: https://EditorConfig.org
|
|
2
|
-
|
|
3
|
-
# top-most EditorConfig file
|
|
4
|
-
root = true
|
|
5
|
-
|
|
6
|
-
# Unix-style newlines with a newline ending every file
|
|
7
|
-
[*]
|
|
8
|
-
charset = utf-8
|
|
9
|
-
end_of_line = lf
|
|
10
|
-
insert_final_newline = true
|
|
11
|
-
trim_trailing_whitespace = true
|
|
12
|
-
|
|
13
|
-
# Python files
|
|
14
|
-
[*.py]
|
|
15
|
-
indent_style = space
|
|
16
|
-
indent_size = 4
|
|
17
|
-
max_line_length = 88
|
|
18
|
-
|
|
19
|
-
# Go files
|
|
20
|
-
[*.go]
|
|
21
|
-
indent_style = tab
|
|
22
|
-
indent_size = 4
|
|
23
|
-
|
|
24
|
-
# JavaScript/TypeScript files
|
|
25
|
-
[*.{js,ts,jsx,tsx}]
|
|
26
|
-
indent_style = space
|
|
27
|
-
indent_size = 2
|
|
28
|
-
|
|
29
|
-
# Rust files
|
|
30
|
-
[*.rs]
|
|
31
|
-
indent_style = space
|
|
32
|
-
indent_size = 4
|
|
33
|
-
max_line_length = 100
|
|
34
|
-
|
|
35
|
-
# JSON files
|
|
36
|
-
[*.json]
|
|
37
|
-
indent_style = space
|
|
38
|
-
indent_size = 2
|
|
39
|
-
|
|
40
|
-
# YAML files
|
|
41
|
-
[*.{yml,yaml}]
|
|
42
|
-
indent_style = space
|
|
43
|
-
indent_size = 2
|
|
44
|
-
|
|
45
|
-
# TOML files
|
|
46
|
-
[*.toml]
|
|
47
|
-
indent_style = space
|
|
48
|
-
indent_size = 2
|
|
49
|
-
|
|
50
|
-
# Markdown files
|
|
51
|
-
[*.md]
|
|
52
|
-
trim_trailing_whitespace = false
|
|
53
|
-
max_line_length = off
|
|
54
|
-
|
|
55
|
-
# Makefile
|
|
56
|
-
[Makefile]
|
|
57
|
-
indent_style = tab
|
|
58
|
-
|
|
59
|
-
# Shell scripts
|
|
60
|
-
[*.sh]
|
|
61
|
-
indent_style = space
|
|
62
|
-
indent_size = 2
|
|
63
|
-
|
|
64
|
-
# Docker files
|
|
65
|
-
[Dockerfile*]
|
|
66
|
-
indent_style = space
|
|
67
|
-
indent_size = 2
|