Skip to content

build: Bootstrap agent-ready infrastructure#49

Open
dahlem wants to merge 1 commit intomainfrom
agentready-bootstrap
Open

build: Bootstrap agent-ready infrastructure#49
dahlem wants to merge 1 commit intomainfrom
agentready-bootstrap

Conversation

@dahlem
Copy link

@dahlem dahlem commented Feb 12, 2026

Summary

  • Bootstrap agent-ready infrastructure via agentready bootstrap
  • Add assessment report from agentready assess
  • Add CI workflows, issue/PR templates, pre-commit config, and other repo hygiene files

Files added/modified

  • .agentready/ — assessment reports and configuration
  • .github/workflows/ — CI workflows (agentready assessment, security, tests)
  • .github/ISSUE_TEMPLATE/ — issue templates
  • .github/PULL_REQUEST_TEMPLATE.md — PR template
  • .github/CODEOWNERS — code ownership
  • .github/dependabot.yml — dependency update config
  • .pre-commit-config.yaml — pre-commit hooks
  • CODE_OF_CONDUCT.md — code of conduct (if added)

Test plan

  • Verify CI workflows pass on the PR
  • Review agentready assessment report
  • Confirm no unintended file changes

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link

🤖 AgentReady Assessment Report

Repository: vllm-orchestrator-gateway
Path: /home/runner/work/vllm-orchestrator-gateway/vllm-orchestrator-gateway
Branch: HEAD | Commit: 8e74d986
Assessed: February 12, 2026 at 4:59 PM
AgentReady Version: 2.27.0
Run by: runner@runnervmwffz4


📊 Summary

Metric Value
Overall Score 51.8/100 🥉 Bronze (Tier Definitions)
Attributes Assessed 17/25
Attributes Not Assessed 8
Assessment Duration 0.0s

Languages Detected

  • Markdown: 9 files
  • YAML: 9 files
  • Rust: 3 files

Repository Stats

  • Total Files: 34
  • Total Lines: 10,012

🎯 Priority Improvements

Focus on these high-impact fixes first:

  1. CLAUDE.md Configuration Files (Tier 1) - +10.0 points potential
    • Create CLAUDE.md or AGENTS.md with project-specific configuration for AI coding assistants
  2. Standard Project Layouts (Tier 1) - +10.0 points potential
    • Organize code into standard directories (src/, tests/, docs/)
  3. README Structure (Tier 1) - +10.0 points potential
    • Create or enhance README.md with essential sections
  4. Conventional Commit Messages (Tier 2) - +3.0 points potential
    • Configure conventional commits with commitlint
  5. .gitignore Completeness (Tier 2) - +3.0 points potential
    • Add missing language-specific ignore patterns

📋 Detailed Findings

Findings sorted by priority (Tier 1 failures first, then Tier 2, etc.)

T1 CLAUDE.md Configuration Files ❌ 0/100

📝 Remediation Steps

Measured: missing (Threshold: present)

Evidence:

  • CLAUDE.md not found in repository root
  • AGENTS.md not found (alternative)

Create CLAUDE.md or AGENTS.md with project-specific configuration for AI coding assistants

  1. Choose one of three approaches:
  2. Option 1: Create standalone CLAUDE.md (>50 bytes) with project context
  3. Option 2: Create AGENTS.md and symlink CLAUDE.md to it (cross-tool compatibility)
  4. Option 3: Create AGENTS.md and reference it with @AGENTS.md in minimal CLAUDE.md
  5. Add project overview and purpose
  6. Document key architectural patterns
  7. Specify coding standards and conventions
  8. Include build/test/deployment commands
  9. Add any project-specific context that helps AI assistants

Commands:

# Option 1: Standalone CLAUDE.md
touch CLAUDE.md
# Add content describing your project

# Option 2: Symlink CLAUDE.md to AGENTS.md
touch AGENTS.md
# Add content to AGENTS.md
ln -s AGENTS.md CLAUDE.md

# Option 3: @ reference in CLAUDE.md
echo '@AGENTS.md' > CLAUDE.md
touch AGENTS.md
# Add content to AGENTS.md

Examples:

# Standalone CLAUDE.md (Option 1)

## Overview
Brief description of what this project does.

## Architecture
Key patterns and structure.

