Skip to content
Open
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
16 changes: 16 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Auto detect text files and normalize line endings
* text=auto

# Source
*.ts text eol=lf
*.js text eol=lf
*.json text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.md text eol=lf

# Binary
*.png binary
*.jpg binary
*.gif binary
*.ico binary
38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

67 changes: 67 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Bug Report
description: Report a bug with agent-ready
labels: [bug]
body:
- type: textarea
id: description
attributes:
label: Description
description: What happened?
placeholder: A clear description of the bug
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: How can we reproduce this?
value: |
1. Run `agent-ready scan ...`
2.
3.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What should have happened?
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What happened instead?
validations:
required: true
- type: input
id: version
attributes:
label: agent-ready version
placeholder: "0.1.0"
validations:
required: true
- type: input
id: node-version
attributes:
label: Node.js version
placeholder: "20.10.0"
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
options:
- macOS
- Linux
- Windows
validations:
required: true
- type: textarea
id: output
attributes:
label: Command Output
description: Paste the full command output if relevant
render: shell
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Discussions
url: https://github.com/agent-next/agent-ready/discussions
about: Ask questions and share ideas
30 changes: 0 additions & 30 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Feature Request
description: Suggest a new feature or improvement
labels: [enhancement]
body:
- type: textarea
id: problem
attributes:
label: Problem Statement
description: What problem does this solve?
placeholder: "I'm always frustrated when..."
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: What should agent-ready do?
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Any other approaches you've thought about?
- type: dropdown
id: category
attributes:
label: Category
options:
- New provider
- Existing provider improvement
- CLI UX
- GitHub Action
- MCP server
- Documentation
- Other
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional Context
description: Screenshots, mockups, or any other context
11 changes: 11 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
TypeScript project using Node 20+ with strict mode enabled.

Commands: `npm test` (152 tests), `npm run check` (typecheck + lint + format), `npm run build` (tsc).

Code style: kebab-case files, PascalCase interfaces, camelCase functions. Interfaces over types. Avoid `any`, use `unknown`. Export types from `src/types.ts`.

Testing: Node built-in test runner via `tsx --test`. Fixtures in `test/fixtures/`. Always run tests after changes and update tests in the same pass as code changes.

Git: Atomic commits with semantic prefixes (feat/fix/docs/chore). Run `npm run check` before committing.

Do not add external API calls — all scanning must remain local. Do not modify `src/types.ts` without updating all consumers.
18 changes: 18 additions & 0 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: "Copilot Setup Steps"

on:
workflow_dispatch:

jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- run: npm ci
- run: npm run build
59 changes: 23 additions & 36 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,24 @@ Instructions for AI agents working with the agent-ready codebase.

## Project Overview

**agent-ready** is a Factory.ai-compatible repository maturity scanner that evaluates codebases against the 9 Pillars / 5 Levels model.
**agent-ready** is a repo infrastructure setup tool for agent-guided development. One command to make any repo agent-ready — everything except the code.

**Version:** 0.0.1
**Version:** 0.1.0
**Language:** TypeScript
**Runtime:** Node.js >= 20

## Quick Commands

```bash
npm install # Install dependencies
npm run dev -- scan . # Scan current directory
npm test # Run tests (22 tests)
npm run typecheck # Type check
npm run lint # Lint code
npm run format # Format code
npm run build # Build for production
npm install # Install dependencies
npm run dev -- scan . # Scan current directory
npm test # Run tests (152 tests)
npm run test:coverage # Coverage with c8
npm run typecheck # Type check (tsc --noEmit)
npm run lint # ESLint
npm run format # Prettier
npm run check # All gates: typecheck + lint + format
npm run build # Build for production
```

## Project Structure
Expand Down Expand Up @@ -72,33 +74,18 @@ agent-readiness/

## Key Concepts

