The code and data behind xeiaso.net
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor(docs): split AGENTS.md into progressive disclosure structure

Extracted language-specific and workflow guidelines into separate files
under .claude/ for better organization. Root file now contains only
essential project information and links.

Assisted-by: GLM 4.7 via Claude Code

Xe Iaso 25d4c28e 30b9bd89

+90 -95
+41
.claude/git-workflow.md
··· 1 + # Git Workflow 2 + 3 + ## Commit Messages 4 + 5 + Follow **Conventional Commits** format: 6 + 7 + ``` 8 + <type>[optional scope]: <description> 9 + 10 + [optional body] 11 + 12 + [optional footer(s)] 13 + ``` 14 + 15 + **Types:** `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert` 16 + 17 + - Add `!` after type/scope for breaking changes 18 + - Keep descriptions: concise, imperative, lowercase, no trailing period 19 + - Reference issues/PRs in footers 20 + 21 + ## Attribution 22 + 23 + AI agents must disclose tool and model in commit footer: 24 + 25 + ``` 26 + Assisted-by: [Model Name] via [Tool Name] 27 + ``` 28 + 29 + Example: `Assisted-by: GLM 4.6 via Claude Code` 30 + 31 + ## Pull Requests 32 + 33 + - Clear description of changes 34 + - Reference related issues 35 + - Pass CI (`npm test`) 36 + - Screenshots for UI changes (optional) 37 + 38 + ## Security 39 + 40 + - Secrets in environment variables or `.env` files only (never in repo) 41 + - Run `npm audit` periodically and address vulnerabilities
+17
.claude/go-conventions.md
··· 1 + # Go Conventions 2 + 3 + ## Formatting 4 + 5 + - Use `go fmt` or `goimports` for formatting 6 + - Indent with tabs 7 + - Variables: `camelCase` 8 + - Exported identifiers: `PascalCase` 9 + - Files: `snake_case` 10 + - Packages: `lower-case` module names 11 + 12 + ## Testing 13 + 14 + - Write tests using the standard `testing` package (`*_test.go`) 15 + - Keep test files next to the code they cover 16 + - Prefer table-driven tests 17 + - Aim for high coverage on new modules (existing coverage not enforced)
+13
.claude/javascript-conventions.md
··· 1 + # JavaScript Conventions 2 + 3 + ## Formatting 4 + 5 + Formatted with Prettier: 6 + - 2-space indentation 7 + - Trailing commas 8 + - Double quotes 9 + 10 + ## Files 11 + 12 + - JavaScript tooling lives under `node_modules` 13 + - Configuration in root `package.json`
+19 -95
AGENTS.md
··· 1 1 # Repository Guidelines 2 2 3 - ## Project Structure & Module Organization 4 - 5 - ```text 6 - ├─ cmd/ # Main applications (each sub‑directory is a binary) 7 - ├─ dhall/ # Configuration files using Dhall language 8 - ├─ docs/ # Documentation assets 9 - ├─ docker/ # Docker-related files 10 - ├─ fly/ # Fly.io deployment configuration 11 - ├─ internal/ # Private packages used by the repo 12 - ├─ lume/ # Static site generator configuration 13 - ├─ lume/src # Static site pages 14 - ├─ manifest/ # Kubernetes manifests 15 - ├─ pb/ # Protocol buffer files 16 - ├─ scripts/ # Node.js and shell scripts for automation 17 - ├─ var/ # Variable data/runtime files 18 - ├─ .devcontainer/ # VS Code dev container configuration 19 - ├─ .github/ # GitHub workflows and configuration 20 - ├─ test files # Go test files live alongside source (`*_test.go`) 21 - ├─ go.mod # Go module definition 22 - └─ package.json # npm scripts and JS tooling 23 - ``` 24 - 25 - **Binaries in cmd/**: `fabricate-generation`, `github-sponsor-webhook`, `hydrate`, `no-way-to-prevent-this`, `patreon-saasproxy`, `xesite` (main site binary), `xesitectl`. 26 - 27 - Source code is primarily Go; JavaScript tooling lives under `node_modules` and the root `package.json`. 28 - 29 - ## Development Workflow 30 - 31 - ### Build, Test & Development Commands 32 - 33 - | Command | Description | 34 - | ---------------------------- | --------------------------------------------------- | 35 - | `npm test` | Executes `go test ./...`. | 36 - | `npm run dev` | Runs the site in development mode. | 37 - | `npm run deploy` | Deploys to Kubernetes via kubectl. | 38 - | `npm run extract-meta` | Extracts metadata from content files. | 39 - | `npm run validate-content-dates` | Validates blog post dates. | 40 - | `go build ./...` | Compiles all Go packages. | 41 - | `go run ./cmd/<app>` | Runs a specific binary from `cmd/`. | 42 - 43 - ### Code Formatting & Style 44 - 45 - - **Go** – use `go fmt`/`goimports`; tabs for indentation, `camelCase` for variables, `PascalCase` for exported identifiers. 46 - - **JavaScript/HTML/CSS** – formatted with Prettier (2‑space tabs, trailing commas, double quotes). 47 - - Files are snake_case; packages use lower‑case module names. 48 - 49 - ### Testing 50 - 51 - - Tests are written in Go using the standard `testing` package (`*_test.go`). 52 - - Keep test files next to the code they cover. 53 - - Run the full suite with `npm test`. 54 - - Aim for high coverage on new modules; existing coverage is not enforced. 55 - - **Go** – follow the standard library style; prefer table‑driven tests. 56 - 57 - ## Code Quality & Security 58 - 59 - ### Commit Guidelines 60 - 61 - Commit messages follow **Conventional Commits** format: 62 - 63 - ```text 64 - <type>[optional scope]: <description> 3 + Go-based static site generator with JavaScript tooling for content automation. 65 4 66 - [optional body] 5 + ## Project Structure 67 6 68 - [optional footer(s)] 69 7 ``` 70 - 71 - **Types**: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert` 72 - 73 - - Add `!` after type/scope for breaking changes or include `BREAKING CHANGE:` in the footer. 74 - - Keep descriptions concise, imperative, lowercase, and without a trailing period. 75 - - Reference issues/PRs in the footer when applicable. 76 - 77 - ### Attribution Requirements 78 - 79 - AI agents must disclose what tool and model they are using in the "Assisted-by" commit footer: 80 - 81 - ```text 82 - Assisted-by: [Model Name] via [Tool Name] 8 + cmd/ # Binaries: fabricate-generation, github-sponsor-webhook, hydrate, no-way-to-prevent-this, patreon-saasproxy, xesite (main), xesitectl 9 + internal/ # Private packages 10 + lume/ # Static site generator configuration and pages 83 11 ``` 84 12 85 - Example: 13 + ## Commands 86 14 87 - ```text 88 - Assisted-by: GLM 4.6 via Claude Code 89 - ``` 90 - 91 - ### Additional Guidelines 92 - 93 - ## Pull Request Requirements 94 - 95 - - Include a clear description of changes. 96 - - Reference any related issues. 97 - - Pass CI (`npm test`). 98 - - Optionally add screenshots for UI changes. 99 - 100 - ### Security Best Practices 15 + | Command | Description | 16 + |---------|-------------| 17 + | `npm test` | Run `go test ./...` | 18 + | `npm run dev` | Development server | 19 + | `npm run deploy` | Deploy to Kubernetes | 20 + | `npm run extract-meta` | Extract metadata from content | 21 + | `npm run validate-content-dates` | Validate blog post dates | 22 + | `go build ./...` | Compile all packages | 23 + | `go run ./cmd/<app>` | Run specific binary | 101 24 102 - - Secrets never belong in the repo; use environment variables via `.env` files. 103 - - Run `npm audit` periodically and address reported vulnerabilities. 25 + ## Conventions 104 26 105 - _This file is consulted by the repository's tooling. Keep it up‑to‑date as the project evolves._ 27 + - [Go Conventions](.claude/go-conventions.md) - Formatting, style, testing 28 + - [JavaScript Conventions](.claude/javascript-conventions.md) - Prettier, HTML/CSS 29 + - [Git Workflow](.claude/git-workflow.md) - Commits, PRs, security