Repository Analysis

different-ai/openwork

An open-source alternative to Claude Cowork (powered by opencode)

2.6 Likely human-written View on GitHub
2.6
Adjusted Score
2.6
Raw Score
100%
Time Factor
2026-05-30
Last Push
15,666
Stars
TypeScript
Language
316,144
Lines of Code
1064
Files
795
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 26LOW 769

Pattern Findings

795 matches across 6 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers743 hits · 722 pts
SeverityFileLineSnippet
LOWee/packages/den-db/drizzle.config.ts11function resolveDrizzleDbCredentials() {
LOWee/packages/den-db/src/columns.ts19function getDatabaseEncryptionSecret() {
LOWee/packages/den-db/src/mysql-config.ts32export function parseMySqlConnectionConfig(databaseUrl: string): ParsedMySqlConfig {
LOWee/packages/den-db/src/client.ts43export function isTransientDbConnectionError(error: unknown): boolean {
LOWee/packages/den-db/src/client.ts90function parsePlanetScaleConfigFromDatabaseUrl(databaseUrl: string): PlanetScaleCredentials {
LOWee/packages/utils/src/skill-markdown.ts14function normalizeFrontmatterValue(value: string | undefined): string {
LOWee/apps/landing/app/api/_lib/security.ts84export function applyFixedWindowRateLimit(input: {
LOWee/apps/den-worker-proxy/src/app.ts50function normalizedSignedPreviewExpirySeconds() {
LOWee/apps/den-web/app/mcp/select-organization/page.tsx88export default function McpSelectOrganizationPage() {
LOWee/apps/den-web/app/sso/[orgSlug]/page.tsx7export default function OrganizationSsoSignInPage() {
LOWee/apps/den-web/app/api/_lib/upstream-proxy.ts114function buildUpstreamErrorResponse(status: number, error: string): Response {
LOWee/apps/den-web/app/api/_lib/upstream-proxy.ts141export function buildCorsPreflightResponse(request: NextRequest): Response {
LOWee/apps/den-web/app/api/_lib/upstream-proxy.ts256function shouldFallbackToAuthBaseForStream(response: Response, targetPath: string): boolean {
LOWee/apps/den-web/app/(den)/_lib/den-flow.ts234export function deriveOnboardingWorkerName(user: AuthUser): string {
LOWee/apps/den-web/app/(den)/_lib/den-flow.ts822export function buildOpenworkAppConnectUrl(
LOWee/apps/den-web/app/(den)/_lib/den-flow.ts868function parseWorkspaceIdFromWorkspacesPayload(payload: unknown): string | null {
LOWee/apps/den-web/app/(den)/_lib/den-flow.ts926export async function resolveOpenworkWorkspaceUrl(instanceUrl: string, accessToken: string): Promise<{ workspaceId: stri
LOWee/apps/den-web/app/(den)/_lib/mcp-oauth-route.ts1export function getMcpOAuthSelectOrganizationRoute(search: string) {
LOWee/apps/den-web/app/(den)/_lib/den-org.ts221function normalizeDesktopVersionString(value: string): string | null {
LOWee/apps/den-web/app/(den)/_lib/den-org.ts228export function parseOrganizationMetadata(metadata: string | null): DenOrganizationMetadata | null {
LOWee/apps/den-web/app/(den)/_lib/den-org.ts241export function getAllowedDesktopVersionsFromMetadata(metadata: string | null): string[] | null {
LOWee/apps/den-web/app/(den)/_lib/den-org.ts252export function getRequireSsoFromMetadata(metadata: string | null): boolean {
LOWee/apps/den-web/app/(den)/_lib/den-org.ts326export function getCustomLlmProvidersRoute(orgSlug?: string | null): string {
LOWee/apps/den-web/app/(den)/_lib/den-org.ts430export function getGithubIntegrationRoute(orgSlug?: string | null): string {
LOWee/apps/den-web/app/(den)/_lib/den-org.ts434export function getGithubIntegrationSetupRoute(orgSlug: string | null | undefined, connectorInstanceId: string): string
LOWee/apps/den-web/app/(den)/_lib/den-org.ts438export function getGithubIntegrationAccountRoute(orgSlug: string | null | undefined, connectorAccountId: string): string
LOWee/apps/den-web/app/(den)/_lib/den-org.ts685export function parseInvitationPreviewPayload(payload: unknown): DenInvitationPreview | null {
LOWee/apps/den-web/app/(den)/_lib/den-org.ts722export function isEmailAllowedForOrganization(allowedEmailDomains: readonly string[] | null | undefined, email: string):
LOW…/app/(den)/dashboard/_components/llm-provider-data.tsx117function asLlmProviderMemberAccess(value: unknown): DenLlmProviderMemberAccess | null {
LOW…/app/(den)/dashboard/_components/llm-provider-data.tsx309export function buildCustomProviderTemplate() {
LOW…/app/(den)/dashboard/_components/llm-provider-data.tsx347export function buildEditableCustomProviderText(provider: DenLlmProvider) {
LOW…/app/(den)/dashboard/_components/llm-provider-data.tsx358export async function requestLlmProviderCatalog(orgId: string) {
LOW…/app/(den)/dashboard/_components/llm-provider-data.tsx369export async function requestLlmProviderCatalogDetail(orgId: string, providerId: string) {
LOW…web/app/(den)/dashboard/_components/plugins-screen.tsx361function ConnectIntegrationEmptyState({ integrationsHref }: { integrationsHref: string }) {
LOW…b/app/(den)/dashboard/_components/marketplace-data.tsx181export function useGrantMarketplaceAccess() {
LOW…b/app/(den)/dashboard/_components/marketplace-data.tsx214export function useRevokeMarketplaceAccess() {
LOW…b/app/(den)/dashboard/_components/marketplace-data.tsx256export function formatMarketplaceTimestamp(value: string | null): string {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx206function parseGithubConnectorAccounts(payload: unknown) {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx231function parseGithubConnectorInstances(payload: unknown) {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx320export function formatIntegrationTimestamp(value: string | null): string {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx436export function useGithubInstallCompletion(input: { installationId: number | null; state: string | null }) {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx508export function useGithubAccountRepositories(connectorAccountId: string | null) {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx561export function useCreateGithubConnectorInstance() {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx621export function useGithubConnectorDiscovery(connectorInstanceId: string | null) {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx863export function useConnectorInstanceConfiguration(connectorInstanceId: string | null) {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx927export function useSetConnectorInstanceAutoImport() {
LOW…b/app/(den)/dashboard/_components/integration-data.tsx955export function useRemoveConnectorInstance() {
LOW…dashboard/_components/desktop-policy-editor-screen.tsx58function policyToAssignmentPayload(policy: DenDesktopPolicy) {
LOW…dashboard/_components/desktop-policy-editor-screen.tsx65export function DesktopPolicyEditorScreen({ desktopPolicyId }: { desktopPolicyId?: string }) {
LOW…pp/(den)/dashboard/_components/org-settings-screen.tsx14function normalizeAllowedEmailDomainsInput(value: string): string[] | null {
LOW…pp/(den)/dashboard/_components/org-settings-screen.tsx27function normalizeDesktopVersionString(value: string): string | null {
LOW…pp/(den)/dashboard/_components/org-settings-screen.tsx32function getDesktopVersionMetadata(payload: unknown): {
LOW…pp/(den)/dashboard/_components/org-settings-screen.tsx58function buildDesktopVersionOptions(
LOW…pp/(den)/dashboard/_components/org-settings-screen.tsx85function toggleAllowedDesktopVersion(
LOW…pp/(den)/dashboard/_components/org-settings-screen.tsx97function filterAllowedDesktopVersionsToVisibleOptions(
LOW…pp/(den)/dashboard/_components/org-settings-screen.tsx221 async function loadDesktopVersionOptions() {
LOW…pp/(den)/dashboard/_components/org-settings-screen.tsx353 function handleDomainRestrictionToggle(nextValue: boolean) {
LOW…n)/dashboard/_components/github-integration-screen.tsx95function GithubInstallCompletionRedirect({ installationId, state }: { installationId: number; state: string }) {
LOW…n)/dashboard/_components/github-integration-screen.tsx145function GithubConnectorInstanceRouter({
LOW…n)/dashboard/_components/github-integration-screen.tsx190function ConfigurationLoadingState() {
683 more matches not shown…
Decorative Section Separators25 hits · 75 pts
SeverityFileLineSnippet
MEDIUM…)/dashboard/_components/integration-connect-dialog.tsx264// ── Step components ────────────────────────────────────────────────────────
MEDIUM…en-web/app/(den)/dashboard/_components/plugin-data.tsx31// ── Primitive types ────────────────────────────────────────────────────────
MEDIUM…en-web/app/(den)/dashboard/_components/plugin-data.tsx120// ── Display helpers ────────────────────────────────────────────────────────
MEDIUM…en-web/app/(den)/dashboard/_components/plugin-data.tsx174// ── Mock data ──────────────────────────────────────────────────────────────
MEDIUM…en-web/app/(den)/dashboard/_components/plugin-data.tsx426// ── Query hooks ────────────────────────────────────────────────────────────
MEDIUMee/apps/den-web/app/(den)/_components/ui/button.tsx5// ─── Variant / size tokens ────────────────────────────────────────────────────
MEDIUMee/apps/den-web/app/(den)/_components/ui/button.tsx24// ─── buttonVariants helper (for <Link> / <a> elements) ───────────────────────
MEDIUMee/apps/den-web/app/(den)/_components/ui/button.tsx49// ─── Spinner ──────────────────────────────────────────────────────────────────
MEDIUMee/apps/den-web/app/(den)/_components/ui/button.tsx79// ─── DenButton ────────────────────────────────────────────────────────────────
MEDIUMee/apps/den-api/src/routes/telemetry/index.ts33 // ── POST /v1/telemetry/ingest ─────────────────────────────────────────────
MEDIUMee/apps/den-api/src/routes/telemetry/index.ts81 // ── GET /v1/telemetry/adoption ────────────────────────────────────────────
MEDIUMscripts/find-unused.sh4# ── Config ──────────────────────────────────────────────────────────────────
MEDIUMscripts/find-unused.sh96# ── Colors ──────────────────────────────────────────────────────────────────
MEDIUMscripts/find-unused.sh105# ── Helpers ─────────────────────────────────────────────────────────────────
MEDIUMscripts/find-unused.sh201# ── Step 1: Run knip ───────────────────────────────────────────────────────
MEDIUMscripts/find-unused.sh230# ── Step 2: Build infra file list once ─────────────────────────────────────
MEDIUMscripts/find-unused.sh241# ── Step 3: Cross-reference each file ──────────────────────────────────────
MEDIUMscripts/find-unused.sh327# ── Step 4: Split into two buckets, sort by date ──────────────────────────
MEDIUMscripts/find-unused.sh346# ── Step 5: Display ───────────────────────────────────────────────────────
MEDIUMscripts/openwork-debug.sh47# ---------------------------------------------------------------------------
MEDIUMscripts/openwork-debug.sh74# ---------------------------------------------------------------------------
MEDIUMscripts/openwork-debug.sh194# ---------------------------------------------------------------------------
MEDIUMscripts/openwork-debug.sh589# ---------------------------------------------------------------------------
MEDIUMapps/app/src/react-app/shell/desktop-runtime-boot.ts192 // FAST PATH ─────────────────────────────────────────────────────
MEDIUMapps/app/src/react-app/shell/desktop-runtime-boot.ts228 // SLOW PATH ─────────────────────────────────────────────────────
Over-Commented Block19 hits · 19 pts
SeverityFileLineSnippet
LOWpackaging/docker/docker-compose.den-dev.yml1# docker-compose.den-dev.yml — Den local testability stack
LOWpackaging/docker/den-dev-up.sh1#!/usr/bin/env bash
LOWpackaging/docker/docker-compose.dev.yml1# docker-compose.dev.yml — Dev testability stack (no custom Dockerfile)
LOWee/apps/landing/next-env.d.ts1/// <reference types="next" />
LOWee/apps/den-web/next-env.d.ts1/// <reference types="next" />
LOW…n-api/src/routes/org/plugin-system/github-discovery.ts481 } satisfies GithubRepoDiscoveryResult
LOW.devcontainer/start-services.sh1#!/usr/bin/env bash
LOW.devcontainer/docker-compose.yml1# Full-stack dev environment for Daytona / Codespaces / devcontainers.
LOW.devcontainer/test-on-daytona.sh1#!/usr/bin/env bash
LOWscripts/openwork-debug.sh1#!/usr/bin/env bash
LOWscripts/openwork-debug.sh21# Electron shell + CDP on 127.0.0.1:9823 for chrome-devtools MCP.
LOWscripts/openwork-debug.sh441 # this repo (e.g. started by a different terminal before the PID file
LOW.github/workflows/alpha-macos-aarch64.yml1name: Alpha Channel (macOS arm64)
LOW…src/react-app/domains/session/surface/message-list.tsx1341 // messageBlocks change. react-virtual already invalidates and
LOW…/react-app/domains/session/surface/composer/editor.tsx541 // triggers Lexical's reconciliation cycle which can normalise the DOM
LOW…app/src/react-app/domains/session/sync/session-sync.ts701 }
LOW…app/src/react-app/domains/session/sync/session-sync.ts841 // state; otherwise infer it from the alternation pattern
LOWapps/app/src/react-app/shell/dev-profiler.tsx61//
LOWapps/server/src/env-file.ts1import { homedir, platform } from "node:os";
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippet
LOW.devcontainer/test-server-on-daytona.sh6# Usage:
LOW.devcontainer/setup-daytona-secrets-volume.sh7# Usage:
LOW.devcontainer/test-on-daytona.sh6# Usage:
Fake / Example Data4 hits · 4 pts
SeverityFileLineSnippet
LOWee/apps/landing/components/app-feedback-form.tsx188 placeholder="Jane Doe"
LOW…/den-web/app/(den)/_components/organization-screen.tsx173 placeholder="Acme Corp"
LOW…/den-web/app/(den)/_components/organization-screen.tsx311 placeholder="Acme Corp"
LOWpackages/email/emails/feedback.tsx8 name: "Jane Doe",
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippet
MEDIUM.devcontainer/setup-daytona-secrets-volume.sh4# Create the reusable Daytona secrets volume once. If a local env file is