Skip to main content

Best Practices

Automated Index Updates​

For optimal results, configure a CI/CD pipeline that automatically keeps your Constellation project index up-to-date. See the CI/CD Integration guide for best practices and platform-specific setup instructions, including the official GitHub Action.

Version Control The Configuration File​

Be sure to commit your constellation.json file to share team settings and ensure consistent functionality across your development team.

Indexing Strategy​

When to Use Full vs Incremental Indexing​

Constellation defaults to incremental indexing, which only processes changed files. This is the recommended approach for most situations:

Use Incremental Indexing (Default):

  • Regular development workflow
  • Minor code changes and updates

Use Full Indexing (--full flag):

  • Initial project setup
  • CI/CD pipeline runs
  • After major refactoring that affects many files
  • When switching to a different primary branch/trunk permanently
  • After changing language configurations in constellation.json
  • If you suspect the index is out of sync

Example:

# Regular updates (incremental, default)
const index

# Major refactor or initial setup
const index --full

Git Branch Management​

Always index on your configured branch to maintain index consistency:

  • Verify you're on the correct branch before indexing
  • Don't mix commits from different branches in the same index
  • Use separate project configurations for long-lived feature branches if needed
  • Let git validation checks run (don't use --dirty in production)

Configuration Optimization​

note

Files ignored by .gitignore are automatically excluded from Constellation indexing. The exclude configuration is for additional patterns beyond your .gitignore.

Exclude Patterns​

Optimize indexing performance by carefully configuring exclude patterns in constellation.json. The exclude field accepts glob pattern strings:

{
"exclude": ["**/dist/**", "**/build/**", "**/.next/**", "**/node_modules/**"]
}

Recommended Exclusions:

  • Build output directories (dist, build, out, .next)
  • Dependency directories (node_modules, vendor)
  • Generated code directories
  • Test coverage reports
  • Temporary files