Skip to content
Merged
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
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
- IMPORTANT: 開発者の指摘が誤っているときは、根拠を示して反論すること
- IMPORTANT: このライブラリ呼び出し方法を検討するときは、Developer Experienceを重視して考えること
- IMPORTANT: リリース前につきソースコードの修正時のマイグレーション考慮は不要。でも警告くらいは出してね
- IMPORTANT: APIの追加・変更・削除を行った場合、llms.txtも同期的に更新すること。llms.txtはLLMがxlmakeを理解するためのAPI要約ファイル

## 開発コマンド

Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ const output = await xlmake()
await output.saveToFile("report.xlsx");
```

## For AI Tools

If you are using AI coding assistants (GitHub Copilot, Claude, ChatGPT, etc.), see [llms.txt](./llms.txt) for a comprehensive API reference optimized for LLM consumption.

## License

MIT
Expand Down
66 changes: 66 additions & 0 deletions llms.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# xlmake

> Declarative Excel generation library for TypeScript. Built on ExcelJS, providing a method-chaining API where code reflects the final Excel structure. Runs in both Node.js and browsers.

## Quick Start

Install:

```
npm install xlmake
```

```typescript
import { xlmake } from "xlmake";

const output = await xlmake()
.sheet("Sales")
.table({
preset: "basic",
columns: [
{ key: "name", label: "Product" },
{ key: "price", label: "Price" },
{ key: "quantity", label: "Quantity" },
],
data: [
{ name: "Apple", price: 100, quantity: 50 },
{ name: "Orange", price: 80, quantity: 100 },
],
})
.getNode();

await output.saveToFile("report.xlsx");
```

## API Reference

- [Overview](website/docs/api-reference/overview.md): API structure and design concepts
- [xlmake()](website/docs/api-reference/xlmake.md): WorkbookBuilder and SheetBuilder methods (sheet, merge, getNode, getBrowser, table, text, image, space)
- [.table()](website/docs/api-reference/table.md): TableOptions, Column definitions (LeafColumn, ParentColumn), autoWidth, mergeSameValues
- [Styling](website/docs/api-reference/styling.md): CellStyle, TableStyle, BorderStyle, LineStyle, AlignType, style priority
- [.text()](website/docs/api-reference/text.md): Text input (plain string or styled object)
- [.image()](website/docs/api-reference/image.md): ImageOptions (source, width, height, row, col)
- [Reading API](website/docs/api-reference/reading.md): read(), WorkbookReader, SheetReader, CellReader

## Guides

- [Quick Start](website/docs/quick-start.md): Getting started with xlmake
- [Basic Usage](website/docs/guides/basic-usage.md): Core concepts and patterns
- [Multi-sheet](website/docs/guides/multi-sheet.md): Working with multiple sheets
- [Styling](website/docs/guides/styling.md): Applying styles and presets
- [Images](website/docs/guides/images.md): Inserting images into sheets
- [Reading Excel files](website/docs/guides/reading.md): Reading existing Excel files

## Examples

- [Basic Table](website/docs/examples/basic-table.md): Simple table output
- [Presets](website/docs/examples/presets.md): Using basic, minimal, and striped presets
- [Borders](website/docs/examples/borders.md): Border styling examples
- [Multi-level Headers](website/docs/examples/multi-header.md): Nested column headers
- [Cell Merge](website/docs/examples/cell-merge.md): Merging cells with same values

## Reference

- [Presets](website/docs/reference/presets.md): Detailed preset specifications
- [Excel Constraints](website/docs/reference/excel-constraints.md): Excel format limitations
- [Limitations](website/docs/reference/limitations.md): Features not supported by xlmake
Loading