Skip to content

Add AI agent configuration and devcontainer#323

Merged
JanJakes merged 7 commits intotrunkfrom
agent-experience
Feb 26, 2026
Merged

Add AI agent configuration and devcontainer#323
JanJakes merged 7 commits intotrunkfrom
agent-experience

Conversation

@JanJakes
Copy link
Member

@JanJakes JanJakes commented Feb 25, 2026

Summary

This PR adds configuration for AI coding agents and a development container:

  • AI agent guidance: Add AGENTS.md with project architecture overview, commands, coding conventions, security and compatibility notes, and git practices. CLAUDE.md references it.
  • Claude Code settings: Add .claude/settings.json with pre-approved permissions for common development commands.
  • Devcontainer: Add root-level .devcontainer/ with PHP 8.4, pdo_sqlite, Node.js 20, and Docker-in-Docker — suitable for developing the SQLite driver and running all test suites.

Allow common development commands (composer scripts, phpunit,
phpcs, phpcbf, parallel-lint, npm for WordPress test env) and
relevant documentation domains (developer.wordpress.org, sqlite.org).

Also gitignore .claude/settings.local.json for personal overrides.
Add a root-level devcontainer for developing the SQLite driver and
running all test suites. This is separate from the existing WordPress-
specific devcontainer in wordpress/.devcontainer/.

The configuration provides:
- PHP 8.4 with pdo_sqlite extension
- Composer (included in the base image)
- Node.js 20 (for Playwright E2E tests)
- Docker-in-Docker (for WordPress integration tests)
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR establishes AI agent configuration and development container setup for the SQLite Database Integration project. It provides comprehensive guidance documentation for AI coding assistants, pre-approved command permissions for Claude Code, and a standardized devcontainer environment.

Changes:

  • Add AGENTS.md with project architecture, coding conventions, commands reference, and development guidelines
  • Add CLAUDE.md that references AGENTS.md for Claude Code integration
  • Add .claude/settings.json with pre-approved permissions for common development and testing commands
  • Add .devcontainer/devcontainer.json with PHP 8.4, Node.js 20, and Docker-in-Docker configuration
  • Update .gitignore to exclude local Claude settings

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
AGENTS.md Comprehensive AI agent guidance covering project overview, architecture diagrams, commands, principles, security considerations, compatibility requirements, coding conventions, and Git practices
CLAUDE.md Simple reference to AGENTS.md for Claude Code integration
.claude/settings.json Pre-approved bash command permissions for composer, phpunit, phpcs, npm, and web fetch permissions for WordPress and SQLite documentation
.devcontainer/devcontainer.json Devcontainer configuration with PHP 8.4 image, Node.js 20, Docker-in-Docker, and composer install post-create command
.gitignore Added exclusion for local Claude settings file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@ashfame ashfame left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a few comments to consider but good to land. Nicely done!

.DS_Store
._*
/wordpress
/.claude/settings.local.json
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious: This seems like a path under the container, but how come it has your settings.local.json in there?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's for local indeed, not the container.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But its /.claude

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ashfame That means it ignores the path in the repository root only, but not recursively. Since the path is specific enough, both options would work fine here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh yes, I completely forgot about that bit. I kept thinking its on root, so must be a path in container. Thanks!

Comment on lines +130 to +131
- **Public APIs:** It's possible to evolve the public API, but this must always be
surfaced to the developer so versioning decisions can be made.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<3

- Add project name to the heading
- Wrap long lines in the project overview paragraph
- Add `composer run wp-run` to the commands list
- Split the component overview into three separate diagrams
@JanJakes JanJakes merged commit 0650983 into trunk Feb 26, 2026
14 checks passed
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.

3 participants