Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 126 additions & 0 deletions .fallowrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
{
"$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json",
"entry": [
"apps/cli/src/main.ts",
"apps/cloud/src/server.ts",
"apps/cloud/src/start.ts",
"apps/cloud/src/test-worker.ts",
"apps/cloud/src/api.ts",
"apps/cloud/src/routes/**/*.{ts,tsx}",
"apps/local/src/routes/**/*.{ts,tsx}",
"scripts/*.ts",
"apps/*/scripts/*.ts",
"autumn.config.ts",
"apps/*/autumn.config.ts",
"apps/*/vitest*.config.ts",
"packages/*/*/vitest.config.ts"
],
"dynamicallyLoaded": [
"apps/desktop/src/preload.ts",
"packages/kernel/runtime-deno-subprocess/src/deno-subprocess-worker.mjs"
],
"ignorePatterns": [
".fallow/**",
".reference/**",
".tanstack/**",
".turbo/**",
".warden/**",
".warden-runs/**",
"coverage/**",
"dist/**",
"node_modules/**",
"out/**",
"**/*.d.ts",
"**/*.gen.ts",
"**/*.generated.ts",
"**/routeTree.gen.ts"
],
"ignoreDependencies": [
"bun"
],
"usedClassMembers": [
"_tag",
"NoOp",
{
"extends": "DurableObject",
"members": [
"init",
"handleRequest",
"alarm",
"clearSession"
]
}
],
"overrides": [
{
"files": [
"**/*.test.ts",
"**/*.test.tsx",
"**/*.spec.ts",
"**/*.spec.tsx",
"**/*.e2e.ts",
"**/*.e2e.tsx",
"**/*.node.test.ts",
"**/*.node.test.tsx",
"**/__test-harness__/**",
"**/test-stubs/**"
],
"rules": {
"unused-files": "off",
"unused-exports": "off",
"unused-types": "off",
"unused-class-members": "off"
}
},
{
"files": [
"apps/cloud/src/routes/__root.tsx"
],
"rules": {
"unresolved-imports": "off"
}
}
],
"duplicates": {
"mode": "mild",
"minTokens": 50,
"minLines": 5,
"threshold": 5,
"ignore": [
"**/*.test.ts",
"**/*.test.tsx",
"**/*.spec.ts",
"**/*.spec.tsx",
"**/*.e2e.ts",
"**/*.e2e.tsx",
"**/*.gen.ts",
"**/*.generated.ts",
"**/routeTree.gen.ts",
"**/__test-harness__/**",
"**/test-stubs/**"
]
},
"health": {
"maxCyclomatic": 20,
"maxCognitive": 15,
"maxCrap": 30,
"ignore": [
"**/*.test.ts",
"**/*.test.tsx",
"**/*.spec.ts",
"**/*.spec.tsx",
"**/*.e2e.ts",
"**/*.e2e.tsx",
"**/*.gen.ts",
"**/*.generated.ts",
"**/routeTree.gen.ts",
"**/__test-harness__/**",
"**/test-stubs/**"
]
},
"audit": {
"deadCodeBaseline": "fallow-baselines/dead-code.json",
"healthBaseline": "fallow-baselines/health.json",
"dupesBaseline": "fallow-baselines/dupes.json"
}
}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,6 @@ executor.jsonc
# Warden local scan outputs
.warden/
.warden-runs/

