Scripts
This repository contains various utility scripts for development, testing, and operations across multiple directories.
Script Locations
| Directory | Purpose |
|---|---|
/scripts | Root-level utility scripts |
/backstage/scripts | Backstage testing and debugging |
/.specify/scripts | Feature development workflow |
Root-Level Scripts (/scripts)
access-vault-via-iap.sh
Creates an IAP tunnel to the Vault instance for secure access.
./scripts/access-vault-via-iap.sh
Purpose: Set up secure access to Vault through Google Cloud's IAP Requirements: gcloud CLI, GCP project access
sync-vault-groups.sh
Syncs GitHub Teams to Vault Identity Groups for JWT authentication.
# Interactive setup
./scripts/sync-vault-groups.sh setup
# Synchronize teams
./scripts/sync-vault-groups.sh sync
# List current groups
./scripts/sync-vault-groups.sh list
Commands:
setup- Interactive authentication setupsync- Synchronize teams (default)list- List current Vault groups
Requirements: gh CLI, gcloud CLI, vault CLI, jq
Backstage Scripts (/backstage/scripts)
Testing Scripts
test-claude-flow-integration.sh
Validates complete Claude Flow plugin integration.
cd backstage
./scripts/test-claude-flow-integration.sh
Checks:
- Plugin builds (frontend and backend)
- TypeScript compilation
- Linting (ESLint)
- Unit tests
- API structure
- Component integration
test-tfc-integration.sh
Comprehensive test suite for Terraform Cloud integration with Vault.
cd backstage
./scripts/test-tfc-integration.sh [--quick]
Options:
--quick- Skip TFC API test for faster validation
Tests:
- Vault connection
- JWT token creation
- Backend health check
- Token retrieval
- Organization tokens
- TFC API validation
Catalog Query Scripts
query-catalog.sh
Simple catalog entity query using JWT token.
cd backstage
./scripts/query-catalog.sh
Output: Entity counts grouped by Terraform workspace
search-catalog.sh
Advanced catalog search with flexible options.
cd backstage
./scripts/search-catalog.sh [OPTIONS] [QUERY]
Options:
--token FILE- JWT token file--backend URL- Backend URL (default: http://localhost:7007)--verbose, -v- Verbose output
Exit Codes:
- 0: Success
- 1: Invalid arguments
- 2: 4xx HTTP error
- 3: 5xx HTTP error
- 4: Connection error
- 5: Invalid JSON
Token Management Scripts
decode-service-token.js
Decodes Backstage service-to-service JWT tokens.
cd backstage
node scripts/decode-service-token.js
Output: Header, payload claims, expiration info
setup-tfc-token.sh
Sets up Terraform Cloud tokens in Vault.
cd backstage
./scripts/setup-tfc-token.sh
Features:
- Interactive setup wizard
- Token validation against TFC API
- Vault KV storage
Documentation Scripts
docscript.sh
Generates Docusaurus documentation for organization repositories.
cd backstage
./scripts/docscript.sh [REPO_NAME]
Features:
- Repository cloning
- AI-assisted documentation planning
- Docusaurus structure generation
Spec-Driven Development Scripts (/.specify/scripts)
common.sh
Shared utility functions for all .specify scripts.
Functions:
get_repo_root()- Find repository rootget_current_branch()- Get current branchcheck_feature_branch()- Validate branch namingget_feature_paths()- Export feature paths
setup-plan.sh
Sets up implementation plan for a feature.
./.specify/scripts/bash/setup-plan.sh [--json]
Output: Feature spec path, plan path, specs directory
create-new-feature.sh
Creates a new feature branch and specification directory.
./.specify/scripts/bash/create-new-feature.sh [OPTIONS] <description>
Options:
--json- JSON output--short-name <name>- Custom branch name--number N- Specific feature number
Example:
./create-new-feature.sh "Add user authentication" --short-name "user-auth"
check-prerequisites.sh
Validates feature development prerequisites.
./.specify/scripts/bash/check-prerequisites.sh [OPTIONS]
Options:
--json- JSON output--require-tasks- Require tasks.md--include-tasks- Include tasks in output--paths-only- Output paths only
update-agent-context.sh
Updates AI agent context files with feature information.
./.specify/scripts/bash/update-agent-context.sh [agent_type]
Supported Agents: claude, gemini, copilot, cursor-agent, qwen, opencode, codex, windsurf, kilocode, auggie, roo, codebuddy, amp, shai, q
Common Workflows
Starting a New Feature
# Create feature branch
./.specify/scripts/bash/create-new-feature.sh "My new feature"
# Set up plan
./.specify/scripts/bash/setup-plan.sh
# Check prerequisites
./.specify/scripts/bash/check-prerequisites.sh
# Update agent context
./.specify/scripts/bash/update-agent-context.sh claude
Testing Backstage Plugins
cd backstage
# Test Claude Flow
./scripts/test-claude-flow-integration.sh
# Test TFC integration
./scripts/test-tfc-integration.sh
# Query catalog
./scripts/search-catalog.sh "kind=Resource"
Vault Operations
# Access Vault via IAP
./scripts/access-vault-via-iap.sh
# Sync GitHub teams
./scripts/sync-vault-groups.sh sync
# Set up TFC token
cd backstage && ./scripts/setup-tfc-token.sh
Related Documentation
- Infrastructure - Terraform and Vault setup
- Backstage - Application architecture
- GitHub Workflows - CI/CD automation