#
tokens: 1322/50000 4/47 files (page 1/3)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 1 of 3. Use http://codebase.md/sylphlab/pdf-reader-mcp?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .dockerignore
├── .eslintcache
├── .gitattributes
├── .github
│   ├── dependabot.yml
│   └── workflows
│       └── ci.yml
├── .gitignore
├── .husky
│   └── pre-commit
├── .prettierrc.cjs
├── .roo
│   └── mcp.json
├── CHANGELOG.md
├── commitlint.config.cjs
├── CONTRIBUTING.md
├── Dockerfile
├── docs
│   ├── .vitepress
│   │   └── config.mts
│   ├── api
│   │   └── README.md
│   ├── changelog.md
│   ├── comparison
│   │   └── index.md
│   ├── contributing.md
│   ├── design
│   │   └── index.md
│   ├── guide
│   │   ├── getting-started.md
│   │   ├── index.md
│   │   └── installation.md
│   ├── index.md
│   ├── license.md
│   ├── performance
│   │   └── index.md
│   ├── performance.md
│   ├── principles.md
│   ├── public
│   │   └── logo.svg
│   └── testing.md
├── eslint.config.js
├── LICENSE
├── memory-bank
│   ├── activeContext.md
│   ├── productContext.md
│   ├── progress.md
│   ├── projectbrief.md
│   ├── systemPatterns.md
│   └── techContext.md
├── package.json
├── PLAN.md
├── pnpm-lock.yaml
├── README.md
├── src
│   ├── handlers
│   │   ├── index.ts
│   │   └── readPdf.ts
│   ├── index.ts
│   └── utils
│       └── pathUtils.ts
├── test
│   ├── benchmark
│   │   └── readPdf.bench.ts
│   ├── fixtures
│   │   └── sample.pdf
│   ├── handlers
│   │   └── readPdf.test.ts
│   └── pathUtils.test.ts
├── tsconfig.eslint.json
├── tsconfig.json
└── vitest.config.ts
```

# Files

--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------

```
 1 | node_modules/
 2 | build/
 3 | build/
 4 | *.log
 5 | coverage/
 6 | .env*
 7 | 
 8 | # VitePress
 9 | docs/.vitepress/dist
10 | docs/.vitepress/cache
11 | 
12 | # Test Reports
13 | test-report.junit.xml
```

--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------

```
 1 | # Git files
 2 | .git
 3 | .gitignore
 4 | 
 5 | # Node modules
 6 | node_modules
 7 | 
 8 | # Build artifacts (we only need the build output in the final stage)
 9 | build
10 | 
11 | # Docker files
12 | Dockerfile
13 | .dockerignore
14 | 
15 | # Documentation / Other
16 | README.md
17 | memory-bank
18 | .vscode
```

--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------

```
 1 | # Auto detect text files and perform LF normalization
 2 | * text=auto eol=lf
 3 | 
 4 | # Explicitly declare text files we want to always normalize to LF
 5 | *.cjs text eol=lf
 6 | *.js text eol=lf
 7 | *.ts text eol=lf
 8 | *.json text eol=lf
 9 | *.md text eol=lf
10 | *.yaml text eol=lf
11 | *.yml text eol=lf
12 | 
13 | # Lockfiles should always use LF
14 | package-lock.json text eol=lf
15 | pnpm-lock.yaml text eol=lf
16 | 
17 | # Ensure specific files are treated as binary (if needed)
18 | # *.png binary
19 | # *.jpg binary
```

--------------------------------------------------------------------------------
/.prettierrc.cjs:
--------------------------------------------------------------------------------

```
 1 | // .prettierrc.js
 2 | module.exports = {
 3 |   printWidth: 100, // Specify the line length that the printer will wrap on.
 4 |   tabWidth: 2, // Specify the number of spaces per indentation-level.
 5 |   useTabs: false, // Indent lines with tabs instead of spaces.
 6 |   semi: true, // Print semicolons at the ends of statements.
 7 |   singleQuote: true, // Use single quotes instead of double quotes.
 8 |   quoteProps: 'as-needed', // Change when properties in objects are quoted.
 9 |   jsxSingleQuote: false, // Use single quotes instead of double quotes in JSX.
10 |   trailingComma: 'es5', // Print trailing commas wherever possible in multi-line comma-separated syntactic structures. (A single-line array, for example, never gets trailing commas.)
11 |   bracketSpacing: true, // Print spaces between brackets in object literals.
12 |   bracketSameLine: false, // Put the > of a multi-line HTML (HTML, JSX, Vue, Angular) element at the end of the last line instead of being alone on the next line (does not apply to self closing elements).
13 |   arrowParens: 'always', // Include parentheses around a sole arrow function parameter.
14 |   endOfLine: 'lf', // Ensure consistent line endings
15 | };
16 | 
```
Page 1/3FirstPrevNextLast