Hooks Configuration

Make projects ready to use upon generation

Hooks let you execute automation scripts before and after project generation, enabling dependency installation, Git initialization, and more.

Hook Types

AgileBuilder supports two types of hooks:

| Hook | Timing | Purpose | |------|--------|---------| | pre-generate | Before file generation | Validate parameters, prepare environment | | post-generate | After file generation | Install dependencies, initialize Git |

Configure Hooks

In agilebuilder.json:

{
  "hooks": {
    "pre-generate": "node hooks/pre-generate.js",
    "post-generate": "node hooks/post-generate.js"
  }
}

Built-in Hooks

AgileBuilder provides common built-in hooks:

Install Dependencies

{
  "hooks": {
    "post-generate": "@agilebuilder/install-deps"
  }
}

Automatically detects package.json and uses the appropriate package manager.

Initialize Git

{
  "hooks": {
    "post-generate": "@agilebuilder/git-init"
  }
}

Combine Multiple Hooks

{
  "hooks": {
    "post-generate": [
      "@agilebuilder/install-deps",
      "@agilebuilder/git-init",
      "node hooks/custom.js"
    ]
  }
}

Custom Hooks

Create custom hook scripts:

// hooks/post-generate.js
module.exports = async (context) => {
  const { projectPath, variables } = context
  
  console.log(`Project generated at: ${projectPath}`)
  console.log(`Variables:`, variables)
  
  // Execute custom logic
  if (variables.useTypeScript) {
    // TypeScript-specific initialization
  }
}

Next Steps