Skip to content

Commit ff10f08

Browse files
v1rtlclaude
andcommitted
add CLAUDE.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent a12fe9a commit ff10f08

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Project Overview
6+
7+
Deno port of Apollo's graphql-tag library. Provides a `gql` template literal function that parses GraphQL schema definitions into AST DocumentNode objects with caching.
8+
9+
## Development Commands
10+
11+
```bash
12+
# Run tests with coverage
13+
deno task test
14+
15+
# Generate LCOV coverage report
16+
deno task cov
17+
18+
# Format code
19+
deno fmt
20+
21+
# Lint code
22+
deno lint
23+
```
24+
25+
## Code Style
26+
27+
- Single quotes, no semicolons
28+
- 2-space indentation, 120-char line width
29+
- TypeScript throughout
30+
31+
## Architecture
32+
33+
**mod.ts** - Single-file library containing:
34+
- `gql()` template literal function (main export)
35+
- Document caching by normalized source text
36+
- Fragment deduplication with warnings for conflicting definitions
37+
- AST location stripping for memory efficiency
38+
- Utility functions: `resetCaches()`, `disableFragmentWarnings()`, `enableExperimentalFragmentVariables()`
39+
40+
**deps.ts** - External dependencies from esm.sh (GraphQL 16.8.1)
41+
42+
**mod_test.ts** - Tests using tincan framework

0 commit comments

Comments
 (0)