### 9 Pillars (Factory.ai Compatible)
| ID | Pillar | Checks |
|----|--------|--------|
| `docs` | Documentation | README, AGENTS.md, CONTRIBUTING, CHANGELOG |
| `style` | Style & Validation | EditorConfig, linters, formatters |
| `build` | Build System | Package manifest, CI/CD, lock files |
| `test` | Testing | Test files, config, integration tests |
| `security` | Security | .gitignore, CODEOWNERS, dependabot |
| `observability` | Observability | Logging, tracing, metrics |
| `env` | Environment | .env.example, devcontainer |
| `task_discovery` | Task Discovery | Issue/PR templates |
| `product` | Product | Feature flags, analytics |

### 5 Levels
| Level | Name | Threshold |
|-------|------|-----------|
| L1 | Functional | 80% of L1 checks |
| L2 | Documented | 80% of L2 checks |
| L3 | Standardized | 80% of L3 checks |
| L4 | Optimized | 80% of L4 checks |
| L5 | Autonomous | 80% of L5 checks |

### Gating Rule
Level N achieved when:
1. ALL required checks at level N pass
2. ≥80% of ALL checks at level N pass
3. All previous levels achieved
### 9 Setup Categories (Providers)
| Provider | What It Sets Up |
|----------|----------------|
| Agent Guidance | AGENTS.md, CLAUDE.md, copilot-instructions.md, cursor rules |
| Code Quality | Biome (JS/TS) or Ruff+mypy (Python), .editorconfig |
| Testing | Test scaffold, BDT branch matrix, coverage config |
| CI/CD | ci.yml, claude.yml, copilot-setup-steps.yml |
| Hooks | Lefthook/Husky pre-commit + Claude PostToolUse hooks |
| Branch Ruleset | GitHub rulesets via API (require PR, reviews, status checks) |
| Templates | Issue forms (YAML), PR template, CODEOWNERS, SECURITY.md |
| DevContainer | .devcontainer/devcontainer.json |
| Security | dependabot.yml, push protection, CodeQL |

## Code Conventions

Expand Down
57 changes: 57 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# agent-ready

Repo infrastructure setup tool for agent-guided development. TypeScript, Node 20+, Commander CLI.

## Commands

```bash
npm install # install dependencies
npm run dev -- scan . # run CLI in dev mode
npm test # 152 tests, node test runner
npm run test:coverage # coverage with c8
npm run typecheck # tsc --noEmit
npm run lint # eslint
npm run format # prettier
npm run check # typecheck + lint + format (all gates)
npm run build # tsc → dist/
```

## Architecture

```
src/index.ts (CLI entry, commander)
→ src/commands/scan.ts → src/scanner.ts (orchestrator)
→ src/commands/init.ts (file generation)

src/scanner.ts
→ src/profiles/ (load YAML profile)
→ src/engine/context.ts (build scan context, detect project type)
→ src/checks/ (execute checks: file-exists, path-glob, dependency-detect, etc.)
→ src/engine/level-gate.ts (80% rule, level calculation)
→ src/output/ (JSON + markdown formatting)
```

## Conventions

- TypeScript strict mode, interfaces over types, avoid `any`
- Files: `kebab-case.ts`, interfaces: `PascalCase`, functions: `camelCase`
- Check IDs: `pillar.check_name` (e.g., `docs.readme`, `test.framework`)
- Export all types from `src/types.ts`
- Keep checks pure — no external API calls, scanning is local only

## Testing

- Runner: `tsx --test` (Node built-in test runner)
- Test files mirror source: `src/checks/file-exists.ts` → `test/checks.test.ts`
- Fixtures in `test/fixtures/` (minimal-repo, standard-repo, l3-repo, monorepo, python-repo, empty-repo)
- Run tests after every change: `npm test`
- Update tests in the same pass as code changes

## Git

- Atomic commits, one logical change per commit
- Branch naming: `feat/`, `fix/`, `docs/`, `chore/`
- PR titles: semantic prefix (`feat:`, `fix:`, `docs:`, etc.)
- Run `npm run check` before committing

@AGENTS.md
Loading
Loading