Skip to content

Chapter 17: Plugin Reference


Plugin API

Basic Plugin Structure

17.1 插件 API

javascript
module.exports = {
  name: 'my-plugin',
  version: '1.0.0',
  description: 'Plugin description',

  // Initialize
  async init(context) {
    // Setup code
  },

  // Tool definitions
  tools: {
    'tool-name': {
      description: 'Tool description',
      schema: {
        type: 'object',
        properties: {
          param: { type: 'string' }
        }
      },
      async execute(params) {
        // Tool logic
        return result;
      }
    }
  },

  // Hooks
  hooks: {
    'pre-command': async (context) => {
      // Hook logic
    }
  }
};

Plugin Development

Context API

17.2 插件开发

javascript
// Access config
context.config

// Filesystem operations
await context.fs.read(path)
await context.fs.write(path, content)

// Execute commands
await context.exec('npm test')

// Logging
context.log.info('Message')
context.log.error('Error')

Summary

In this chapter, we learned:

  • ✅ Plugin API structure
  • ✅ Plugin development basics
  • ✅ Context API usage

Next Step: Chapter 18 is Practical Examples!


Content is for learning and research only.