Repository Analysis

documenso/documenso

The Open Source DocuSign Alternative.

4.2 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of documenso/documenso, a TypeScript project with 13,802 GitHub stars. SynthScan v2.0 examined 270,089 lines of code across 2207 source files, recording 384 pattern matches distributed across 11 syntactic categories. The overall adjusted score of 4.2 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

4.2
Adjusted Score
4.2
Raw Score
100%
Time Factor
2026-07-14
Last Push
13.8K
Stars
TypeScript
Language
270.1K
Lines of Code
2.2K
Files
384
Pattern Hits
2026-07-14
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 46HIGH 0MEDIUM 110LOW 228

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 384 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hallucination Indicators46 hits · 460 pts
SeverityFileLineSnippetContext
CRITICAL…/ui/primitives/template-flow/add-template-settings.tsx125 const { data: emailData, isLoading: isLoadingEmails } = trpc.enterprise.organisation.email.find.useQuery({CODE
CRITICALpackages/ui/primitives/document-flow/add-subject.tsx90 const { data: emailData, isLoading: isLoadingEmails } = trpc.enterprise.organisation.email.find.useQuery({CODE
CRITICAL…app-tests/e2e/templates/organisation-templates.spec.ts217 const titles = json.result.data.json.data.map((t: { title: string }) => t.title);CODE
CRITICAL…app-tests/e2e/templates/organisation-templates.spec.ts235 const titles = json.result.data.json.data.map((t: { title: string }) => t.title);CODE
CRITICAL…app-tests/e2e/templates/organisation-templates.spec.ts254 const titles = json.result.data.json.data.map((t: { title: string }) => t.title);CODE
CRITICAL…app-tests/e2e/templates/organisation-templates.spec.ts282 const titles = json.result.data.json.data.map((t: { title: string }) => t.title);CODE
CRITICAL…app-tests/e2e/templates/organisation-templates.spec.ts298 const adminTitles = adminJson.result.data.json.data.map((t: { title: string }) => t.title);CODE
CRITICAL…app-tests/e2e/templates/organisation-templates.spec.ts466 const titles = json.result.data.json.data.map((t: { title: string }) => t.title);CODE
CRITICAL…app-tests/e2e/templates/organisation-templates.spec.ts502 const titles = json.result.data.json.data.map((t: { title: string }) => t.title);CODE
CRITICAL…ponents/tables/organisation-billing-invoices-table.tsx26 const { data, isLoading, isLoadingError } = trpc.enterprise.billing.invoices.get.useQuery(CODE
CRITICAL…components/tables/organisation-email-domains-table.tsx35 trpc.enterprise.organisation.emailDomain.verify.useMutation({CODE
CRITICAL…components/tables/organisation-email-domains-table.tsx44 const { data, isLoading, isLoadingError } = trpc.enterprise.organisation.emailDomain.find.useQuery(CODE
CRITICAL…p/components/tables/admin-organisation-stats-table.tsx80 const { data, isLoading, isLoadingError } = trpc.admin.organisation.stats.find.useQuery({CODE
CRITICAL…omponents/tables/organisation-member-invites-table.tsx39 const { data, isLoading, isLoadingError } = trpc.organisation.member.invite.find.useQuery(CODE
CRITICAL…omponents/tables/organisation-member-invites-table.tsx52 const { mutateAsync: resendOrganisationMemberInvitation } = trpc.organisation.member.invite.resend.useMutation({CODE
CRITICAL…omponents/tables/organisation-member-invites-table.tsx68 const { mutateAsync: deleteOrganisationMemberInvitations } = trpc.organisation.member.invite.deleteMany.useMutation({CODE
CRITICAL…/remix/app/components/forms/email-preferences-form.tsx56 const { data: emailData, isLoading: isLoadingEmails } = trpc.enterprise.organisation.email.find.useQuery({CODE
CRITICALapps/remix/app/components/general/billing-plans.tsx155 trpc.enterprise.billing.subscription.create.useMutation();CODE
CRITICALapps/remix/app/components/general/billing-plans.tsx313 const { mutateAsync: createSubscription, isPending } = trpc.enterprise.billing.subscription.create.useMutation();CODE
CRITICAL…components/general/organisation-usage-reset-button.tsx18 const { mutateAsync: reset, isPending } = trpc.admin.organisation.stats.reset.useMutation({CODE
CRITICAL…l/organisations/organisation-billing-portal-button.tsx23 const { mutateAsync: manageSubscription, isPending } = trpc.enterprise.billing.subscription.manage.useMutation();CODE
CRITICAL…/general/organisations/organisation-billing-banner.tsx36 const { mutateAsync: manageSubscription, isPending } = trpc.enterprise.billing.subscription.manage.useMutation();CODE
CRITICAL…nts/general/organisations/organisation-invitations.tsx25 const { data, isLoading } = trpc.organisation.member.invite.getMany.useQuery({CODE
CRITICAL…nts/general/organisations/organisation-invitations.tsx125 } = trpc.organisation.member.invite.accept.useMutation({CODE
CRITICAL…nts/general/organisations/organisation-invitations.tsx165 } = trpc.organisation.member.invite.decline.useMutation({CODE
CRITICAL…x/app/components/general/teams/team-email-dropdown.tsx27 trpc.team.email.verification.resend.useMutation({CODE
CRITICAL…al/envelope-editor/envelope-editor-settings-dialog.tsx224 const { data: emailData, isLoading: isLoadingEmails } = trpc.enterprise.organisation.email.find.useQuery(CODE
CRITICAL…/components/dialogs/admin-swap-subscription-dialog.tsx70 const { mutateAsync: swapSubscription } = trpc.admin.organisation.subscription.swap.useMutation();CODE
CRITICAL…/app/components/dialogs/organisation-create-dialog.tsx78 const { data: plansData } = trpc.enterprise.billing.plans.get.useQuery(undefined, {CODE
CRITICAL…ts/dialogs/organisation-email-domain-create-dialog.tsx67 const { mutateAsync: createOrganisationEmail } = trpc.enterprise.organisation.emailDomain.create.useMutation();CODE
CRITICAL…remix/app/components/dialogs/team-email-add-dialog.tsx53 const { mutateAsync: sendTeamEmailVerification, isPending } = trpc.team.email.verification.send.useMutation();CODE
CRITICAL…ts/dialogs/organisation-email-domain-delete-dialog.tsx56 trpc.enterprise.organisation.emailDomain.delete.useMutation({CODE
CRITICAL…omponents/dialogs/organisation-email-update-dialog.tsx62 const { mutateAsync: updateOrganisationEmail, isPending } = trpc.enterprise.organisation.email.update.useMutation();CODE
CRITICAL…omponents/dialogs/organisation-email-delete-dialog.tsx32 const { mutateAsync: deleteEmail, isPending: isDeleting } = trpc.enterprise.organisation.email.delete.useMutation({CODE
CRITICAL…omponents/dialogs/organisation-email-create-dialog.tsx70 const { mutateAsync: createOrganisationEmail, isPending } = trpc.enterprise.organisation.email.create.useMutation();CODE
CRITICAL…/app/components/dialogs/envelope-distribute-dialog.tsx100 const { data: emailData, isLoading: isLoadingEmails } = trpc.enterprise.organisation.email.find.useQuery(CODE
CRITICAL…mponents/dialogs/organisation-member-invite-dialog.tsx119 const { mutateAsync: createOrganisationMemberInvites } = trpc.organisation.member.invite.createMany.useMutation();CODE
CRITICAL…ialogs/admin-organisation-sync-subscription-dialog.tsx52 const { mutateAsync: syncSubscription } = trpc.admin.organisation.subscription.sync.useMutation();CODE
CRITICAL…ix/app/components/dialogs/team-email-delete-dialog.tsx67 trpc.team.email.verification.delete.useMutation({CODE
CRITICAL…uthenticated+/organisation.sso.confirmation.$token.tsx124 trpc.enterprise.organisation.authenticationPortal.declineLinkAccount.useMutation({CODE
CRITICAL…uthenticated+/organisation.sso.confirmation.$token.tsx141 trpc.enterprise.organisation.authenticationPortal.linkAccount.useMutation({CODE
CRITICAL…/routes/_authenticated+/o.$orgUrl.settings.billing.tsx32 trpc.enterprise.billing.subscription.get.useQuery({CODE
CRITICAL…/routes/_authenticated+/o.$orgUrl.settings.billing.tsx37 trpc.enterprise.billing.subscription.sync.useMutation();CODE
CRITICAL…/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx67 trpc.enterprise.organisation.authenticationPortal.get.useQuery({CODE
CRITICAL…/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx98 trpc.enterprise.organisation.authenticationPortal.update.useMutation();CODE
CRITICAL…uthenticated+/o.$orgUrl.settings.email-domains.$id.tsx40 const { data: emailDomain, isLoading: isLoadingEmailDomain } = trpc.enterprise.organisation.emailDomain.get.useQuery(CODE
Decorative Section Separators108 hits · 324 pts
SeverityFileLineSnippetContext
MEDIUM…kills/agent-browser/templates/authenticated-session.sh27# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh29# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh46# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh48# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh68# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh70# ================================================================COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/oauth.ts40// ─── Client construction ─────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/oauth.ts62// ─── Authorize URL builders (§8.3.2) ─────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/oauth.ts192// ─── Token exchange (§8.3.3) ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/oauth.ts256// ─── Revoke (§8.3.4) ─────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/oauth.ts284// ─── Error normalisation ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/types.ts14// ─── §10.1 common error envelope ─────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/types.ts23// ─── §11.1 info ──────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/types.ts49// ─── §11.4 credentials/list ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/types.ts68// ─── §11.5 credentials/info ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/types.ts133// ─── §11.9 signatures/signHash ───────────────────────────────────────────────COMMENT
MEDIUMpackages/ee/server-only/signing/csc/client/types.ts158// ─── §11.10 signatures/timestamp ─────────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/find-documents.ts138 // ─── Base query with common filters ──────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/find-documents.ts205 // ─── Personal path filters ───────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/find-documents.ts311 // ─── Team path filters ───────────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/find-documents.ts461 // ─── Assemble and execute ────────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/find-documents.ts501 // ─── Hydrate with Prisma ─────────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/get-stats.ts99 // ─── Base query builder ──────────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/get-stats.ts152 // ─── Shared filter helpers ───────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/get-stats.ts176 // ─── Per-status query builders ───────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/document/get-stats.ts275 // ─── Execute all counts in parallel ──────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/envelope/find-envelopes.ts127 // ─── Build Kysely query ──────────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/envelope/find-envelopes.ts185 // ─── Access control ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/envelope/find-envelopes.ts219 // ─── Execute: paginated data + count ──────────────────────────────────COMMENT
MEDIUMpackages/lib/server-only/envelope/find-envelopes.ts244 // ─── Hydrate with Prisma ─────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts63// ─── Happy path ──────────────────────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts101// ─── Confirmation text validation ────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts154// ─── Cancel ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts182// ─── Email checkbox ──────────────────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts237// ─── Documents are orphaned, not deleted ─────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts251 // ── Owner-authored envelopes ──────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts266 // ── Member-authored envelopes ─────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts281 // ── Manager-authored envelope (third author for good measure) ─────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts293 // ── Trigger the deletion via the admin UI ─────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts316 // ── Owner-authored envelopes ──────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts336 // ── Member-authored envelopes (the critical case) ─────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts356 // ── Manager-authored rejected envelope: also orphaned ─────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts365 // ── Original team is gone, member users still exist ───────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts382// ─── Owner can no longer access the deleted organisation ─────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts417// ─── Access control: UI ──────────────────────────────────────────────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts477// ─── Org with multiple members triggers email to the OWNER only ─────────────COMMENT
MEDIUM…ts/e2e/admin/organisations/delete-organisation.spec.ts539// ─── EnvelopeType.TEMPLATE is also cleaned up via orphan flow ───────────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts33// ─── Happy path ──────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts66// ─── emailVerified is set + password is null for admin-created users ────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts109// ─── Welcome email side effect: a PasswordResetToken is issued ───────────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts173// ─── Duplicate email is rejected ─────────────────────────────────────────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts217// ─── Validation: empty form ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts249// ─── Validation: malformed email ─────────────────────────────────────────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts293// ─── Cancel button closes dialog without creating ───────────────────────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts326// ─── Email is lowercased when stored ─────────────────────────────────────────COMMENT
MEDIUMpackages/app-tests/e2e/admin/users/create-user.spec.ts362// ─── Access control: non-admin cannot see the Create User affordance ────────COMMENT
MEDIUM…/admin/email-transports/email-transport-claims.spec.ts11// ─── Cleanup ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…/admin/email-transports/email-transport-claims.spec.ts24// ─── Helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…/admin/email-transports/email-transport-claims.spec.ts120// ─── Subscription claim: NO backport ─────────────────────────────────────────COMMENT
MEDIUM…/admin/email-transports/email-transport-claims.spec.ts158// ─── Subscription claim: WITH backport ───────────────────────────────────────COMMENT
48 more matches not shown…
Structural Annotation Overuse69 hits · 133 pts
SeverityFileLineSnippetContext
LOW…nts/plans/swift-pink-sky-simplewebauthn-v13-upgrade.md119### Step 1: Update package.json dependenciesCOMMENT
LOW…nts/plans/swift-pink-sky-simplewebauthn-v13-upgrade.md125### Step 2: Update type importsCOMMENT
LOW…nts/plans/swift-pink-sky-simplewebauthn-v13-upgrade.md128### Step 3: Update browser-side API callsCOMMENT
LOW…nts/plans/swift-pink-sky-simplewebauthn-v13-upgrade.md132### Step 4: Update server-side registrationCOMMENT
LOW…nts/plans/swift-pink-sky-simplewebauthn-v13-upgrade.md137### Step 5: Update server-side authenticationCOMMENT
LOW…nts/plans/swift-pink-sky-simplewebauthn-v13-upgrade.md142### Step 6: Update credential storage/retrievalCOMMENT
LOW…nts/plans/swift-pink-sky-simplewebauthn-v13-upgrade.md146### Step 7: Test passkey flowsCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md26#### Step 1: Enable pnpm via corepackCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md35#### Step 2: Create `pnpm-workspace.yaml`COMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md45#### Step 3: Convert lockfileCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md53#### Step 4: Create `.npmrc` for pnpmCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md65#### Step 5: Clean installCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md74#### Step 6: Convert `overrides` to `pnpm.overrides`COMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md93#### Step 7: Convert patch-package to pnpm patchesCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md109#### Step 8: Identify catalog candidatesCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md134#### Step 9: Define catalogs in `pnpm-workspace.yaml`COMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md193#### Step 10: Update workspace `package.json` filesCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md211#### Step 11: Convert internal references to `workspace:*`COMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md228#### Step 12: Update primary Dockerfile (`docker/Dockerfile`)COMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md244#### Step 13: Update CI workflowsCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md254#### Step 14: Update turborepo configCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md260#### Step 15: Remove npm-specific toolingCOMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md268#### Step 16: Tighten hoisting (optional, future)COMMENT
LOW.agents/plans/pale-lemon-rock-pnpm-migration.md281#### Step 17: Remove root-level dependency hoistingCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh20# Step 1: Navigate to formCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh24# Step 2: Snapshot to discover form elementsCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh29# Step 3: Fill form fields (customize these refs based on snapshot output)COMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh46# Step 4: Wait for submissionCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh50# Step 5: Verify resultCOMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts95 // Step 1: Update the envelope items.COMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts312 // Step 2: Update the general envelope data and meta.COMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts332 // Step 3: Update the recipientsCOMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts380 // Step 4: Update the fields.COMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts451 // Step 5: Handle attachments (set semantics: delete all existing, create new).COMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts15 // Step 1: Settings - Continue with defaultsCOMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts19 // Step 2: Add duplicate recipients with real emails for testingCOMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts37 // Step 3: Add fields for each recipient instanceCOMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts179 // Step 1: SettingsCOMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts182 // Step 2: Add multiple recipients with duplicate emailsCOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts345 // Step 1: Create initial envelope with Prisma (with first envelope item)COMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts387 // Step 2: Create second envelope item via APICOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts404 // Step 3: Update envelope via APICOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts421 // Step 4: Create recipient via APICOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts443 // Step 5: Get envelope to retrieve recipients and envelope itemsCOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts465 // Step 6: Create fields for first PDF (alignment fields)COMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts489 // Step 7: Create fields for second PDF (field-meta fields)COMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts513 // Step 8: Verify final envelope structureCOMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts306 // Step 1: Get a 3-page PDF loaded.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts319 // Step 2: Add a recipient.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts322 // Step 3: Navigate to addFields step and verify 3-page PDF is loaded.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts327 // Step 4: Place a Signature field on page 1.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts332 // Step 5: Scroll to page 2 and place a Text field.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts340 // Step 6: Navigate back to upload step.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts344 // Step 7: Replace with 1-page PDF.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts347 // Step 8: Navigate to addFields step to verify.COMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts17 // Step 1: Settings - Continue with defaultsCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts21 // Step 2: Add duplicate recipientsCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts39 // Step 3: Add fields for each recipientCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts62 // Step 4: Complete with subject and sendCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts105 // Step 1: Settings - Continue with defaultsCOMMENT
9 more matches not shown…
Verbosity Indicators45 hits · 86 pts
SeverityFileLineSnippetContext
LOW…ents/skills/agent-browser/templates/form-automation.sh20# Step 1: Navigate to formCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh24# Step 2: Snapshot to discover form elementsCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh29# Step 3: Fill form fields (customize these refs based on snapshot output)COMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh46# Step 4: Wait for submissionCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh50# Step 5: Verify resultCOMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts95 // Step 1: Update the envelope items.COMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts312 // Step 2: Update the general envelope data and meta.COMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts332 // Step 3: Update the recipientsCOMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts380 // Step 4: Update the fields.COMMENT
LOW…c/server/embedding-router/update-embedding-envelope.ts451 // Step 5: Handle attachments (set semantics: delete all existing, create new).COMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts15 // Step 1: Settings - Continue with defaultsCOMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts19 // Step 2: Add duplicate recipients with real emails for testingCOMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts37 // Step 3: Add fields for each recipient instanceCOMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts179 // Step 1: SettingsCOMMENT
LOW…-tests/e2e/templates-flow/duplicate-recipients.spec.ts182 // Step 2: Add multiple recipients with duplicate emailsCOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts345 // Step 1: Create initial envelope with Prisma (with first envelope item)COMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts387 // Step 2: Create second envelope item via APICOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts404 // Step 3: Update envelope via APICOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts421 // Step 4: Create recipient via APICOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts443 // Step 5: Get envelope to retrieve recipients and envelope itemsCOMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts465 // Step 6: Create fields for first PDF (alignment fields)COMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts489 // Step 7: Create fields for second PDF (field-meta fields)COMMENT
LOWpackages/app-tests/e2e/api/v2/envelopes-api.spec.ts513 // Step 8: Verify final envelope structureCOMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts306 // Step 1: Get a 3-page PDF loaded.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts319 // Step 2: Add a recipient.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts322 // Step 3: Navigate to addFields step and verify 3-page PDF is loaded.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts327 // Step 4: Place a Signature field on page 1.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts332 // Step 5: Scroll to page 2 and place a Text field.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts340 // Step 6: Navigate back to upload step.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts344 // Step 7: Replace with 1-page PDF.COMMENT
LOW…ts/e2e/envelope-editor-v2/envelope-replace-pdf.spec.ts347 // Step 8: Navigate to addFields step to verify.COMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts17 // Step 1: Settings - Continue with defaultsCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts21 // Step 2: Add duplicate recipientsCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts39 // Step 3: Add fields for each recipientCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts62 // Step 4: Complete with subject and sendCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts105 // Step 1: Settings - Continue with defaultsCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts109 // Step 2: Add initial recipientCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts230 // Step 1: SettingsCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts233 // Step 2: Add duplicate recipients with different rolesCOMMENT
LOW…p-tests/e2e/document-flow/duplicate-recipients.spec.ts251 // Step 3: Add different field types for each duplicateCOMMENT
LOW…/e2e/document-flow/duplicate-recipients-simple.spec.ts18 // Step 1: Settings - Continue with defaultsCOMMENT
LOW…/e2e/document-flow/duplicate-recipients-simple.spec.ts22 // Step 2: Add duplicate recipientsCOMMENT
LOW…/e2e/document-flow/duplicate-recipients-simple.spec.ts34 // Step 3: Add fieldsCOMMENT
LOW…ges/app-tests/e2e/envelopes/envelope-alignment.spec.ts73 // Step 1: Create initial envelope with Prisma (with first envelope item)COMMENT
LOW…ages/app-tests/e2e/envelopes/envelope-overflow.spec.ts72 // Step 1: Create initial envelope with overflow PDFCOMMENT
Fake / Example Data49 hits · 52 pts
SeverityFileLineSnippetContext
LOWWRITING_STYLE.md218 recipients: [{ email: "signer@example.com", name: "John Doe" }],CODE
LOWWRITING_STYLE.md226 recipients: [{ email: "signer@example.com", name: "John Doe" }],CODE
LOW…old-emerald-earth-pdf-placeholder-field-positioning.md52 "placeholder": "{{signature}}"CODE
LOW.agents/skills/agent-browser/SKILL.md23agent-browser fill @e1 "user@example.com"CODE
LOW.agents/skills/agent-browser/SKILL.md74agent-browser fill @e1 "Jane Doe"CODE
LOW…ents/skills/agent-browser/references/authentication.md31agent-browser fill @e1 "user@example.com"CODE
LOW…ents/skills/agent-browser/references/authentication.md50agent-browser fill @e1 "user@example.com"CODE
LOW…ents/skills/agent-browser/references/authentication.md107agent-browser fill @e1 "user@example.com"CODE
LOW…gents/skills/agent-browser/references/snapshot-refs.md72agent-browser fill @e10 "user@example.com"CODE
LOW…/skills/agent-browser/references/session-management.md29agent-browser --session auth fill @e1 "user@example.com"CODE
LOW…ents/skills/agent-browser/templates/form-automation.sh32# agent-browser fill @e1 "John Doe" # Text inputCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh33# agent-browser fill @e2 "user@example.com" # Email inputCOMMENT
LOWpackages/ui/primitives/multiselect.tsx74 'value' | 'placeholder' | 'disabled'CODE
LOW…ment-flow/field-items-advanced-settings/text-field.tsx61 id="placeholder"CODE
LOW…ment-flow/field-items-advanced-settings/text-field.tsx65 onChange={(e) => handleFieldChange('placeholder', e.target.value)}CODE
LOW…nt-flow/field-items-advanced-settings/number-field.tsx71 id="placeholder"CODE
LOW…nt-flow/field-items-advanced-settings/number-field.tsx75 onChange={(e) => handleFieldChange('placeholder', e.target.value)}CODE
LOWpackages/lib/constants/pdf.test.ts17 expectCaveat(getSignatureFontFamily('John Doe'));CODE
LOW…ckages/lib/server-only/field/create-envelope-fields.ts61 return 'placeholder' in position;CODE
LOW…ib/server-only/ai/envelope/detect-recipients/prompt.ts33- "Signed: _________ John Doe" → { name: "John Doe", role: "SIGNER", signingOrder: 1 }CODE
LOW…b/server-only/webhooks/trigger/generate-sample-data.ts60 name: 'John Doe',CODE
LOW…b/server-only/webhooks/trigger/generate-sample-data.ts82 name: 'John Doe',CODE
LOWpackages/api/v1/examples/05-add-a-recipient.ts20 name: 'John Doe',CODE
LOWpackages/api/v1/examples/01-create-and-send-document.ts18 name: 'John Doe',CODE
LOWpackages/api/v1/examples/01-create-and-send-document.ts23 name: 'Jane Doe',CODE
LOWpackages/app-tests/constants/field-overflow-pdf.ts371 signature: 'John Doe',CODE
LOWpackages/app-tests/constants/field-overflow-pdf.ts400 signature: 'John Doe',CODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts121 customText: 'John Doe',CODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts131 customText: 'John Doe',CODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts142 customText: 'John Doe',CODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts713 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magCODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts713 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magCODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts726 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magCODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts726 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magCODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts739 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magCODE
LOWpackages/app-tests/constants/field-alignment-pdf.ts739 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magCODE
LOWpackages/app-tests/e2e/user/update-name.spec.ts13 await page.getByLabel('Full Name').fill('John Doe');CODE
LOWpackages/app-tests/e2e/user/update-name.spec.ts24 expect((await getUserByEmail({ email: user.email })).name).toEqual('John Doe');CODE
LOW…kages/app-tests/e2e/templates/direct-templates.spec.ts480 const currentName = 'John Doe';CODE
LOWpackages/email/templates/document-recipient-signed.tsx18 recipientName = 'John Doe',CODE
LOWpackages/email/templates/organisation-invite.tsx21 senderName = 'John Doe',CODE
LOWpackages/email/templates/recipient-expired.tsx14 recipientName = 'John Doe',CODE
LOWpackages/email/templates/organisation-join.tsx22 memberName = 'John Doe',CODE
LOWpackages/email/templates/organisation-leave.tsx22 memberName = 'John Doe',CODE
LOW…il/templates/document-created-from-direct-template.tsx21 recipientName = 'John Doe',CODE
LOWpackages/email/templates/document-reminder.tsx23 recipientName = 'John Doe',CODE
LOW…mix/app/components/forms/document-preferences-form.tsx110 const placeholderEmail = user.email ?? 'user@example.com';CODE
LOW…app/components/forms/editor/editor-field-text-form.tsx137 name="placeholder"CODE
LOW…p/components/forms/editor/editor-field-number-form.tsx148 name="placeholder"CODE
Hyper-Verbose Identifiers32 hits · 32 pts
SeverityFileLineSnippetContext
LOW…mponents/document/envelope-recipient-field-tooltip.tsx45export function EnvelopeRecipientFieldTooltip({CODE
LOWpackages/lib/utils/embed-config.ts14export function buildEmbeddedEditorOptions(CODE
LOW…ges/lib/server-only/recipient/get-is-recipient-turn.ts8export async function getIsRecipientsTurnToSign({ token }: GetIsRecipientTurnOptions) {CODE
LOW…erver-only/admin/get-organisation-detailed-insights.ts59export async function getOrganisationDetailedInsights({CODE
LOW…e-components/template-document-rejection-confirmed.tsx12export function TemplateDocumentRejectionConfirmed({CODE
LOW…kages/email/templates/document-rejection-confirmed.tsx17export function DocumentRejectionConfirmedEmail({CODE
LOW…cument-signing/document-signing-recipient-provider.tsx51export function useDocumentSigningRecipientContext() {CODE
LOW…al/document-signing/document-signing-reject-dialog.tsx36export function DocumentSigningRejectDialog({CODE
LOW…p/components/dialogs/assistant-confirmation-dialog.tsx43export function AssistantConfirmationDialog({CODE
LOW…uthenticated+/organisation.sso.confirmation.$token.tsx114export default function OrganisationSsoConfirmationTokenPage({ loaderData }: Route.ComponentProps) {CODE
LOW…x/app/routes/_unauthenticated+/verify-email._index.tsx13export default function EmailVerificationWithoutTokenPage() {CODE
LOW…routes/_authenticated+/o.$orgUrl.settings.branding.tsx28export default function OrganisationSettingsBrandingPage() {CODE
LOW…/routes/_authenticated+/o.$orgUrl.settings.general.tsx18export default function OrganisationSettingsGeneral() {CODE
LOW…enticated+/o.$orgUrl.settings.email-domains._index.tsx20export default function OrganisationSettingsEmailDomains() {CODE
LOW…routes/_authenticated+/o.$orgUrl.settings.document.tsx30export default function OrganisationSettingsDocumentPage() {CODE
LOW…/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx62export default function OrganisationSettingSSOLoginPage() {CODE
LOW…pp/routes/_authenticated+/o.$orgUrl.settings.email.tsx16export default function OrganisationSettingsGeneral() {CODE
LOW…uthenticated+/o.$orgUrl.settings.email-domains.$id.tsx33export default function OrganisationEmailDomainSettingsPage({ params }: Route.ComponentProps) {CODE
LOW…pp/routes/_authenticated+/o.$orgUrl.settings.teams.tsx11export default function OrganisationSettingsTeamsPage() {CODE
LOW…/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx33export default function OrganisationSettingsTeamsPage() {CODE
LOW…utes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx41export default function OrganisationGroupSettingsPage({ params }: Route.ComponentProps) {CODE
LOW…_authenticated+/settings+/security.linked-accounts.tsx30export default function SettingsSecurityLinkedAccounts() {CODE
LOW…pp/routes/_authenticated+/admin+/organisations.$id.tsx62export default function OrganisationGroupSettingsPage({ params, loaderData }: Route.ComponentProps) {CODE
LOW…pp/routes/_authenticated+/admin+/email-domains.$id.tsx41export default function AdminEmailDomainDetailPage({ loaderData }: Route.ComponentProps) {CODE
LOW…s/_authenticated+/admin+/unsealed-documents._index.tsx19export default function AdminUnsealedDocumentsPage() {CODE
LOW…app/routes/embed+/v2+/authoring+/envelope.edit.$id.tsx105export default function EmbeddingAuthoringEnvelopeEditPage() {CODE
LOW…outes/embed+/v2+/authoring+/envelope.create._index.tsx88export default function EmbeddingAuthoringEnvelopeCreatePage() {CODE
LOW…/app/routes/embed+/v1+/authoring_.completed.create.tsx6export default function EmbeddingAuthoringCompletedPage() {CODE
LOW…x/app/routes/embed+/v1+/authoring+/template.create.tsx19export default function EmbeddingAuthoringTemplateCreatePage() {CODE
LOW…app/routes/embed+/v1+/authoring+/template.edit.$id.tsx81export default function EmbeddingAuthoringTemplateEditPage() {CODE
LOW…x/app/routes/embed+/v1+/authoring+/document.create.tsx20export default function EmbeddingAuthoringDocumentCreatePage() {CODE
LOW…app/routes/embed+/v1+/authoring+/document.edit.$id.tsx81export default function EmbeddingAuthoringDocumentEditPage() {CODE
Over-Commented Block26 hits · 26 pts
SeverityFileLineSnippetContext
LOWdocker/development/compose.yml61 # Basic auth credentials Gotenberg checks when `--api-enable-basic-auth`COMMENT
LOW…nts/skills/agent-browser/templates/capture-workflow.sh1#!/bin/bashCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh1#!/bin/bashCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh21agent-browser open "$FORM_URL"COMMENT
LOW…kills/agent-browser/templates/authenticated-session.sh1#!/bin/bashCOMMENT
LOW…kills/agent-browser/templates/authenticated-session.sh61echo " 2. Update the LOGIN FLOW section below with your refs"COMMENT
LOW…kills/agent-browser/templates/authenticated-session.sh81# agent-browser click @e3COMMENT
LOW…ment-flow/field-items-advanced-settings/date-field.tsx21 // const handleInput = (field: keyof DateFieldMeta, value: string | boolean) => {COMMENT
LOWpackages/trpc/server/team-router/update-team.types.ts1import { ZNameSchema } from '@documenso/lib/types/name';COMMENT
LOW…pc/server/envelope-router/bulk-move-envelopes.types.ts1import { EnvelopeType } from '@prisma/client';COMMENT
LOW…/server/envelope-router/bulk-delete-envelopes.types.ts1import { z } from 'zod';COMMENT
LOWpackages/lib/constants/crypto.ts1import { env } from '../utils/env';COMMENT
LOWpackages/lib/constants/crypto.ts21// console.warn('*');COMMENT
LOWpackages/lib/server-only/user/create-user.ts41 // const user = await prisma.$transaction(async (tx) => {COMMENT
LOWpackages/lib/server-only/envelope/update-envelope.ts281 from: envelope.visibility,COMMENT
LOWpackages/lib/server-only/envelope/update-envelope.ts301 // }COMMENT
LOWpackages/lib/jobs/client/index.ts1// Empty file for build reasons.COMMENT
LOWpackages/app-tests/playwright.config.ts121 // use: { ...devices['Pixel 5'] },COMMENT
LOWpackages/app-tests/playwright.config.ts141 // command: 'npm run start',COMMENT
LOW…tests/e2e/templates-flow/template-signers-step.spec.ts1import { seedBlankTemplate } from '@documenso/prisma/seed/templates';COMMENT
LOW…tests/e2e/templates-flow/template-signers-step.spec.ts21// await seedUserSubscription({COMMENT
LOW…tests/e2e/templates-flow/template-signers-step.spec.ts41// await page.getByRole('button', { name: 'Add Placeholder Recipient' }).click();COMMENT
LOW…/app-tests/e2e/api/v1/organisation-rate-limits.spec.ts441 }COMMENT
LOW…p/routes/_authenticated+/settings+/security._index.tsx21 return appMetaTags(msg`Security`);COMMENT
LOWapps/remix/server/middleware.ts61// 1. Starts with /api/, /ingest/, /__manifest/, or /assets/COMMENT
LOWapps/remix/server/security-headers.ts81 `script-src 'self' 'nonce-${nonce}' 'strict-dynamic'`,COMMENT
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOW.github/workflows/publish.yml111 # Check if the version is stable (no rc or beta in the version)COMMENT
LOW.github/workflows/publish.yml152 # Check if the version is stable (no rc or beta in the version)COMMENT
LOWapps/remix/.bin/stripe-dev.sh37# Check if NEXT_PUBLIC_FEATURE_BILLING_ENABLED is equal to trueCOMMENT
LOWapps/remix/.bin/stripe-dev.sh46# Check if NEXT_PRIVATE_STRIPE_API_KEY existsCOMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMapps/remix/app/routes/embed+/_v0+/direct.$token.tsx47 // TODO: Make this more robust, we need to ensure the owner is eitherCOMMENT
MEDIUMapps/remix/app/routes/embed+/_v0+/sign.$token.tsx67 // TODO: Make this more robust, we need to ensure the owner is eitherCOMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWpackages/email/preview/app/entry.server.tsx11export default function handleRequest(CODE
LOWapps/remix/app/entry.server.tsx17export default async function handleRequest(CODE
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpackages/lib/server-only/email/get-email-context.ts61 * Force meta options as a typesafe way to ensure developers don't forget toCOMMENT