Architecture

File tools

Repository file reading, writing, editing, searching, and helpers.

62
Matched files
8
Top dirs
16,877
Lines in slice
311
Exports found
Heuristic
Classification style

Beginner explanation

This architecture page groups files that seem to solve the same type of problem. It is a good way to understand the repo as a system rather than as a list of folders.

Beginner mental model

Read the first few high-importance files here, then follow their related-file links.

Expert explanation

This slice is assembled with path heuristics, which makes it strong for navigation and code reading but not a replacement for runtime tracing. Use it to discover likely boundaries, then validate by reading imports, exports, and orchestrator files.

Related files

FileLinesImportanceExports
utils/permissions/filesystem.ts1778highDANGEROUS_FILES, DANGEROUS_DIRECTORIES, normalizeCaseForComparison, getClaudeSkillScope
tools/FileReadTool/FileReadTool.ts1184highregisterFileReadListener, MaxFileReadTokenExceededError, Input, Output
utils/fileHistory.ts1116highFileHistoryBackup, FileHistorySnapshot, FileHistoryState, DiffStats
hooks/fileSuggestions.ts812highonIndexBuildComplete, clearFileSuggestionCaches, pathListSignature, getDirectoryNames
tools/FileEditTool/utils.ts776highLEFT_SINGLE_CURLY_QUOTE, RIGHT_SINGLE_CURLY_QUOTE, LEFT_DOUBLE_CURLY_QUOTE, RIGHT_DOUBLE_CURLY_QUOTE
services/api/filesApi.ts749highFile, FilesApiConfig, DownloadResult, downloadFile
utils/git/gitFilesystem.ts700highclearResolveGitDirCache, resolveGitDir, isSafeRefName, isValidGitSha
tools/FileEditTool/FileEditTool.ts626highFileEditTool
utils/file.ts585highFile, pathExists, MAX_OUTPUT_SIZE, readFileSafe
components/memory/MemoryFileSelector.tsx438highMemoryFileSelector
tools/FileWriteTool/FileWriteTool.ts435highOutput, FileWriteToolInput, FileWriteTool
tools/FileWriteTool/UI.tsx405highcountLines, userFacingName, isResultTruncated, getToolUseSummary
utils/readFileInRange.ts384highReadFileRangeResult, FileTooLargeError, readFileInRange
native-ts/file-index/index.ts371highSearchResult, FileIndex, yieldToEventLoop, CHUNK_MS
utils/queryProfiler.ts302highstartQueryProfile, queryCheckpoint, endQueryProfile, logQueryProfileReport
components/diff/DiffFileList.tsx292highDiffFileList
utils/memoryFileDetection.ts290highdetectSessionFileType, detectSessionPatternType, isAutoMemFile, MemoryScope
tools/FileEditTool/UI.tsx289highuserFacingName, getToolUseSummary, renderToolUseMessage, renderToolResultMessage
components/agents/agentFileUtils.ts273highformatAgentAsMarkdown, getNewAgentFilePath, getActualAgentFilePath, getNewRelativeAgentFilePath
utils/sessionFileAccessHooks.ts251highisMemoryFileAccess, registerSessionFileAccessHooks
components/permissions/FilePermissionDialog/useFilePermissionDialog.ts213highToolInput, UseFilePermissionDialogProps, UseFilePermissionDialogResult, useFilePermissionDialog
components/permissions/FilePermissionDialog/FilePermissionDialog.tsx204highFilePermissionDialogProps, FilePermissionDialog
utils/authFileDescriptor.ts197highCCR_OAUTH_TOKEN_PATH, CCR_API_KEY_PATH, CCR_SESSION_INGRESS_TOKEN_PATH, maybePersistTokenForSubprocesses
utils/startupProfiler.ts195highprofileCheckpoint, profileReport, isDetailedProfilingEnabled, getStartupPerfLogPath
utils/hooks/fileChangedWatcher.ts192highsetEnvHookNotifier, initializeFileChangedWatcher, updateWatchPaths, onCwdChangedForHooks
components/permissions/FilePermissionDialog/usePermissionHandler.ts186highPermissionHandlerParams, PermissionHandlerOptions, PERMISSION_HANDLERS
tools/FileReadTool/UI.tsx185highrenderToolUseMessage, renderToolUseTag, renderToolResultMessage, renderToolUseErrorMessage
components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx182highFileEditPermissionRequest
components/FileEditToolDiff.tsx181highFileEditToolDiff
components/permissions/FilePermissionDialog/permissionOptions.tsx177highisInClaudeFolder, isInGlobalClaudeFolder, PermissionOption, PermissionOptionWithLabel
components/FileEditToolUseRejectedMessage.tsx170highFileEditToolUseRejectedMessage
components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx161highFileWritePermissionRequest
utils/fileStateCache.ts143highFileState, READ_FILE_STATE_CACHE_SIZE, FileStateCache, createFileStateCacheWithSizeLimit
components/FileEditToolUpdatedMessage.tsx124highFileEditToolUpdatedMessage
components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx115highFilesystemPermissionRequest
utils/fileRead.ts103highLineEndingType, detectEncodingForResolvedPath, detectLineEndingsForString, readFileSyncWithMetadata
tools/FileReadTool/imageProcessor.ts95highSharpInstance, SharpFunction, getImageProcessor, getImageCreator
tools/FileReadTool/limits.ts93highDEFAULT_MAX_OUTPUT_TOKENS, FileReadingLimits, getDefaultFileReadingLimits
components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx89highFileWriteToolDiff
tools/FileEditTool/types.ts86highFileEditInput, EditInput, FileEdit, hunkSchema
utils/fileOperationAnalytics.ts72highlogFileOperation
services/oauth/getOauthProfile.ts54highgetOauthProfileFromApiKey, getOauthProfileFromOauthToken
tools/FileReadTool/prompt.ts50highFILE_READ_TOOL_NAME, FILE_UNCHANGED_STUB, MAX_LINES_TO_READ, DESCRIPTION
components/FilePathLink.tsx43highFilePathLink
components/permissions/FilePermissionDialog/ideDiffConfig.ts43highFileEdit, IDEDiffConfig, IDEDiffChangeInput, IDEDiffSupport
tools/FileEditTool/prompt.ts29highgetEditToolDescription
hooks/useFileHistorySnapshotInit.ts26highuseFileHistorySnapshotInit
commands/files/files.ts20highcall
tools/FileWriteTool/prompt.ts19highFILE_WRITE_TOOL_NAME, DESCRIPTION, getWriteToolDescription
commands/files/index.ts13high
tools/FileEditTool/constants.ts12highFILE_EDIT_TOOL_NAME, CLAUDE_FOLDER_PERMISSION_PATTERN, GLOBAL_CLAUDE_FOLDER_PERMISSION_PATTERN, FILE_UNEXPECTEDLY_MODIFIED_ERROR
utils/filePersistence/filePersistence.ts288mediumrunFilePersistence, executeFilePersistence, isFilePersistenceEnabled
utils/headlessProfiler.ts179mediumheadlessProfilerStartTurn, headlessProfilerCheckpoint, logHeadlessProfilerTurn
constants/files.ts157mediumBINARY_EXTENSIONS, hasBinaryExtension, isBinaryContent
utils/execFileNoThrow.ts151mediumexecFileNoThrow, execFileNoThrowWithCwd, execSyncWithDefaults_DEPRECATED
utils/generatedFiles.ts137mediumisGeneratedFile, filterGeneratedFiles
utils/filePersistence/outputsScanner.ts127mediumlogDebug, getEnvironmentKind, findModifiedFiles
utils/fileReadCache.ts97mediumfileReadCache
utils/execFileNoThrowPortable.ts90mediumexecSyncWithDefaults_DEPRECATED
utils/profilerBase.ts47mediumgetPerformance, formatMs, formatTimelineLine
utils/lockfile.ts44mediumlock, lockSync, unlock, check
utils/tempfile.ts32mediumgenerateTempFilePath