codedna 0.5.1__tar.gz → 0.5.2__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.
- {codedna-0.5.1 → codedna-0.5.2}/CHANGELOG.md +14 -0
- {codedna-0.5.1 → codedna-0.5.2}/PKG-INFO +1 -1
- {codedna-0.5.1 → codedna-0.5.2}/codedna/__init__.py +1 -1
- {codedna-0.5.1 → codedna-0.5.2}/codedna/cli.py +202 -0
- {codedna-0.5.1 → codedna-0.5.2}/pyproject.toml +1 -1
- {codedna-0.5.1 → codedna-0.5.2}/.env.example +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.github/CODEOWNERS +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.github/dependabot.yml +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.github/workflows/codedna.yml +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.github/workflows/codeql.yml +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.github/workflows/test.yml +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.gitignore +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/.python-version +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/CONTRIBUTING.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/LICENSE +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/README.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/SECURITY.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/ai.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/ai_box.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/ai_fingerprint.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/analyzer.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/api.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/auth.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/bus_factor.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/db.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/demo.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/git_hook.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/integrations/__init__.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/integrations/github_bot.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/integrations/jira.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/integrations/lemonsqueezy.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/interview.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/onboarding.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/plan.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/protection.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/rate_limit.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/scorer.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/sprint_health.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/survey.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/codedna/tech_debt.py +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/.env.local.example +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/.gitignore +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/README.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/ai-compare/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/api/auth/login/route.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/api/auth/logout/route.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/api/auth/me/route.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/api/auth/register/route.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/api/billing/checkout/route.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/billing/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/bus-factor/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/commits/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/debt/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/favicon.ico +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/files/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/fonts/GeistMonoVF.woff +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/fonts/GeistVF.woff +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/globals.css +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/interview/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/layout.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/login/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/onboarding/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/pricing/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/protected/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/register/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/settings/integrations/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/app/sprints/page.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/AuthProvider.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/ClientProviders.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/CommitTable.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/CostInfoTooltip.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/ErrorBanner.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/FeatureGate.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/FileHeatmap.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/LanguageSwitcher.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/NavClient.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/OverviewTitles.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/QuickInsights.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/RiskBadge.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/SummaryCards.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/UnderstandingChart.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/components/UpgradeBanner.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/lib/api.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/lib/auth.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/lib/i18n/en.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/lib/i18n/index.tsx +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/lib/i18n/tr.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/lib/plan.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/next-env.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/next.config.mjs +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/package-lock.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/package.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/postcss.config.mjs +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/tailwind.config.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/dashboard/tsconfig.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/hooks/post-commit +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/uv.lock +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/.vscodeignore +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/MARKETPLACE_README.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/PUBLISH.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/images/icon.png +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/.bin/tsc +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/.bin/tsserver +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/.package-lock.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/LICENSE +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/README.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/assert/strict.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/assert.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/async_hooks.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/buffer.buffer.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/buffer.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/child_process.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/cluster.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/compatibility/disposable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/compatibility/index.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/compatibility/indexable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/compatibility/iterators.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/console.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/constants.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/crypto.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/dgram.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/dns/promises.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/dns.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/domain.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/events.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/fs/promises.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/fs.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/globals.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/globals.typedarray.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/http.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/http2.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/https.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/index.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/inspector.generated.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/module.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/net.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/os.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/package.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/path.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/perf_hooks.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/process.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/punycode.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/querystring.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/readline/promises.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/readline.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/repl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/sea.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/stream/consumers.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/stream/promises.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/stream/web.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/stream.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/string_decoder.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/test.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/timers/promises.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/timers.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/tls.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/trace_events.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/ts5.6/index.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/tty.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/url.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/util.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/v8.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/vm.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/wasi.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/web-globals/domexception.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/web-globals/events.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/web-globals/fetch.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/worker_threads.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/zlib.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/vscode/LICENSE +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/vscode/README.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/vscode/index.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/vscode/package.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/LICENSE.txt +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/README.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/SECURITY.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/ThirdPartyNoticeText.txt +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/bin/tsc +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/bin/tsserver +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/_tsc.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/_tsserver.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/_typingsInstaller.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.decorators.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.dom.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2016.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2018.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2019.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2021.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2022.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2023.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es5.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.es6.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.scripthost.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.webworker.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/tsc.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/tsserver.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/typesMap.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/typescript.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/typescript.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/typingsInstaller.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/watchGuard.js +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/typescript/package.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/LICENSE +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/README.md +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/agent.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/api.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/balanced-pool.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/cache.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/client.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/connector.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/content-type.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/cookies.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/dispatcher.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/errors.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/eventsource.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/fetch.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/file.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/filereader.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/formdata.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/global-dispatcher.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/global-origin.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/handlers.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/header.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/index.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/interceptors.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/mock-agent.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/mock-client.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/mock-errors.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/mock-interceptor.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/mock-pool.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/package.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/patch.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/pool-stats.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/pool.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/proxy-agent.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/readable.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/retry-agent.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/retry-handler.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/util.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/webidl.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/undici-types/websocket.d.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/out/apiClient.js.map +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/out/decorations.js.map +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/out/extension.js.map +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/out/statusBar.js.map +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/package-lock.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/package.json +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/src/apiClient.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/src/decorations.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/src/extension.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/src/statusBar.ts +0 -0
- {codedna-0.5.1 → codedna-0.5.2}/vscode-extension/tsconfig.json +0 -0
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.2] - 2026-06-24 - "SECURITY CHECK"
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- `codedna security-check` command - Pre-release security scanner
|
|
7
|
+
- Personal machine path detection (e.g. `/Users/yourname/`, `/home/user/`)
|
|
8
|
+
- Tracked secret detection (`.npmrc`, `.env*` in git)
|
|
9
|
+
- Secret pattern detection (npm, GitHub PAT, OpenAI, Anthropic, PyPI, generic API keys)
|
|
10
|
+
- `.gitignore` rule verification (.env, .npmrc, node_modules, __pycache__)
|
|
11
|
+
- Options: `--path` (custom root), `--strict` (exit on warnings)
|
|
12
|
+
- Output: legacy CLI aesthetic (4 categories, emoji markers, summary panel)
|
|
13
|
+
- Use case: run BEFORE `uv publish` or `git push` to catch leaks
|
|
14
|
+
- Critical response: exit 1 on personal paths, tracked secrets, or missing .env rules
|
|
15
|
+
- Detected the recent NatureCo CLI v5.7.0 issue (sasuke-notes paths + tracked .npmrc)
|
|
16
|
+
|
|
3
17
|
## [0.5.1] - 2026-06-24 — "Doctor English"
|
|
4
18
|
|
|
5
19
|
### 🔄 Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codedna
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: AI Code Transparency Tool - detect AI-written code and measure developer understanding
|
|
5
5
|
Project-URL: Homepage, https://codedna.dev
|
|
6
6
|
Project-URL: Repository, https://github.com/natureco-official/codedna
|
|
@@ -2146,6 +2146,208 @@ def demo(
|
|
|
2146
2146
|
console.print()
|
|
2147
2147
|
|
|
2148
2148
|
|
|
2149
|
+
# ---------------------------------------------------------------------------
|
|
2150
|
+
# codedna security-check (pre-release secret & personal path scanner)
|
|
2151
|
+
# ---------------------------------------------------------------------------
|
|
2152
|
+
@app.command(name="security-check")
|
|
2153
|
+
def security_check(
|
|
2154
|
+
path: Optional[Path] = typer.Option(None, "--path", "-p", help="Project root to scan (defaults to cwd)"),
|
|
2155
|
+
strict: bool = typer.Option(False, "--strict", help="Exit 1 on any warning"),
|
|
2156
|
+
) -> None:
|
|
2157
|
+
"""Scan the project for personal paths, secrets, and missing .gitignore rules.
|
|
2158
|
+
|
|
2159
|
+
Run this BEFORE publishing or pushing to GitHub. Catches:
|
|
2160
|
+
- Personal machine paths in code/README (e.g. /Users/yourname/...)
|
|
2161
|
+
- Tracked secrets (.npmrc, .env*, api_key, token patterns)
|
|
2162
|
+
- Missing .gitignore rules for sensitive files
|
|
2163
|
+
"""
|
|
2164
|
+
import subprocess
|
|
2165
|
+
from codedna.git_hook import find_git_root
|
|
2166
|
+
import re
|
|
2167
|
+
|
|
2168
|
+
root = path or find_git_root() or Path.cwd()
|
|
2169
|
+
if not root.exists():
|
|
2170
|
+
console.print(f" [red]✗[/red] Path not found: {root}")
|
|
2171
|
+
raise typer.Exit(1)
|
|
2172
|
+
|
|
2173
|
+
console.print()
|
|
2174
|
+
console.print(f"[bold cyan]🧬 CodeDNA[/bold cyan] — Security check: [dim]{root}[/dim]\n")
|
|
2175
|
+
|
|
2176
|
+
issues: list[tuple[str, str, str]] = [] # (severity, category, message)
|
|
2177
|
+
warnings: list[tuple[str, str, str]] = []
|
|
2178
|
+
|
|
2179
|
+
def _ok(msg: str) -> None:
|
|
2180
|
+
console.print(f" [green]✓[/green] {msg}")
|
|
2181
|
+
|
|
2182
|
+
def _warn(msg: str) -> None:
|
|
2183
|
+
console.print(f" [yellow]⚠[/yellow] {msg}")
|
|
2184
|
+
|
|
2185
|
+
def _fail(msg: str) -> None:
|
|
2186
|
+
console.print(f" [red]✗[/red] {msg}")
|
|
2187
|
+
|
|
2188
|
+
# ── 1. Personal machine paths ─────────────────────────────────────
|
|
2189
|
+
console.print("[bold]─── 1. Personal Path Scan ───[/bold]")
|
|
2190
|
+
personal_pattern = re.compile(r"/Users/[\w.-]+/|\/home\/[\w.-]+/|C:\\Users\\[\w.-]+\\")
|
|
2191
|
+
found_personal: list[str] = []
|
|
2192
|
+
|
|
2193
|
+
# Scan README, source, and markdown files
|
|
2194
|
+
scan_extensions = {".md", ".py", ".js", ".ts", ".json", ".sh", ".yml", ".yaml", ".toml"}
|
|
2195
|
+
file_count = 0
|
|
2196
|
+
for ext in scan_extensions:
|
|
2197
|
+
for f in root.rglob(f"*{ext}"):
|
|
2198
|
+
# Skip ignored dirs
|
|
2199
|
+
if any(p in f.parts for p in [".git", "node_modules", "dist", "build", ".venv", "venv", "__pycache__"]):
|
|
2200
|
+
continue
|
|
2201
|
+
try:
|
|
2202
|
+
content = f.read_text(errors="ignore")
|
|
2203
|
+
except Exception:
|
|
2204
|
+
continue
|
|
2205
|
+
file_count += 1
|
|
2206
|
+
matches = personal_pattern.findall(content)
|
|
2207
|
+
if matches:
|
|
2208
|
+
# Show unique paths
|
|
2209
|
+
unique = set(matches)
|
|
2210
|
+
for m in unique:
|
|
2211
|
+
if m not in found_personal:
|
|
2212
|
+
found_personal.append(m)
|
|
2213
|
+
rel = f.relative_to(root) if f.is_relative_to(root) else f
|
|
2214
|
+
_fail(f"Found: {m} in {rel}")
|
|
2215
|
+
issues.append(("fail", "personal-path", f"{m} in {rel}"))
|
|
2216
|
+
|
|
2217
|
+
if not found_personal:
|
|
2218
|
+
_ok(f"No personal paths found ({file_count} files scanned)")
|
|
2219
|
+
console.print()
|
|
2220
|
+
|
|
2221
|
+
# ── 2. Tracked secrets ────────────────────────────────────────────
|
|
2222
|
+
console.print("[bold]─── 2. Tracked Secret Scan ───[/bold]")
|
|
2223
|
+
|
|
2224
|
+
# Check if .npmrc, .env*, .git/config is tracked
|
|
2225
|
+
secret_files = [".npmrc", ".env", ".env.local", ".env.test", ".env.production"]
|
|
2226
|
+
for sf in secret_files:
|
|
2227
|
+
f = root / sf
|
|
2228
|
+
if f.exists():
|
|
2229
|
+
# Check if tracked
|
|
2230
|
+
r = subprocess.run(
|
|
2231
|
+
["git", "ls-files", "--error-unmatch", str(f.relative_to(root))],
|
|
2232
|
+
cwd=str(root), capture_output=True, text=True
|
|
2233
|
+
)
|
|
2234
|
+
if r.returncode == 0:
|
|
2235
|
+
_fail(f"{sf} is tracked in git (contains secrets!)")
|
|
2236
|
+
issues.append(("fail", "tracked-secret", f"{sf} tracked"))
|
|
2237
|
+
else:
|
|
2238
|
+
_ok(f"{sf} exists locally but is NOT tracked (safe)")
|
|
2239
|
+
else:
|
|
2240
|
+
_ok(f"{sf} not present")
|
|
2241
|
+
console.print()
|
|
2242
|
+
|
|
2243
|
+
# ── 3. Secret patterns in tracked files ──────────────────────────
|
|
2244
|
+
console.print("[bold]─── 3. Secret Pattern Scan ───[/bold]")
|
|
2245
|
+
secret_patterns = {
|
|
2246
|
+
"npm token": re.compile(r"npm_[A-Za-z0-9]{20,}"),
|
|
2247
|
+
"GitHub PAT": re.compile(r"ghp_[A-Za-z0-9]{20,}"),
|
|
2248
|
+
"OpenAI key": re.compile(r"sk-[A-Za-z0-9]{20,}"),
|
|
2249
|
+
"Anthropic key": re.compile(r"sk-ant-[A-Za-z0-9]{20,}"),
|
|
2250
|
+
"PyPI token": re.compile(r"pypi-[A-Za-z0-9]{20,}"),
|
|
2251
|
+
"Generic API key": re.compile(r"(?i)(api[_-]?key|token|secret)\s*[:=]\s*['\"][A-Za-z0-9_-]{16,}['\"]"),
|
|
2252
|
+
}
|
|
2253
|
+
|
|
2254
|
+
found_secrets: list[tuple[str, str, str]] = []
|
|
2255
|
+
for ext in [".py", ".js", ".ts", ".json", ".sh", ".md"]:
|
|
2256
|
+
for f in root.rglob(f"*{ext}"):
|
|
2257
|
+
if any(p in f.parts for p in [".git", "node_modules", "dist", "build", ".venv", "venv", "__pycache__", ".pytest_cache"]):
|
|
2258
|
+
continue
|
|
2259
|
+
try:
|
|
2260
|
+
content = f.read_text(errors="ignore")
|
|
2261
|
+
except Exception:
|
|
2262
|
+
continue
|
|
2263
|
+
for name, pattern in secret_patterns.items():
|
|
2264
|
+
if pattern.search(content):
|
|
2265
|
+
rel = f.relative_to(root) if f.is_relative_to(root) else f
|
|
2266
|
+
# Skip if it's in a docstring example or test fixture
|
|
2267
|
+
if "example" in str(rel).lower() or "test" in str(rel).lower() or "fixture" in str(rel).lower():
|
|
2268
|
+
continue
|
|
2269
|
+
# Skip obvious placeholders
|
|
2270
|
+
if any(ph in content.lower() for ph in ["placeholder", "your_api_key", "xxx", "00000"]):
|
|
2271
|
+
continue
|
|
2272
|
+
found_secrets.append((name, str(rel), pattern.pattern[:30]))
|
|
2273
|
+
_fail(f"{name} pattern in {rel}")
|
|
2274
|
+
issues.append(("fail", "secret-pattern", f"{name} in {rel}"))
|
|
2275
|
+
|
|
2276
|
+
if not found_secrets:
|
|
2277
|
+
_ok("No secret patterns found")
|
|
2278
|
+
console.print()
|
|
2279
|
+
|
|
2280
|
+
# ── 4. .gitignore verification ────────────────────────────────────
|
|
2281
|
+
console.print("[bold]─── 4. .gitignore Verification ───[/bold]")
|
|
2282
|
+
gitignore = root / ".gitignore"
|
|
2283
|
+
if not gitignore.exists():
|
|
2284
|
+
_fail(".gitignore not found")
|
|
2285
|
+
issues.append(("fail", "no-gitignore", "no .gitignore"))
|
|
2286
|
+
else:
|
|
2287
|
+
content = gitignore.read_text()
|
|
2288
|
+
# Check critical rules
|
|
2289
|
+
required_rules = {
|
|
2290
|
+
".env": False,
|
|
2291
|
+
".env.": False,
|
|
2292
|
+
".npmrc": False,
|
|
2293
|
+
"node_modules": False,
|
|
2294
|
+
"__pycache__": False,
|
|
2295
|
+
}
|
|
2296
|
+
for line in content.split("\n"):
|
|
2297
|
+
line = line.strip()
|
|
2298
|
+
for rule in required_rules:
|
|
2299
|
+
if rule == line or (rule.endswith(".") and rule in line):
|
|
2300
|
+
required_rules[rule] = True
|
|
2301
|
+
|
|
2302
|
+
for rule, present in required_rules.items():
|
|
2303
|
+
if present:
|
|
2304
|
+
_ok(f".gitignore includes {rule} (or pattern)")
|
|
2305
|
+
else:
|
|
2306
|
+
_warn(f".gitignore missing {rule} rule")
|
|
2307
|
+
warnings.append(("warn", "gitignore-missing", f"missing {rule}"))
|
|
2308
|
+
console.print()
|
|
2309
|
+
|
|
2310
|
+
# ── Summary ───────────────────────────────────────────────────────
|
|
2311
|
+
n_fail = len(issues)
|
|
2312
|
+
n_warn = len(warnings)
|
|
2313
|
+
console.print("[bold]─── Summary ───[/bold]")
|
|
2314
|
+
|
|
2315
|
+
if n_fail == 0 and n_warn == 0:
|
|
2316
|
+
console.print(" [bold green]✓ All security checks passed — safe to publish.[/bold green]")
|
|
2317
|
+
bilgi = (
|
|
2318
|
+
f"[bold green]CodeDNA security: CLEAN[/bold green]\n\n"
|
|
2319
|
+
f"[dim]All checks passed. No personal paths, no tracked secrets, no secret patterns.[/dim]\n\n"
|
|
2320
|
+
f"[dim]Safe to run:[/dim] [cyan]npm publish[/cyan] [dim]or[/dim] [cyan]uv publish[/cyan]"
|
|
2321
|
+
)
|
|
2322
|
+
border = "green"
|
|
2323
|
+
elif n_fail == 0:
|
|
2324
|
+
console.print(f" [bold yellow]⚠ {n_warn} warning(s), 0 critical issues.[/bold yellow]")
|
|
2325
|
+
bilgi = (
|
|
2326
|
+
f"[bold yellow]CodeDNA security: WARNINGS[/bold yellow]\n\n"
|
|
2327
|
+
f"[dim]{n_warn} warning(s) to review, but no critical issues blocking publish.[/dim]\n\n"
|
|
2328
|
+
f"[dim]Re-run after fixes:[/dim] [cyan]codedna security-check[/cyan]"
|
|
2329
|
+
)
|
|
2330
|
+
border = "yellow"
|
|
2331
|
+
else:
|
|
2332
|
+
console.print(f" [bold red]✗ {n_fail} critical issue(s), {n_warn} warning(s).[/bold red]")
|
|
2333
|
+
for sev, cat, msg in issues:
|
|
2334
|
+
console.print(f" [red]•[/red] [{cat}] {msg}")
|
|
2335
|
+
bilgi = (
|
|
2336
|
+
f"[bold red]CodeDNA security: BLOCKED[/bold red]\n\n"
|
|
2337
|
+
f"[red]{n_fail} critical issue(s) must be fixed before publishing.[/red]\n\n"
|
|
2338
|
+
f"[dim]Fix issues, add to .gitignore, then re-run:[/dim]\n"
|
|
2339
|
+
f"[cyan]codedna security-check[/cyan]"
|
|
2340
|
+
)
|
|
2341
|
+
border = "red"
|
|
2342
|
+
|
|
2343
|
+
console.print()
|
|
2344
|
+
console.print(Panel(bilgi, border_style=border, padding=(1, 2)))
|
|
2345
|
+
console.print()
|
|
2346
|
+
|
|
2347
|
+
if n_fail > 0 or (strict and n_warn > 0):
|
|
2348
|
+
raise typer.Exit(1)
|
|
2349
|
+
|
|
2350
|
+
|
|
2149
2351
|
# ---------------------------------------------------------------------------
|
|
2150
2352
|
# codedna setup (interactive AI analysis configuration wizard)
|
|
2151
2353
|
# ---------------------------------------------------------------------------
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/assert/strict.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/buffer.buffer.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
{codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/child_process.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/compatibility/index.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/diagnostics_channel.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/globals.typedarray.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.5.1 → codedna-0.5.2}/vscode-extension/node_modules/@types/node/inspector.generated.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|