Skip to main content

Initialization

Project setup and configuration initialization for Intrig integration. Establishes base configuration files, configures package dependencies, and prepares the project structure for SDK generation.


Initialization Process​

The intrig init command performs three primary operations:

  1. Dependency Verification: Confirms framework-specific Intrig packages are installed
  2. Configuration Creation: Generates intrig.config.json with base settings
  3. Repository Configuration: Updates .gitignore to exclude generated and temporary files

Command​

intrig init

Execute from the project root directory. The command detects the project type and configures accordingly.


Configuration File​

Initialization creates intrig.config.json in the project root:

{
"$schema": "https://raw.githubusercontent.com/intrigsoft/intrig-registry/refs/heads/main/schema.json",
"sources": [],
"generator": "react"
}

Configuration Fields​

FieldTypeDescription
$schemastringJSON schema URL for editor validation and autocomplete
sourcesarrayAPI source definitions (populated via intrig sources add)
generatorstringTarget framework for code generation (react, next, etc.)

Package Dependencies​

Initialization verifies the presence of required packages based on the target framework:

React Projects:

{
"dependencies": {
"@intrig/core": "^0.x.x",
"@intrig/react": "^0.x.x"
}
}

Next.js Projects:

{
"dependencies": {
"@intrig/core": "^0.x.x",
"@intrig/next": "^0.x.x"
}
}

If packages are missing, initialization will prompt for installation.


Repository Configuration​

Git Ignore​

Initialization appends Intrig-specific exclusions to .gitignore:

# Intrig
.intrig/cache/
.intrig/daemon/
node_modules/@intrig/

Included in Version Control:

  • intrig.config.json - Source configuration
  • .intrig/specs/ - Normalized OpenAPI specifications

Excluded from Version Control:

  • .intrig/cache/ - Temporary cache files
  • .intrig/daemon/ - Daemon runtime files
  • Generated SDK in node_modules (regenerated during build)

Post-Initialization Steps​

After initialization, proceed with:

  1. Source Configuration: Add API sources via intrig sources add
  2. Synchronization: Fetch specifications with intrig sync --all
  3. Generation: Generate SDK with intrig generate

Verification​

Confirm successful initialization:

# Check configuration file exists
cat intrig.config.json

# Verify Intrig CLI is accessible
intrig --version

# Check .gitignore contains Intrig exclusions
grep -A 3 "# Intrig" .gitignore

Re-initialization​

Running intrig init on an existing configuration:

  • Preserves existing intrig.config.json content
  • Updates .gitignore if Intrig exclusions are missing
  • Verifies package dependencies

Re-initialization is safe and idempotent.


Framework Detection​

Initialization detects the target framework through:

  1. package.json dependencies: Checks for React, Next.js, or other framework packages
  2. Explicit flag: Use --generator flag to specify framework
# Force specific generator
intrig init --generator next

Troubleshooting​

Missing Configuration File​

Symptom: intrig.config.json not created

Cause: Insufficient permissions or directory is not a valid project root

Resolution: Ensure current directory contains package.json and has write permissions

Incorrect Generator​

Symptom: Wrong framework configured in generator field

Cause: Framework detection selected incorrect generator

Resolution: Manually edit intrig.config.json or re-run with --generator flag

Package Installation Fails​

Symptom: Dependency verification fails

Cause: Network issues or package version conflicts

Resolution: Manually install required packages: npm install @intrig/core @intrig/react