## Development
```bash
# Install dependencies
npm install

# Run tests
npm test

# Build
npm run build

Coding Standards

  • Use TypeScript strict mode
  • Follow ESLint configuration
  • Write tests for new features

CLAUDE.md with @ reference (Option 3)

@AGENTS.md

AGENTS.md (shared by multiple tools)

Project Overview

This project implements a REST API for user management.

Architecture

  • Layered architecture: controllers, services, repositories
  • PostgreSQL database with SQLAlchemy ORM
  • FastAPI web framework

Development Workflow

# Setup
python -m venv .venv
source .venv/bin/activate
pip install -e .

# Run tests
pytest

# Start server
uvicorn app.main:app --reload

Code Conventions

  • Use type hints for all functions
  • Follow PEP 8 style guide
  • Write docstrings for public APIs
  • Maintain >80% test coverage

</details>

![T1](https://img.shields.io/badge/T1-Standard_Project_Layouts_50--100-red) **Standard Project Layouts** ❌ 50/100
<details>
<summary>📝 Remediation Steps</summary>

**Measured**: 1/2 directories (Threshold: 2/2 directories)

**Evidence**:
- Found 1/2 standard directories
- src/: ✓
- tests/: ✗

Organize code into standard directories (src/, tests/, docs/)

1. Create src/ directory for source code
2. Create tests/ directory for test files
3. Create docs/ directory for documentation
4. Move source code into src/
5. Move tests into tests/

**Commands**:
```bash
mkdir -p src tests docs
# Move source files to src/
# Move test files to tests/

T1 README Structure ❌ 67/100

📝 Remediation Steps

Measured: 2/3 sections (Threshold: 3/3 sections)

Evidence:

  • Found 2/3 essential sections
  • Installation: ✓
  • Usage: ✓
  • Development: ✗

Create or enhance README.md with essential sections

  1. Add project overview and description
  2. Include installation/setup instructions
  3. Document basic usage with examples
  4. Add development/contributing guidelines
  5. Include build and test commands

Examples:

# Project Name

## Overview
What this project does and why it exists.

## Installation
```bash
pip install -e .

Usage

myproject --help

Development

# Run tests
pytest

# Format code
black .

</details>

![T1](https://img.shields.io/badge/T1-Dependency_Security_%26_Vulnerability_Scanning_35--100-green) **Dependency Security & Vulnerability Scanning** ✅ 35/100

![T1](https://img.shields.io/badge/T1-Dependency_Pinning_for_Reproducibility_100--100-green) **Dependency Pinning for Reproducibility** ✅ 100/100

![T1](https://img.shields.io/badge/T1-Type_Annotations_N--A-lightgray) **Type Annotations** ⊘ 

![T2](https://img.shields.io/badge/T2-Conventional_Commit_Messages_0--100-red) **Conventional Commit Messages** ❌ 0/100
<details>
<summary>📝 Remediation Steps</summary>

**Measured**: not configured (Threshold: configured)

**Evidence**:
- No commitlint or husky configuration

Configure conventional commits with commitlint

1. Install commitlint
2. Configure husky for commit-msg hook

**Commands**:
```bash
npm install --save-dev @commitlint/cli @commitlint/config-conventional husky

T2 .gitignore Completeness ❌ 12/100

📝 Remediation Steps

Measured: 1/8 patterns (Threshold: ≥70% of language-specific patterns)

Evidence:

  • .gitignore found (8 bytes)
  • Pattern coverage: 1/8 (12%)
  • Missing 7 recommended patterns

Add missing language-specific ignore patterns

  1. Review GitHub's gitignore templates for your language
  2. Add the 7 missing patterns
  3. Ensure editor/IDE patterns are included

Examples:

