# aathena > Type-safe AWS Athena client. aathena reads your AWS Glue catalog and generates one typed TypeScript function per SQL file. Column names and types come from the catalog verbatim, parameters are validated before the query is submitted, and Parquet/ORC arrays, maps and structs are parsed back recursively. ## Guide - [Getting started](https://bug3.github.io/aathena/guide/getting-started.md): Install aathena, scaffold a project against your AWS Glue catalog, and run your first typed Athena query. - [Writing queries](https://bug3.github.io/aathena/guide/writing-queries.md): Write ordinary SQL with typed placeholders. How parameter types are inferred, and the @param annotations that override them. - [Running queries](https://bug3.github.io/aathena/guide/running-queries.md): Call generated query functions, read typed rows, run queries concurrently with parallel(), and handle Athena errors. - [Partitions and views](https://bug3.github.io/aathena/guide/partitions.md): How aathena probes Athena partition projection and traces Presto/Trino views so scaffolded SQL carries the required WHERE predicates. ## Reference - [API surface](https://bug3.github.io/aathena/reference/api.md): Everything exported from aathena and aathena/runtime: the client, createQuery, parallel, schema, and the error classes. - [Configuration](https://bug3.github.io/aathena/reference/configuration.md): Every field of aathena.config.json, its default, and how to override the config at runtime. - [Type mapping](https://bug3.github.io/aathena/reference/type-mapping.md): How Athena and Glue column types map to TypeScript, including arrays, maps, structs, and the partition-key nullability rule. - [Generated code](https://bug3.github.io/aathena/reference/generated-code.md): What aathena generate writes: export names, query files, the barrel, and cross-database bindings. - [Query statistics](https://bug3.github.io/aathena/reference/query-statistics.md): The statistics block on every QueryResult: timings, bytes scanned, cache hits, and opt-in runtime row counts. - [CLI](https://bug3.github.io/aathena/reference/cli.md): Reference for aathena init, add, and generate, with every flag. ## Optional - [GitHub repository](https://github.com/bug3/aathena) - [npm package](https://www.npmjs.com/package/aathena)