# Fallow local analysis cache
.fallow/
152 changes: 152 additions & 0 deletions fallow-baselines/dead-code.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
{
"unused_files": [
"apps/cloud/src/api/protected-layers.ts",
"packages/core/cli/src/generators/index.ts"
],
"unused_exports": [
"apps/cloud/src/api/error-response.ts:toErrorResponse",
"apps/cloud/src/api/layers.ts:CoreSharedServices",
"apps/cloud/src/api/protected-layers.ts:ProtectedCloudApi",
"apps/cloud/src/api/protected-layers.ts:SharedServices",
"apps/cloud/src/api/protected-layers.ts:RouterConfig",
"apps/cloud/src/api/protected-layers.ts:ProtectedCloudApiHandlers",
"apps/cloud/src/api/protected-layers.ts:ProtectedCloudApiLive",
"apps/cloud/src/api/router.ts:ApiRouterApp",
"apps/cloud/src/auth/context.ts:AuthContext",
"apps/cloud/src/auth/errors.ts:ServiceAdapterError",
"apps/cloud/src/org/api.ts:OrgMember",
"apps/cloud/src/org/api.ts:OrgMembersResponse",
"apps/cloud/src/services/autumn.ts:AutumnError",
"apps/cloud/src/services/mcp-worker-transport.ts:McpWorkerTransportError",
"apps/cloud/src/test-bearer.ts:TEST_BEARER_PREFIX",
"apps/cloud/src/test-bearer.ts:NO_ORG_SENTINEL",
"apps/cloud/src/web/auth.tsx:authAtom",
"apps/local/src/server/main.ts:ServerHandlersService",
"packages/core/api/src/handlers/index.ts:ConnectionsHandlers",
"packages/core/api/src/handlers/index.ts:PoliciesHandlers",
"packages/core/execution/src/errors.ts:CodeExecutionError",
"packages/core/sdk/src/scoped-adapter.ts:__scopeField",
"packages/plugins/google-discovery/src/api/group.ts:HttpApiSchema",
"packages/plugins/google-discovery/src/api/group.ts:GoogleDiscoveryApiError",
"packages/plugins/mcp/src/api/group.ts:HttpApiSchema",
"packages/plugins/mcp/src/sdk/binding-store.ts:MCP_OAUTH_SESSION_TTL_MS",
"packages/plugins/mcp/src/sdk/oauth.ts:McpOAuthDiscoveryState",
"packages/plugins/mcp/src/sdk/stdio-connector.ts:createStdioTransport",
"packages/plugins/mcp/src/sdk/types.ts:McpRemoteTransport",
"packages/plugins/mcp/src/sdk/types.ts:McpTransport",
"packages/plugins/mcp/src/sdk/types.ts:McpRemoteSourceData",
"packages/plugins/mcp/src/sdk/types.ts:McpStdioSourceData",
"packages/plugins/onepassword/src/react/atoms.ts:onepasswordWriteKeys",
"packages/plugins/onepassword/src/react/atoms.ts:onepasswordStatusAtom",
"packages/plugins/openapi/src/react/atoms.ts:completeOpenApiOAuth",
"packages/plugins/openapi/src/sdk/types.ts:OAuth2Flow"
],
"unused_types": [
"apps/cli/src/daemon-state.ts:DaemonRecord",
"apps/cli/src/daemon-state.ts:DaemonPointer",
"apps/cli/src/daemon-state.ts:DaemonStartLock",
"apps/cli/src/daemon.ts:ParsedDaemonBaseUrl",
"apps/cli/src/daemon.ts:DaemonSpawnSpec",
"apps/cli/src/tooling.ts:ToolPathChildEntry",
"apps/cli/src/tooling.ts:ToolPathInspection",
"apps/cli/src/tooling.ts:PausedInteraction",
"apps/cloud/src/auth/middleware.ts:Session",
"apps/cloud/src/auth/workos.ts:WorkOSAuthService",
"apps/cloud/src/mcp-session.ts:McpSessionInit",
"apps/cloud/src/mcp-session.ts:IncomingTraceHeaders",
"apps/cloud/src/services/autumn.ts:IAutumnService",
"apps/cloud/src/services/user-store.ts:Account",
"apps/cloud/src/services/user-store.ts:Organization",
"packages/core/cli/src/generators/types.ts:SchemaGeneratorResult",
"packages/core/cli/src/generators/types.ts:SchemaGeneratorOptions",
"packages/core/execution/src/tool-invoker.ts:ToolDiscoveryResult",
"packages/core/execution/src/tool-invoker.ts:ExecutorSourceListItem",
"packages/core/sdk/src/plugin.ts:ElicitationHandler",
"packages/core/sdk/src/schema-types.ts:ToolTypeScriptPreview",
"packages/core/sdk/src/scoped-adapter.ts:ScopeContext",
"packages/core/storage-core/src/adapter.ts:DBSchema",
"packages/core/storage-file/src/adapter.ts:DrizzleSqliteDB",
"packages/core/storage-file/src/blob-store.ts:DrizzleSqliteDB",
"packages/core/storage-file/src/blob-store.ts:MakeSqliteBlobStoreOptions",
"packages/core/storage-postgres/src/blob-store.ts:DrizzlePgDB",
"packages/core/storage-postgres/src/blob-store.ts:MakePostgresBlobStoreOptions",
"packages/kernel/runtime-deno-subprocess/src/deno-worker-process.ts:SpawnDenoWorkerProcessInput",
"packages/kernel/runtime-deno-subprocess/src/deno-worker-process.ts:DenoWorkerProcessCallbacks",
"packages/kernel/runtime-deno-subprocess/src/deno-worker-process.ts:DenoWorkerProcess",
"packages/kernel/runtime-dynamic-worker/src/executor.ts:SerializedWorkerErrorValue",
"packages/kernel/runtime-dynamic-worker/src/executor.ts:SerializedWorkerError",
"packages/kernel/runtime-dynamic-worker/src/executor.ts:RunPromise",
"packages/plugins/google-discovery/src/sdk/oauth.ts:OAuth2TokenResponse",
"packages/plugins/google-discovery/src/sdk/plugin.ts:GoogleDiscoveryProbeOperation",
"packages/plugins/google-discovery/src/sdk/plugin.ts:GoogleDiscoveryUpdateSourceInput",
"packages/plugins/google-discovery/src/sdk/plugin.ts:GoogleDiscoveryExtensionFailure",
"packages/plugins/google-discovery/src/sdk/stored-source.ts:GoogleDiscoveryStoredSourceSchemaType",
"packages/plugins/google-discovery/src/sdk/types.ts:GoogleDiscoverySourceMeta",
"packages/plugins/graphql/src/sdk/introspect.ts:IntrospectionEnumValue",
"packages/plugins/graphql/src/sdk/plugin.ts:GraphqlExtensionFailure",
"packages/plugins/mcp/src/sdk/connection.ts:RemoteConnectorInput",
"packages/plugins/mcp/src/sdk/connection.ts:StdioConnectorInput",
"packages/plugins/mcp/src/sdk/invoke.ts:InvokeMcpToolInput",
"packages/plugins/mcp/src/sdk/manifest.ts:McpServerMetadata",
"packages/plugins/mcp/src/sdk/oauth.ts:McpOAuthDiscoveryState",
"packages/plugins/mcp/src/sdk/oauth.ts:McpOAuthStartResult",
"packages/plugins/mcp/src/sdk/oauth.ts:McpOAuthExchangeResult",
"packages/plugins/mcp/src/sdk/plugin.ts:McpExtensionFailure",
"packages/plugins/mcp/src/sdk/stdio-connector.ts:StdioTransportConfig",
"packages/plugins/mcp/src/sdk/types.ts:McpRemoteTransport",
"packages/plugins/mcp/src/sdk/types.ts:McpTransport",
"packages/plugins/onepassword/src/sdk/plugin.ts:OnePasswordExtensionFailure",
"packages/plugins/onepassword/src/sdk/service.ts:OnePasswordVault",
"packages/plugins/onepassword/src/sdk/service.ts:OnePasswordItem",
"packages/plugins/openapi/src/sdk/openapi-utils.ts:MediaTypeObject",
"packages/plugins/openapi/src/sdk/plugin.ts:OpenApiHeaderInput",
"packages/plugins/openapi/src/sdk/plugin.ts:OpenApiOAuthInput",
"packages/plugins/openapi/src/sdk/plugin.ts:StartAuthorizationCodeOAuthInput",
"packages/plugins/openapi/src/sdk/plugin.ts:StartClientCredentialsOAuthInput",
"packages/plugins/openapi/src/sdk/plugin.ts:StartAuthorizationCodeOAuthResponse",
"packages/plugins/openapi/src/sdk/plugin.ts:StartClientCredentialsOAuthResponse",
"packages/plugins/openapi/src/sdk/plugin.ts:OpenApiExtensionFailure",
"packages/plugins/openapi/src/sdk/store.ts:StoredSourceSchemaType",
"packages/plugins/openapi/src/sdk/types.ts:OAuth2Flow"
],
"unused_dependencies": [
"apps/cloud/package.json:@opentelemetry/exporter-logs-otlp-http",
"apps/cloud/package.json:@opentelemetry/sdk-logs",
"packages/core/cli/package.json:effect",
"packages/core/sdk/package.json:@effect/platform",
"packages/plugins/graphql/package.json:@effect/platform-node",
"packages/plugins/mcp/package.json:@effect/platform-node",
"packages/react/package.json:@effect-atom/atom",
"packages/react/package.json:@hookform/resolvers",
"packages/react/package.json:effect"
],
"unused_dev_dependencies": [
"apps/cloud/package.json:jiti",
"apps/local/package.json:jiti",
"apps/local/package.json:react-grab",
"packages/core/storage-file/package.json:@effect/vitest",
"packages/kernel/runtime-dynamic-worker/package.json:@effect/vitest"
],
"circular_dependencies": [],
"unused_optional_dependencies": [],
"unused_enum_members": [],
"unused_class_members": [],
"unresolved_imports": [],
"unlisted_dependencies": [],
"duplicate_exports": [
"ConfiguredHeaderValue|packages/plugins/openapi/src/sdk/plugin.ts|packages/plugins/openapi/src/sdk/types.ts|packages/plugins/openapi/src/sdk/types.ts",
"DrizzleSqliteDB|packages/core/storage-file/src/adapter.ts|packages/core/storage-file/src/blob-store.ts",
"Executor|packages/core/sdk/src/executor.ts|packages/core/sdk/src/promise-executor.ts",
"ExecutorConfig|packages/core/sdk/src/executor.ts|packages/core/sdk/src/promise-executor.ts",
"GraphqlSourceConfig|packages/core/config/src/schema.ts|packages/core/config/src/schema.ts|packages/plugins/graphql/src/sdk/plugin.ts",
"HeaderValue|packages/plugins/graphql/src/sdk/plugin.ts|packages/plugins/graphql/src/sdk/types.ts|packages/plugins/graphql/src/sdk/types.ts|packages/plugins/openapi/src/sdk/plugin.ts|packages/plugins/openapi/src/sdk/types.ts|packages/plugins/openapi/src/sdk/types.ts",
"McpRemoteSourceConfig|packages/core/config/src/schema.ts|packages/core/config/src/schema.ts|packages/plugins/mcp/src/sdk/plugin.ts",
"McpStdioSourceConfig|packages/core/config/src/schema.ts|packages/core/config/src/schema.ts|packages/plugins/mcp/src/sdk/plugin.ts",
"SourceConfig|packages/core/config/src/schema.ts|packages/core/config/src/schema.ts|packages/plugins/openapi/src/sdk/store.ts",
"createExecutor|packages/core/sdk/src/executor.ts|packages/core/sdk/src/promise-executor.ts"
],
"type_only_dependencies": [],
"test_only_dependencies": [],
"boundary_violations": [],
"stale_suppressions": []
}
Loading
Loading