Guidelines for AI coding agents working with the Signhost Developer Documentation repository.
This repository contains the official developer documentation for the Entrust Signhost REST API. It's built using Rspress, a static site generator based on React and Rspack.
- Live Site: https://evidos.github.io/
- Framework: Rspress v2.0.0-beta.35
- Runtime: Bun
- CI/CD: GitHub Actions with automatic deployment to GitHub Pages
evidos.github.io/
├── docs/ # Main documentation content (MDX files)
│ ├── _nav.json # Navigation configuration
│ ├── index.md # Homepage
│ ├── guide/ # API guides and features
│ │ ├── features/ # Feature documentation
│ │ │ └── samples/ # Code samples (prefixed with _)
│ │ ├── guides/ # Step-by-step guides
│ │ └── start/ # Getting started content
│ ├── openapi/ # OpenAPI documentation
│ └── public/ # Static assets (images, OpenAPI spec)
├── components/ # React components
├── theme/ # Theme customization
│ └── index.css # CSS custom properties (Entrust brand)
├── plugins/ # Custom Rspress plugins
├── .github/
│ ├── instructions/ # LLM instruction files
│ └── workflows/ # GitHub Actions workflows
├── rspress.config.ts # Rspress configuration
└── package.json # Dependencies and scripts
rspress.config.ts: Main site configuration, navigation, theme settingstsconfig.json: TypeScript compiler configurationbiome.json: Biome linter and formatter configurationvacuum-rules.yaml: OpenAPI linting rulesvacuum-ignore.yaml: OpenAPI linting ignore patterns
- MDX files in
docs/: Documentation pages (supports Markdown + JSX) docs/_nav.json: Determines sidebar navigation structuredocs/public/openapi.yaml: OpenAPI specification filedocs/openapi/**: Generated files - Do not edit directly! These are automatically generated fromdocs/public/openapi.yaml
theme/index.css: Contains Entrust brand colors as CSS custom properties
docs/guide/features/samples/_postback-*.{js,ts,py,php,cs,java,go}: External code samples- Files starting with
_are treated as partials/includes and excluded from routing
This repository uses instruction files to guide AI agents when modifying specific file types:
| File | Applies To | Purpose |
|---|---|---|
.github/instructions/agents.instructions.md |
**/* |
Guidelines for updating AGENTS.md |
.github/instructions/capitalization.instructions.md |
**/*.md, **/*.mdx |
Capitalization rules |
.github/instructions/punctuation-formatting.instructions.md |
**/*.md, **/*.mdx |
Punctuation guidelines |
.github/instructions/theme.instructions.md |
**/*.css |
Entrust brand theme guidelines |
Important: Always read and apply the relevant instruction file before modifying matching files.
bun installbun run devServer runs at http://localhost:3000 with hot reload.
bun run buildOutput directory: doc_build/
# Run all checks
bun run lint
# Individual checks
bun run typecheck # TypeScript type checking
bun run lint:ts # Biome linting
bun run lint:md # Markdown formatting
bun run lint:openapi # OpenAPI spec validationbun run preview- Use Biome for linting and formatting
- TypeScript strict mode enabled
- Prefer functional components for React
- Use ES modules (
import/export)
- Follow capitalization rules in instruction files
- Use proper punctuation (see instruction files)
- Keep lines readable (no hard line length limit, but be reasonable)
- Use fenced code blocks with language tags
- Use MDX components from
@rspress/core/themewhen needed
- Use CSS custom properties defined in
theme/index.css - Follow Entrust brand guidelines (see
.github/instructions/theme.instructions.md) - Maintain accessibility (WCAG AA contrast ratios)
- Files in
docs/guide/features/samples/start with_prefix - Include comprehensive comments explaining the code
- Follow security best practices (e.g., constant-time comparisons)
- Maintain consistency across language implementations
- Always handle errors gracefully
- Include configuration via environment variables
On every push and PR:
- TypeScript type checking
- Biome linting
- Markdown linting
- OpenAPI spec validation
- Build verification
Automatic deployment to GitHub Pages on push to main branch.
- Create MDX file in appropriate
docs/subdirectory - Add entry to
docs/_nav.jsonif needed for navigation - Use proper frontmatter with
title - Follow capitalization and punctuation guidelines
- Create file in
docs/guide/features/samples/with_prefix - Include comprehensive comments
- Follow security best practices
- Ensure consistency with other language examples
- Reference in MDX using: ``language file="./samples/_filename.ext"`
- Read
.github/instructions/theme.instructions.mdfirst - Use CSS custom properties, don't hardcode colors
- Maintain accessibility (WCAG AA contrast ratios)
- Edit
docs/public/openapi.yaml(this is the source of truth) - Run
bun run lint:openapito validate - Check
vacuum-ignore.yamlfor intentional rule exceptions
- Check TypeScript errors:
bun run typecheck - Check linting:
bun run lint - Clear build cache:
rm -rf doc_build node_modules && bun install
- Restart dev server
- Check file paths are correct
- Ensure MDX syntax is valid
- Review
vacuum-rules.yamlfor rule definitions - Add exceptions to
vacuum-ignore.yamlif intentional - Validate spec at https://editor.swagger.io/
Important: This AGENTS.md file should be kept up to date as the repository evolves. When making changes to the project, consider whether the change should be reflected here:
- Adding new features or tools: Update relevant sections (e.g., new scripts, new dependencies)
- Changing project structure: Update the Project Structure diagram
- Adding/removing configuration files: Update the Important Files section
- New coding conventions or patterns: Add to Code Style & Conventions
- New common tasks or workflows: Add to Common Tasks section
- Security considerations: Update Security Best Practices
- Troubleshooting discoveries: Add to Troubleshooting section
This file serves as the primary onboarding document for AI agents and should accurately reflect the current state of the repository.
- Review existing documentation in
docs/for examples - Check
README.mdfor setup and build instructions - Review LLM instruction files in
.github/instructions/ - Consult Rspress documentation for framework-specific features