codedna 0.2.16__tar.gz → 0.2.17__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.2.16 → codedna-0.2.17}/PKG-INFO +1 -1
- {codedna-0.2.16 → codedna-0.2.17}/codedna/__init__.py +1 -1
- {codedna-0.2.16 → codedna-0.2.17}/codedna/cli.py +81 -81
- {codedna-0.2.16 → codedna-0.2.17}/pyproject.toml +1 -1
- {codedna-0.2.16 → codedna-0.2.17}/.env.example +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.env.ls +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.github/CODEOWNERS +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.github/dependabot.yml +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.github/workflows/codedna.yml +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.github/workflows/codeql.yml +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.github/workflows/test.yml +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.gitignore +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/.python-version +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/CHANGELOG.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/CONTRIBUTING.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/LICENSE +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/README.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/SECURITY.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/ai.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/ai_box.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/ai_fingerprint.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/analyzer.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/api.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/auth.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/bus_factor.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/db.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/git_hook.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/integrations/__init__.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/integrations/github_bot.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/integrations/jira.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/integrations/lemonsqueezy.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/interview.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/onboarding.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/plan.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/protection.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/rate_limit.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/scorer.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/sprint_health.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/survey.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/codedna/tech_debt.py +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/.env.local.example +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/.gitignore +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/README.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/ai-compare/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/api/auth/login/route.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/api/auth/logout/route.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/api/auth/me/route.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/api/auth/register/route.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/api/billing/checkout/route.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/billing/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/bus-factor/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/commits/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/debt/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/favicon.ico +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/files/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/fonts/GeistMonoVF.woff +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/fonts/GeistVF.woff +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/globals.css +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/interview/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/layout.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/login/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/onboarding/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/pricing/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/protected/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/register/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/settings/integrations/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/app/sprints/page.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/AnlamaGrafigi.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/AuthProvider.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/ClientProviders.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/CommitTable.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/CostInfoTooltip.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/FeatureGate.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/FileHeatmap.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/HataBanner.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/LanguageSwitcher.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/NavClient.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/OverviewTitles.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/QuickInsights.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/RiskBadge.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/SummaryCards.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/components/UpgradeBanner.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/lib/api.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/lib/auth.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/lib/i18n/en.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/lib/i18n/index.tsx +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/lib/i18n/tr.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/lib/plan.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/next-env.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/next.config.mjs +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/package-lock.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/package.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/postcss.config.mjs +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/tailwind.config.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/dashboard/tsconfig.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/hooks/post-commit +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/uv.lock +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/.bin/tsc +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/.bin/tsserver +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/.package-lock.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/LICENSE +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/README.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/assert/strict.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/assert.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/async_hooks.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/buffer.buffer.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/buffer.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/child_process.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/cluster.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/compatibility/disposable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/compatibility/index.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/compatibility/indexable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/compatibility/iterators.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/console.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/constants.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/crypto.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/dgram.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/dns/promises.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/dns.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/domain.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/events.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/fs/promises.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/fs.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/globals.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/globals.typedarray.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/http.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/http2.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/https.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/index.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/inspector.generated.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/module.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/net.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/os.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/package.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/path.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/perf_hooks.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/process.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/punycode.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/querystring.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/readline/promises.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/readline.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/repl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/sea.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/stream/consumers.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/stream/promises.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/stream/web.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/stream.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/string_decoder.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/test.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/timers/promises.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/timers.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/tls.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/trace_events.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/ts5.6/index.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/tty.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/url.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/util.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/v8.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/vm.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/wasi.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/web-globals/domexception.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/web-globals/events.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/web-globals/fetch.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/worker_threads.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/node/zlib.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/vscode/LICENSE +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/vscode/README.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/vscode/index.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/@types/vscode/package.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/LICENSE.txt +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/README.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/SECURITY.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/ThirdPartyNoticeText.txt +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/bin/tsc +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/bin/tsserver +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/_tsc.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/_tsserver.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/_typingsInstaller.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.decorators.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.dom.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2016.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2018.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2019.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2021.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2022.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2023.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es5.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.es6.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.scripthost.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.webworker.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/tsc.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/tsserver.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/typesMap.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/typescript.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/typescript.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/typingsInstaller.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/watchGuard.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/typescript/package.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/LICENSE +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/README.md +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/agent.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/api.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/balanced-pool.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/cache.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/client.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/connector.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/content-type.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/cookies.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/dispatcher.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/errors.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/eventsource.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/fetch.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/file.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/filereader.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/formdata.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/global-dispatcher.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/global-origin.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/handlers.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/header.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/index.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/interceptors.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/mock-agent.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/mock-client.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/mock-errors.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/mock-interceptor.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/mock-pool.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/package.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/patch.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/pool-stats.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/pool.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/proxy-agent.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/readable.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/retry-agent.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/retry-handler.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/util.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/webidl.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/node_modules/undici-types/websocket.d.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/out/apiClient.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/out/apiClient.js.map +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/out/decorations.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/out/decorations.js.map +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/out/extension.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/out/extension.js.map +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/out/statusBar.js +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/out/statusBar.js.map +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/package-lock.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/package.json +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/src/apiClient.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/src/decorations.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/src/extension.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/src/statusBar.ts +0 -0
- {codedna-0.2.16 → codedna-0.2.17}/vscode-extension/tsconfig.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codedna
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.17
|
|
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
|
|
@@ -31,7 +31,7 @@ from codedna.survey import run_survey
|
|
|
31
31
|
|
|
32
32
|
app = typer.Typer(
|
|
33
33
|
name="codedna",
|
|
34
|
-
help="🧬 CodeDNA — AI
|
|
34
|
+
help="🧬 CodeDNA — AI code transparency tool",
|
|
35
35
|
add_completion=False,
|
|
36
36
|
no_args_is_help=True,
|
|
37
37
|
)
|
|
@@ -45,7 +45,7 @@ def _version_callback(value: bool) -> None:
|
|
|
45
45
|
from importlib.metadata import version as _v
|
|
46
46
|
ver = _v("codedna")
|
|
47
47
|
except Exception:
|
|
48
|
-
ver = "0.2.
|
|
48
|
+
ver = "0.2.17"
|
|
49
49
|
console.print(f"codedna {ver}")
|
|
50
50
|
raise typer.Exit()
|
|
51
51
|
|
|
@@ -74,10 +74,10 @@ def _get_db(repo_path: Optional[Path] = None) -> Path:
|
|
|
74
74
|
# ---------------------------------------------------------------------------
|
|
75
75
|
@app.command()
|
|
76
76
|
def init(
|
|
77
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
77
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
78
78
|
with_ci: bool = typer.Option(False, "--with-ci", help="GitHub Actions CI şablonunu da oluştur"),
|
|
79
79
|
) -> None:
|
|
80
|
-
"""
|
|
80
|
+
"""Install git hook, create database, and optionally write CI template."""
|
|
81
81
|
console.print()
|
|
82
82
|
console.print(
|
|
83
83
|
Panel.fit(
|
|
@@ -116,11 +116,11 @@ def init(
|
|
|
116
116
|
bilgi = (
|
|
117
117
|
"[bold green]CodeDNA başarıyla kuruldu![/bold green]\n"
|
|
118
118
|
"Artık her [bold]git commit[/bold] sonrası otomatik analiz çalışacak.\n\n"
|
|
119
|
-
"[dim]• Tüm repoyu taramak
|
|
120
|
-
"[dim]• Son commit skorunu görmek
|
|
121
|
-
"[dim]• Geçmiş skorları görmek
|
|
122
|
-
"[dim]• API sunucuyu başlatmak
|
|
123
|
-
"[dim]• HTML rapor üretmek
|
|
119
|
+
"[dim]• Tüm repoyu taramak for:[/dim] [cyan]codedna scan[/cyan]\n"
|
|
120
|
+
"[dim]• Son commit skorunu görmek for:[/dim] [cyan]codedna status[/cyan]\n"
|
|
121
|
+
"[dim]• Geçmiş skorları görmek for:[/dim] [cyan]codedna history[/cyan]\n"
|
|
122
|
+
"[dim]• API sunucuyu başlatmak for:[/dim] [cyan]codedna serve[/cyan]\n"
|
|
123
|
+
"[dim]• HTML rapor üretmek for:[/dim] [cyan]codedna report[/cyan]"
|
|
124
124
|
)
|
|
125
125
|
if with_ci:
|
|
126
126
|
bilgi += "\n[dim]• CI şablonu:[/dim] [cyan].github/workflows/codedna.yml[/cyan]"
|
|
@@ -134,11 +134,11 @@ def init(
|
|
|
134
134
|
# ---------------------------------------------------------------------------
|
|
135
135
|
@app.command()
|
|
136
136
|
def scan(
|
|
137
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
138
|
-
max_files: int = typer.Option(200, "--max", "-m", help="
|
|
139
|
-
min_risk: float = typer.Option(0.0, "--min-risk", help="Minimum AI
|
|
137
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
138
|
+
max_files: int = typer.Option(200, "--max", "-m", help="Maximum number of files to scan"),
|
|
139
|
+
min_risk: float = typer.Option(0.0, "--min-risk", help="Minimum AI probability filter (0.0-1.0)"),
|
|
140
140
|
) -> None:
|
|
141
|
-
"""
|
|
141
|
+
"""Scan current repo and show AI risk report."""
|
|
142
142
|
console.print()
|
|
143
143
|
console.print("[bold cyan]🧬 CodeDNA[/bold cyan] — Repo scanning...\n")
|
|
144
144
|
|
|
@@ -268,10 +268,10 @@ def scan(
|
|
|
268
268
|
# ---------------------------------------------------------------------------
|
|
269
269
|
@app.command()
|
|
270
270
|
def status(
|
|
271
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
271
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
272
272
|
hook: bool = typer.Option(False, "--hook", hidden=True, help="Hook modunda çalış (anket sor)"),
|
|
273
273
|
) -> None:
|
|
274
|
-
"""
|
|
274
|
+
"""Show last commit score (and ask survey in hook mode)."""
|
|
275
275
|
console.print()
|
|
276
276
|
kok = repo or find_git_root() or Path.cwd()
|
|
277
277
|
db_yolu = _get_db(kok)
|
|
@@ -374,10 +374,10 @@ def status(
|
|
|
374
374
|
# ---------------------------------------------------------------------------
|
|
375
375
|
@app.command()
|
|
376
376
|
def history(
|
|
377
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
378
|
-
limit: int = typer.Option(20, "--limit", "-n", help="
|
|
377
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
378
|
+
limit: int = typer.Option(20, "--limit", "-n", help="Number of commits to show"),
|
|
379
379
|
) -> None:
|
|
380
|
-
"""
|
|
380
|
+
"""Show historical commit scores as a table."""
|
|
381
381
|
console.print()
|
|
382
382
|
kok = repo or find_git_root() or Path.cwd()
|
|
383
383
|
db_yolu = _get_db(kok)
|
|
@@ -439,12 +439,12 @@ def history(
|
|
|
439
439
|
# ---------------------------------------------------------------------------
|
|
440
440
|
@app.command()
|
|
441
441
|
def serve(
|
|
442
|
-
host: str = typer.Option("127.0.0.1", "--host", help="
|
|
443
|
-
port: int = typer.Option(8000, "--port", "-p", help="Port
|
|
442
|
+
host: str = typer.Option("127.0.0.1", "--host", help="IP address to listen on"),
|
|
443
|
+
port: int = typer.Option(8000, "--port", "-p", help="Port number"),
|
|
444
444
|
reload: bool = typer.Option(False, "--reload", help="Geliştirme modunda otomatik yeniden başlat"),
|
|
445
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
445
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
446
446
|
) -> None:
|
|
447
|
-
"""FastAPI REST
|
|
447
|
+
"""Start the FastAPI REST server."""
|
|
448
448
|
import os
|
|
449
449
|
import uvicorn
|
|
450
450
|
|
|
@@ -486,10 +486,10 @@ def serve(
|
|
|
486
486
|
@app.command()
|
|
487
487
|
def report(
|
|
488
488
|
output: Path = typer.Option(Path("codedna-report.html"), "--output", "-o", help="Çıktı dosyası"),
|
|
489
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
490
|
-
open_browser: bool = typer.Option(False, "--open", help="
|
|
489
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
490
|
+
open_browser: bool = typer.Option(False, "--open", help="Open report in browser"),
|
|
491
491
|
) -> None:
|
|
492
|
-
"""HTML
|
|
492
|
+
"""Generate HTML report."""
|
|
493
493
|
import webbrowser
|
|
494
494
|
from datetime import datetime
|
|
495
495
|
from codedna.api import _rapor_html_olustur
|
|
@@ -550,9 +550,9 @@ def report(
|
|
|
550
550
|
# ---------------------------------------------------------------------------
|
|
551
551
|
@app.command(name="ai-compare")
|
|
552
552
|
def ai_compare(
|
|
553
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
553
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
554
554
|
) -> None:
|
|
555
|
-
"""
|
|
555
|
+
"""Show repo-wide AI tool comparison table."""
|
|
556
556
|
from codedna.ai_fingerprint import compare_tools_in_repo
|
|
557
557
|
from codedna.plan import is_feature_available
|
|
558
558
|
|
|
@@ -561,7 +561,7 @@ def ai_compare(
|
|
|
561
561
|
Panel(
|
|
562
562
|
"[bold yellow]🔒 This feature Enterprise plan available.[/bold yellow]\n"
|
|
563
563
|
"[dim]This feature is available on Enterprise plan.[/dim]\n\n"
|
|
564
|
-
"[dim]Yükseltmek
|
|
564
|
+
"[dim]Yükseltmek for:[/dim] [cyan]codedna plan activate <LICENSE_KEY>[/cyan]",
|
|
565
565
|
border_style="yellow",
|
|
566
566
|
padding=(1, 2),
|
|
567
567
|
)
|
|
@@ -620,9 +620,9 @@ def ai_compare(
|
|
|
620
620
|
def onboarding(
|
|
621
621
|
author: Optional[str] = typer.Option(None, "--author", "-a", help="Tek yazar analizi"),
|
|
622
622
|
team: bool = typer.Option(False, "--team", "-t", help="Takım geneli özet"),
|
|
623
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
623
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
624
624
|
) -> None:
|
|
625
|
-
"""
|
|
625
|
+
"""Measure developer onboarding speed and show ramp-up curve."""
|
|
626
626
|
from codedna.onboarding import (
|
|
627
627
|
get_author_curve, team_onboarding_summary, get_all_authors,
|
|
628
628
|
)
|
|
@@ -632,7 +632,7 @@ def onboarding(
|
|
|
632
632
|
console.print(
|
|
633
633
|
Panel(
|
|
634
634
|
"[bold yellow]🔒 This feature Team plan available.[/bold yellow]\n"
|
|
635
|
-
"[dim]Yükseltmek
|
|
635
|
+
"[dim]Yükseltmek for:[/dim] [cyan]codedna plan activate <LICENSE_KEY>[/cyan]",
|
|
636
636
|
border_style="yellow",
|
|
637
637
|
)
|
|
638
638
|
)
|
|
@@ -757,7 +757,7 @@ def pr_comment(
|
|
|
757
757
|
pr: Optional[int] = typer.Option(None, "--pr", help="PR numarası (boşsa event payload'dan algılanır)"),
|
|
758
758
|
rate: float = typer.Option(75.0, "--rate", help="Teknik borç saatlik ücreti"),
|
|
759
759
|
) -> None:
|
|
760
|
-
"""
|
|
760
|
+
"""Post CodeDNA analysis comment to GitHub PR (updates existing comment, no spam)."""
|
|
761
761
|
import os
|
|
762
762
|
from codedna.integrations.github_bot import (
|
|
763
763
|
format_pr_comment, post_or_update_comment, github_actions_pr_bilgisi,
|
|
@@ -826,16 +826,16 @@ def pr_comment(
|
|
|
826
826
|
# ---------------------------------------------------------------------------
|
|
827
827
|
# codedna protect
|
|
828
828
|
# ---------------------------------------------------------------------------
|
|
829
|
-
protect_app = typer.Typer(help="
|
|
829
|
+
protect_app = typer.Typer(help="Protected module management.")
|
|
830
830
|
app.add_typer(protect_app, name="protect")
|
|
831
831
|
|
|
832
832
|
|
|
833
833
|
@protect_app.command("add")
|
|
834
834
|
def protect_add(
|
|
835
|
-
file_path: str = typer.Argument(..., help="
|
|
836
|
-
threshold: float = typer.Option(3.5, "--threshold", "-t", help="Minimum
|
|
837
|
-
label: str = typer.Option("", "--label", "-l", help="
|
|
838
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
835
|
+
file_path: str = typer.Argument(..., help="File to protect"),
|
|
836
|
+
threshold: float = typer.Option(3.5, "--threshold", "-t", help="Minimum understanding score threshold"),
|
|
837
|
+
label: str = typer.Option("", "--label", "-l", help="Human-readable label"),
|
|
838
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
839
839
|
) -> None:
|
|
840
840
|
"""Bir dosyayı korumalı modül olarak işaretle."""
|
|
841
841
|
from codedna.protection import protect_module
|
|
@@ -864,7 +864,7 @@ def protect_add(
|
|
|
864
864
|
@protect_app.command("remove")
|
|
865
865
|
def protect_remove(
|
|
866
866
|
file_path: str = typer.Argument(..., help="Koruma kaldırılacak dosya yolu"),
|
|
867
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
867
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
868
868
|
) -> None:
|
|
869
869
|
"""Bir dosyadan korumayı kaldır."""
|
|
870
870
|
from codedna.protection import unprotect_module
|
|
@@ -886,7 +886,7 @@ def protect_remove(
|
|
|
886
886
|
|
|
887
887
|
@protect_app.command("list")
|
|
888
888
|
def protect_list(
|
|
889
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
889
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
890
890
|
) -> None:
|
|
891
891
|
"""Tüm korumalı modülleri ve durumlarını göster."""
|
|
892
892
|
from codedna.protection import check_protected_modules
|
|
@@ -903,7 +903,7 @@ def protect_list(
|
|
|
903
903
|
moduller = check_protected_modules(db_yolu)
|
|
904
904
|
if not moduller:
|
|
905
905
|
console.print("[yellow]No protected modül yok.[/yellow]")
|
|
906
|
-
console.print("[dim]Eklemek
|
|
906
|
+
console.print("[dim]Eklemek for:[/dim] [cyan]codedna protect add <dosya> --label 'Etiket'[/cyan]")
|
|
907
907
|
return
|
|
908
908
|
|
|
909
909
|
tablo = Table(
|
|
@@ -939,7 +939,7 @@ def protect_list(
|
|
|
939
939
|
|
|
940
940
|
@protect_app.command("check")
|
|
941
941
|
def protect_check(
|
|
942
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
942
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
943
943
|
) -> None:
|
|
944
944
|
"""Sadece eşik altına düşmüş (ihlaldeki) modülleri göster."""
|
|
945
945
|
from codedna.protection import get_violations
|
|
@@ -976,15 +976,15 @@ def protect_check(
|
|
|
976
976
|
# ---------------------------------------------------------------------------
|
|
977
977
|
# codedna interview
|
|
978
978
|
# ---------------------------------------------------------------------------
|
|
979
|
-
interview_app = typer.Typer(help="
|
|
979
|
+
interview_app = typer.Typer(help="Candidate interview tool.")
|
|
980
980
|
app.add_typer(interview_app, name="interview")
|
|
981
981
|
|
|
982
982
|
|
|
983
983
|
@interview_app.command("start")
|
|
984
984
|
def interview_start(
|
|
985
|
-
candidate: str = typer.Option(..., "--candidate", "-c", help="
|
|
986
|
-
difficulty: str = typer.Option("medium", "--difficulty", "-d", help="
|
|
987
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
985
|
+
candidate: str = typer.Option(..., "--candidate", "-c", help="Candidate name"),
|
|
986
|
+
difficulty: str = typer.Option("medium", "--difficulty", "-d", help="Difficulty: easy|medium|hard"),
|
|
987
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
988
988
|
) -> None:
|
|
989
989
|
"""Yeni mülakat oturumu başlat ve anonimleştirilmiş kod göster."""
|
|
990
990
|
from codedna.interview import select_candidate_file, generate_questions, start_session
|
|
@@ -994,7 +994,7 @@ def interview_start(
|
|
|
994
994
|
console.print(
|
|
995
995
|
Panel(
|
|
996
996
|
"[bold yellow]🔒 This feature Enterprise plan available.[/bold yellow]\n"
|
|
997
|
-
"[dim]Yükseltmek
|
|
997
|
+
"[dim]Yükseltmek for:[/dim] [cyan]codedna plan activate <LICENSE_KEY>[/cyan]",
|
|
998
998
|
border_style="yellow",
|
|
999
999
|
)
|
|
1000
1000
|
)
|
|
@@ -1040,14 +1040,14 @@ def interview_start(
|
|
|
1040
1040
|
console.print(f" [bold cyan]{i}.[/bold cyan] {soru}")
|
|
1041
1041
|
|
|
1042
1042
|
console.print(
|
|
1043
|
-
f"\n[dim]Değerlendirme
|
|
1043
|
+
f"\n[dim]Değerlendirme for:[/dim] [cyan]codedna interview score {session_id} --score 4.0 --notes 'Not'[/cyan]\n"
|
|
1044
1044
|
)
|
|
1045
1045
|
|
|
1046
1046
|
|
|
1047
1047
|
@interview_app.command("list")
|
|
1048
1048
|
def interview_list(
|
|
1049
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1050
|
-
limit: int = typer.Option(10, "--limit", "-n", help="
|
|
1049
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1050
|
+
limit: int = typer.Option(10, "--limit", "-n", help="Number of sessions to show"),
|
|
1051
1051
|
) -> None:
|
|
1052
1052
|
"""Geçmiş mülakat oturumlarını göster."""
|
|
1053
1053
|
from codedna.interview import get_sessions
|
|
@@ -1096,7 +1096,7 @@ def interview_score(
|
|
|
1096
1096
|
session_id: int = typer.Argument(..., help="Oturum ID'si"),
|
|
1097
1097
|
score: float = typer.Option(..., "--score", "-s", help="0.0–5.0 arası puan"),
|
|
1098
1098
|
notes: str = typer.Option("", "--notes", "-n", help="Değerlendirici notları"),
|
|
1099
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1099
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1100
1100
|
) -> None:
|
|
1101
1101
|
"""Mülakat oturumuna insan değerlendirmesi puanı ekle."""
|
|
1102
1102
|
from codedna.interview import submit_score
|
|
@@ -1127,11 +1127,11 @@ def interview_score(
|
|
|
1127
1127
|
# ---------------------------------------------------------------------------
|
|
1128
1128
|
@app.command(name="bus-factor")
|
|
1129
1129
|
def bus_factor(
|
|
1130
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1130
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1131
1131
|
critical: bool = typer.Option(False, "--critical", "-c", help="Sadece kritik (bus_factor=1) dosyaları göster"),
|
|
1132
|
-
max_files: int = typer.Option(500, "--max", "-m", help="
|
|
1132
|
+
max_files: int = typer.Option(500, "--max", "-m", help="Maximum number of files to process"),
|
|
1133
1133
|
) -> None:
|
|
1134
|
-
"""
|
|
1134
|
+
"""Run repo-wide bus factor analysis and show critical ownership risks."""
|
|
1135
1135
|
from codedna.bus_factor import calculate_bus_factor, get_at_risk_files, _BUYUK_REPO_ESIGI
|
|
1136
1136
|
from codedna.plan import is_feature_available
|
|
1137
1137
|
|
|
@@ -1141,7 +1141,7 @@ def bus_factor(
|
|
|
1141
1141
|
Panel(
|
|
1142
1142
|
"[bold yellow]🔒 This feature Team plan available.[/bold yellow]\n"
|
|
1143
1143
|
"[dim]This feature is available on Team plan.[/dim]\n\n"
|
|
1144
|
-
"[dim]Yükseltmek
|
|
1144
|
+
"[dim]Yükseltmek for:[/dim] [cyan]codedna plan activate <LICENSE_KEY>[/cyan]",
|
|
1145
1145
|
border_style="yellow",
|
|
1146
1146
|
padding=(1, 2),
|
|
1147
1147
|
)
|
|
@@ -1218,11 +1218,11 @@ def bus_factor(
|
|
|
1218
1218
|
# ---------------------------------------------------------------------------
|
|
1219
1219
|
@app.command()
|
|
1220
1220
|
def debt(
|
|
1221
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1221
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1222
1222
|
rate: float = typer.Option(75.0, "--rate", help="Saatlik maliyet ($/saat)"),
|
|
1223
1223
|
file: Optional[Path] = typer.Option(None, "--file", "-f", help="Tek dosya analizi"),
|
|
1224
1224
|
) -> None:
|
|
1225
|
-
"""
|
|
1225
|
+
"""Calculate repo-wide technical debt cost."""
|
|
1226
1226
|
from codedna.tech_debt import calculate_repo_debt, calculate_file_debt
|
|
1227
1227
|
from codedna.plan import get_current_plan, Plan
|
|
1228
1228
|
|
|
@@ -1339,16 +1339,16 @@ def debt(
|
|
|
1339
1339
|
# ---------------------------------------------------------------------------
|
|
1340
1340
|
# codedna sprint
|
|
1341
1341
|
# ---------------------------------------------------------------------------
|
|
1342
|
-
sprint_app = typer.Typer(help="Sprint
|
|
1342
|
+
sprint_app = typer.Typer(help="Sprint management and health score.")
|
|
1343
1343
|
app.add_typer(sprint_app, name="sprint")
|
|
1344
1344
|
|
|
1345
1345
|
|
|
1346
1346
|
@sprint_app.command("create")
|
|
1347
1347
|
def sprint_olustur(
|
|
1348
|
-
name: str = typer.Option(..., "--name", "-n", help="Sprint
|
|
1349
|
-
start: str = typer.Option(..., "--start", "-s", help="
|
|
1350
|
-
end: str = typer.Option(..., "--end", "-e", help="
|
|
1351
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1348
|
+
name: str = typer.Option(..., "--name", "-n", help="Sprint name"),
|
|
1349
|
+
start: str = typer.Option(..., "--start", "-s", help="Start date (YYYY-MM-DD)"),
|
|
1350
|
+
end: str = typer.Option(..., "--end", "-e", help="End date (YYYY-MM-DD)"),
|
|
1351
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1352
1352
|
) -> None:
|
|
1353
1353
|
"""Yeni sprint oluştur ve sağlık skoru hesapla."""
|
|
1354
1354
|
from datetime import datetime as dt
|
|
@@ -1360,7 +1360,7 @@ def sprint_olustur(
|
|
|
1360
1360
|
Panel(
|
|
1361
1361
|
"[bold yellow]🔒 This feature Team plan available.[/bold yellow]\n"
|
|
1362
1362
|
"[dim]This feature is available on Team plan.[/dim]\n\n"
|
|
1363
|
-
"[dim]Yükseltmek
|
|
1363
|
+
"[dim]Yükseltmek for:[/dim] [cyan]codedna plan activate <LICENSE_KEY>[/cyan]",
|
|
1364
1364
|
border_style="yellow",
|
|
1365
1365
|
padding=(1, 2),
|
|
1366
1366
|
)
|
|
@@ -1372,7 +1372,7 @@ def sprint_olustur(
|
|
|
1372
1372
|
baslangic = dt.fromisoformat(start)
|
|
1373
1373
|
bitis = dt.fromisoformat(end)
|
|
1374
1374
|
except ValueError:
|
|
1375
|
-
console.print(f"[bold red]Hata:[/bold red] Geçersiz tarih formatı.
|
|
1375
|
+
console.print(f"[bold red]Hata:[/bold red] Geçersiz tarih formatı. Usage: YYYY-MM-DD")
|
|
1376
1376
|
raise typer.Exit(1)
|
|
1377
1377
|
|
|
1378
1378
|
if bitis <= baslangic:
|
|
@@ -1414,7 +1414,7 @@ def sprint_olustur(
|
|
|
1414
1414
|
|
|
1415
1415
|
@sprint_app.command("health")
|
|
1416
1416
|
def sprint_sagligi(
|
|
1417
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1417
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1418
1418
|
) -> None:
|
|
1419
1419
|
"""Son sprint'in sağlık skorunu göster."""
|
|
1420
1420
|
from codedna.db import get_latest_sprint
|
|
@@ -1424,7 +1424,7 @@ def sprint_sagligi(
|
|
|
1424
1424
|
console.print(
|
|
1425
1425
|
Panel(
|
|
1426
1426
|
"[bold yellow]🔒 This feature Team plan available.[/bold yellow]\n"
|
|
1427
|
-
"[dim]Yükseltmek
|
|
1427
|
+
"[dim]Yükseltmek for:[/dim] [cyan]codedna plan activate <LICENSE_KEY>[/cyan]",
|
|
1428
1428
|
border_style="yellow",
|
|
1429
1429
|
)
|
|
1430
1430
|
)
|
|
@@ -1437,7 +1437,7 @@ def sprint_sagligi(
|
|
|
1437
1437
|
sprint = get_latest_sprint(db_path=db_yolu)
|
|
1438
1438
|
if not sprint:
|
|
1439
1439
|
console.print("[yellow]No saved sprint yok.[/yellow]")
|
|
1440
|
-
console.print("[dim]Oluşturmak
|
|
1440
|
+
console.print("[dim]Oluşturmak for:[/dim] [cyan]codedna sprint create --name 'Sprint 1' --start 2026-06-01 --end 2026-06-14[/cyan]")
|
|
1441
1441
|
return
|
|
1442
1442
|
|
|
1443
1443
|
skor = sprint["health_score"] or 0.0
|
|
@@ -1469,8 +1469,8 @@ def sprint_sagligi(
|
|
|
1469
1469
|
|
|
1470
1470
|
@sprint_app.command("history")
|
|
1471
1471
|
def sprint_gecmisi(
|
|
1472
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1473
|
-
limit: int = typer.Option(10, "--limit", "-n", help="
|
|
1472
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1473
|
+
limit: int = typer.Option(10, "--limit", "-n", help="Number of sprints to show"),
|
|
1474
1474
|
) -> None:
|
|
1475
1475
|
"""Geçmiş sprint'leri tablo olarak göster."""
|
|
1476
1476
|
from codedna.db import get_sprint_history as db_sprint_gecmisi
|
|
@@ -1533,19 +1533,19 @@ def sprint_gecmisi(
|
|
|
1533
1533
|
def plan(
|
|
1534
1534
|
komut: Optional[str] = typer.Argument(
|
|
1535
1535
|
None,
|
|
1536
|
-
help="'activate'
|
|
1536
|
+
help="'activate' or direct license key",
|
|
1537
1537
|
),
|
|
1538
1538
|
anahtar: Optional[str] = typer.Argument(
|
|
1539
1539
|
None,
|
|
1540
|
-
help="
|
|
1540
|
+
help="License key (used with activate)",
|
|
1541
1541
|
),
|
|
1542
1542
|
) -> None:
|
|
1543
|
-
"""
|
|
1543
|
+
"""Show current plan or activate a plan with a license key.
|
|
1544
1544
|
|
|
1545
|
-
|
|
1546
|
-
codedna plan #
|
|
1547
|
-
codedna plan activate <KEY> #
|
|
1548
|
-
codedna plan <KEY> #
|
|
1545
|
+
Usage:
|
|
1546
|
+
codedna plan # show current plan
|
|
1547
|
+
codedna plan activate <KEY> # activate license
|
|
1548
|
+
codedna plan <KEY> # shortcut
|
|
1549
1549
|
"""
|
|
1550
1550
|
from codedna.plan import (
|
|
1551
1551
|
Plan as PlanEnum,
|
|
@@ -1608,9 +1608,9 @@ def plan(
|
|
|
1608
1608
|
Panel(
|
|
1609
1609
|
f"[bold]Mevcut Plan / Current Plan:[/bold] [{plan_renk}]{mevcut.value.upper()}[/{plan_renk}]\n\n"
|
|
1610
1610
|
+ (
|
|
1611
|
-
"[dim]Lisans aktif etmek
|
|
1611
|
+
"[dim]Lisans aktif etmek for:[/dim] [cyan]codedna plan activate <LICENSE_KEY>[/cyan]"
|
|
1612
1612
|
if mevcut == PlanEnum.FREE
|
|
1613
|
-
else "[dim]Yükseltmek
|
|
1613
|
+
else "[dim]Yükseltmek for:[/dim] [cyan]codedna plan activate <LICENSE_KEY>[/cyan]"
|
|
1614
1614
|
),
|
|
1615
1615
|
title="[bold cyan]🧬 CodeDNA Plan[/bold cyan]",
|
|
1616
1616
|
border_style="cyan",
|
|
@@ -1628,9 +1628,9 @@ def plan(
|
|
|
1628
1628
|
def dashboard(
|
|
1629
1629
|
api_port: int = typer.Option(8000, "--api-port", help="FastAPI port numarası"),
|
|
1630
1630
|
ui_port: int = typer.Option(3000, "--ui-port", help="Next.js dashboard port numarası"),
|
|
1631
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1631
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1632
1632
|
) -> None:
|
|
1633
|
-
"""FastAPI + Next.js dashboard
|
|
1633
|
+
"""Start FastAPI + Next.js dashboard and open in browser."""
|
|
1634
1634
|
import os
|
|
1635
1635
|
import subprocess
|
|
1636
1636
|
import time
|
|
@@ -1737,9 +1737,9 @@ def dashboard(
|
|
|
1737
1737
|
# ---------------------------------------------------------------------------
|
|
1738
1738
|
@app.command()
|
|
1739
1739
|
def uninstall(
|
|
1740
|
-
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo
|
|
1740
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1741
1741
|
) -> None:
|
|
1742
|
-
"""CodeDNA hook
|
|
1742
|
+
"""Remove CodeDNA hook."""
|
|
1743
1743
|
kok = repo or find_git_root()
|
|
1744
1744
|
if uninstall_hook(kok):
|
|
1745
1745
|
console.print("[green]✓[/green] CodeDNA kaldırıldı.")
|
|
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
|