# Missing patterns:
*.swo
*.swp
.idea/
Cargo.lock
**/*.rs.bk

T2 One-Command Build/Setup ❌ 30/100

📝 Remediation Steps

Measured: multi-step setup (Threshold: single command)

Evidence:

  • No clear setup command found in README
  • No Makefile or setup script found
  • Setup instructions in prominent location

Create single-command setup for development environment

  1. Choose setup automation tool (Makefile, setup script, or package manager)
  2. Create setup command that handles all dependencies
  3. Document setup command prominently in README (Quick Start section)
  4. Ensure setup is idempotent (safe to run multiple times)
  5. Test setup on fresh clone to verify it works

Commands:

# Example Makefile
cat > Makefile << 'EOF'
.PHONY: setup
setup:
	python -m venv venv
	. venv/bin/activate && pip install -r requirements.txt
	pre-commit install
	cp .env.example .env
	@echo 'Setup complete! Run make test to verify.'
EOF

Examples:

# Quick Start section in README

## Quick Start

```bash
make setup  # One command to set up development environment
make test   # Run tests to verify setup

</details>

![T2](https://img.shields.io/badge/T2-File_Size_Limits_75--100-green) **File Size Limits** ✅ 75/100

![T2](https://img.shields.io/badge/T2-Concise_Documentation_82--100-green) **Concise Documentation** ✅ 82/100

![T2](https://img.shields.io/badge/T2-Pre-commit_Hooks_%26_CI%2FCD_Linting_100--100-green) **Pre-commit Hooks & CI/CD Linting** ✅ 100/100

![T2](https://img.shields.io/badge/T2-Separation_of_Concerns_100--100-green) **Separation of Concerns** ✅ 100/100

![T2](https://img.shields.io/badge/T2-Test_Coverage_Requirements_N--A-lightgray) **Test Coverage Requirements** ⊘ 

![T2](https://img.shields.io/badge/T2-Inline_Documentation_N--A-lightgray) **Inline Documentation** ⊘ 

![T3](https://img.shields.io/badge/T3-Architecture_Decision_Records_%28ADRs%29_0--100-red) **Architecture Decision Records (ADRs)** ❌ 0/100
<details>
<summary>📝 Remediation Steps</summary>

**Measured**: no ADR directory (Threshold: ADR directory with decisions)

**Evidence**:
- No ADR directory found (checked docs/adr/, .adr/, adr/, docs/decisions/)

Create Architecture Decision Records (ADRs) directory and document key decisions

1. Create docs/adr/ directory in repository root
2. Use Michael Nygard ADR template or MADR format
3. Document each significant architectural decision
4. Number ADRs sequentially (0001-*.md, 0002-*.md)
5. Include Status, Context, Decision, and Consequences sections
6. Update ADR status when decisions are revised (Superseded, Deprecated)

**Commands**:
```bash
# Create ADR directory
mkdir -p docs/adr

# Create first ADR using template
cat > docs/adr/0001-use-architecture-decision-records.md << 'EOF'
# 1. Use Architecture Decision Records

Date: 2025-11-22

## Status
Accepted

## Context
We need to record architectural decisions made in this project.

## Decision
We will use Architecture Decision Records (ADRs) as described by Michael Nygard.

## Consequences
- Decisions are documented with context
- Future contributors understand rationale
- ADRs are lightweight and version-controlled
EOF

Examples:

# Example ADR Structure

```markdown
# 2. Use PostgreSQL for Database

Date: 2025-11-22

## Status
Accepted

## Context
We need a relational database for complex queries and ACID transactions.
Team has PostgreSQL experience. Need full-text search capabilities.

## Decision
Use PostgreSQL 15+ as primary database.

## Consequences
- Positive: Robust ACID, full-text search, team familiarity
- Negative: Higher resource usage than SQLite
- Neutral: Need to manage migrations, backups

</details>

![T3](https://img.shields.io/badge/T3-CI%2FCD_Pipeline_Visibility_80--100-green) **CI/CD Pipeline Visibility** ✅ 80/100

![T3](https://img.shields.io/badge/T3-Issue_%26_Pull_Request_Templates_100--100-green) **Issue & Pull Request Templates** ✅ 100/100

![T3](https://img.shields.io/badge/T3-Cyclomatic_Complexity_Thresholds_N--A-lightgray) **Cyclomatic Complexity Thresholds** ⊘ 

![T3](https://img.shields.io/badge/T3-Semantic_Naming_N--A-lightgray) **Semantic Naming** ⊘ 

![T3](https://img.shields.io/badge/T3-Structured_Logging_N--A-lightgray) **Structured Logging** ⊘ 

![T3](https://img.shields.io/badge/T3-OpenAPI%2FSwagger_Specifications_N--A-lightgray) **OpenAPI/Swagger Specifications** ⊘ 

![T4](https://img.shields.io/badge/T4-Code_Smell_Elimination_0--100-red) **Code Smell Elimination** ❌ 0/100
<details>
<summary>📝 Remediation Steps</summary>

**Measured**: none (Threshold: ≥60% of applicable linters configured)

**Evidence**:
- No linters configured

Configure 2 missing linter(s)

1. Add actionlint for GitHub Actions workflow validation
2. Configure markdownlint for documentation quality

**Commands**:
```bash
npm install --save-dev markdownlint-cli && touch .markdownlint.json

Examples:

# .pylintrc example
[MASTER]
max-line-length=100

[MESSAGES CONTROL]
disable=C0111
# .eslintrc.json example
{
  "extends": "eslint:recommended",
  "rules": {
    "no-console": "warn"
  }
}

T4 Container/Virtualization Setup ✅ 50/100

T4 Branch Protection Rules


📝 Assessment Metadata

  • AgentReady Version: v2.27.0
  • Research Version: v1.0.1
  • Repository Snapshot: 8e74d98
  • Assessment Duration: 0.0s
  • Assessed By: runner@runnervmwffz4
  • Assessment Date: February 12, 2026 at 4:59 PM

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant