Add AI assistant guide and workflow documentation
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
This commit is contained in:
173
.ai-assistant.md
Normal file
173
.ai-assistant.md
Normal file
@ -0,0 +1,173 @@
|
||||
# AI Assistant Guide for Fix Plugin Does Not Exist Notices
|
||||
|
||||
This guide helps AI assistants understand the project structure, workflows, and best practices for this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
- **Plugin Name**: Fix 'Plugin file does not exist.' Notices
|
||||
- **Repository**: https://github.com/wpallstars/fix-plugin-does-not-exist-notices
|
||||
- **Description**: WordPress plugin that adds missing plugins to the plugins list with a "Remove Reference" link to clean up invalid plugin entries and remove error notices.
|
||||
|
||||
## Version Management
|
||||
|
||||
### Version Numbering Convention
|
||||
|
||||
We follow [Semantic Versioning](https://semver.org/):
|
||||
- **MAJOR.MINOR.PATCH** (e.g., 1.6.0)
|
||||
- **MAJOR**: Breaking changes
|
||||
- **MINOR**: New features, non-breaking
|
||||
- **PATCH**: Bug fixes, non-breaking
|
||||
|
||||
### When to Increment Version Numbers
|
||||
|
||||
- **PATCH** (1.6.0 → 1.6.1):
|
||||
- Bug fixes
|
||||
- Small text changes
|
||||
- Minor improvements that don't add new features
|
||||
|
||||
- **MINOR** (1.6.0 → 1.7.0):
|
||||
- New features
|
||||
- Significant improvements to existing functionality
|
||||
- Deprecation of features (but not removal)
|
||||
|
||||
- **MAJOR** (1.6.0 → 2.0.0):
|
||||
- Breaking changes
|
||||
- Removal of features
|
||||
- Major architectural changes
|
||||
|
||||
### Version Update Checklist
|
||||
|
||||
When updating the version number, always update these files:
|
||||
1. `fix-plugin-does-not-exist-notices.php` (Plugin header)
|
||||
2. `CHANGELOG.md` (Add new version section)
|
||||
3. `readme.txt` (Stable tag and Changelog section)
|
||||
4. Update `FPDEN_VERSION` constant in the main plugin file
|
||||
|
||||
## Git Workflow
|
||||
|
||||
### Branch Naming Convention
|
||||
|
||||
- Feature branches: `feature/descriptive-name`
|
||||
- Bug fix branches: `fix/issue-description`
|
||||
- Release branches: `v{MAJOR}.{MINOR}.{PATCH}`
|
||||
|
||||
### Commit Message Guidelines
|
||||
|
||||
- Use present tense ("Add feature" not "Added feature")
|
||||
- Start with a verb
|
||||
- Keep the first line under 50 characters
|
||||
- Reference issues when relevant: "Fix #123: Resolve plugin detection issue"
|
||||
|
||||
### Release Process
|
||||
|
||||
1. Create a new branch for the version: `git checkout -b v{MAJOR}.{MINOR}.{PATCH}`
|
||||
2. Update version numbers in all required files
|
||||
3. Update CHANGELOG.md with all changes
|
||||
4. Commit changes: `git commit -m "Prepare release v{MAJOR}.{MINOR}.{PATCH}"`
|
||||
5. Push branch to all remotes:
|
||||
```
|
||||
git push github HEAD:v{MAJOR}.{MINOR}.{PATCH}
|
||||
git push gitea HEAD:v{MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
6. Create and push a tag to trigger the GitHub Actions workflow:
|
||||
```
|
||||
git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Release version {MAJOR}.{MINOR}.{PATCH}"
|
||||
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}
|
||||
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
|
||||
## Build Process
|
||||
|
||||
The build process is handled by `build.sh`:
|
||||
1. Updates version numbers
|
||||
2. Installs composer dependencies
|
||||
3. Copies files to build directory
|
||||
4. Creates ZIP file
|
||||
|
||||
To manually build the plugin:
|
||||
```
|
||||
./build.sh {MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
|
||||
## Remote Repositories
|
||||
|
||||
The plugin is hosted on multiple repositories:
|
||||
- GitHub: https://github.com/wpallstars/fix-plugin-does-not-exist-notices
|
||||
- Gitea: https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices
|
||||
- WordPress.org: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/
|
||||
|
||||
Always push changes to all remotes to keep them in sync.
|
||||
|
||||
## GitHub Actions
|
||||
|
||||
The repository uses GitHub Actions for automated builds and deployments:
|
||||
- Triggered by tags matching the pattern `v*`
|
||||
- Builds the plugin
|
||||
- Creates a GitHub release
|
||||
- Deploys to WordPress.org
|
||||
|
||||
## Testing Guidelines
|
||||
|
||||
Before releasing:
|
||||
1. Test with the latest WordPress version
|
||||
2. Test with PHP 7.0+ (minimum supported version)
|
||||
3. Verify all features work as expected
|
||||
4. Check for any PHP warnings or notices
|
||||
|
||||
## Common Tasks for AI Assistants
|
||||
|
||||
### Creating a New Release
|
||||
|
||||
```
|
||||
# 1. Create a new branch
|
||||
git checkout -b v1.7.0
|
||||
|
||||
# 2. Update version numbers in files
|
||||
# - fix-plugin-does-not-exist-notices.php
|
||||
# - CHANGELOG.md
|
||||
# - readme.txt
|
||||
# - FPDEN_VERSION constant
|
||||
|
||||
# 3. Commit changes
|
||||
git add .
|
||||
git commit -m "Prepare release v1.7.0"
|
||||
|
||||
# 4. Push to remotes
|
||||
git push github HEAD:v1.7.0
|
||||
git push gitea HEAD:v1.7.0
|
||||
|
||||
# 5. Create and push tag
|
||||
git tag -a v1.7.0 -m "Release version 1.7.0"
|
||||
git push github refs/tags/v1.7.0
|
||||
git push gitea refs/tags/v1.7.0
|
||||
```
|
||||
|
||||
### Adding a New Feature
|
||||
|
||||
```
|
||||
# 1. Create feature branch
|
||||
git checkout -b feature/new-feature-name
|
||||
|
||||
# 2. Make changes and commit
|
||||
git add .
|
||||
git commit -m "Add new feature"
|
||||
|
||||
# 3. Push to remotes
|
||||
git push github HEAD:feature/new-feature-name
|
||||
git push gitea HEAD:feature/new-feature-name
|
||||
```
|
||||
|
||||
### Fixing a Bug
|
||||
|
||||
```
|
||||
# 1. Create bugfix branch
|
||||
git checkout -b fix/bug-description
|
||||
|
||||
# 2. Make changes and commit
|
||||
git add .
|
||||
git commit -m "Fix #123: Fix bug description"
|
||||
|
||||
# 3. Push to remotes
|
||||
git push github HEAD:fix/bug-description
|
||||
git push gitea HEAD:fix/bug-description
|
||||
```
|
Reference in New Issue
Block a user