一键导入
hcp-terraform
HCP Terraform (Terraform Cloud) workflow for remote plan and apply. Use when working with Terraform that runs in Terraform Cloud, not locally.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
HCP Terraform (Terraform Cloud) workflow for remote plan and apply. Use when working with Terraform that runs in Terraform Cloud, not locally.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Design patterns for local-first AI desktop apps — provider abstraction (Ollama / OpenAI-compatible gateways), RAG retrieval and ingestion hygiene, citation UX that loops back to sources, streaming and scoped cancellation, chat-loop details, and demo-corpus design. Use when building or reviewing a local AI app, a RAG/notebook product, chat UX, or preparing AI product demos. Distilled from Alchemy (a local NotebookLM clone).
Automate, inspect, and verify a running Tauri app with tauri-browser — DOM snapshots, ref-based clicks, React-safe fills, screenshots, direct Tauri command invokes, and demo-data seeding. Use when driving a Tauri app for testing, screenshots, demo setup, or end-to-end verification of app changes.
Manage Homebrew taps for distributing CLI tools and macOS apps. Use when creating or updating Homebrew formulas and casks.
Build, code-sign, notarize, and release Tauri 2 desktop apps on macOS (Rust backend + web frontend), including dev-loop gotchas (capabilities/ACL, watcher, cargo patches) and CI fallbacks. Use when working on a Tauri app's release pipeline, Apple signing/notarization, GitHub Actions for macOS builds, or debugging a Tauri dev loop. Distilled from shipping Alchemy (a local NotebookLM clone).
Rust development workflow with quality gates, testing, and iteration patterns. Use when developing Rust code, running tests, or iterating on Rust projects.
Makefile patterns for development workflows. Use when creating or understanding Makefiles for build automation, release workflows, and development iteration.
| name | hcp-terraform |
| description | HCP Terraform (Terraform Cloud) workflow for remote plan and apply. Use when working with Terraform that runs in Terraform Cloud, not locally. |
| allowed-tools | Read, Edit, Write, Bash, Grep, Glob, WebFetch |
Workflow for Terraform projects that use HCP Terraform (formerly Terraform Cloud) for remote execution.
You cannot apply locally. All plans and applies run in HCP Terraform.
# Login to Terraform Cloud
terraform login
# Credentials stored in ~/.terraform.d/credentials.tfrc.json
# backend.tf
terraform {
cloud {
organization = "your-org"
workspaces {
name = "your-workspace"
}
}
}
Or with tags for multiple workspaces:
terraform {
cloud {
organization = "your-org"
workspaces {
tags = ["app:myapp"]
}
}
}
terraform init
This connects to HCP Terraform and sets up remote state.
terraform plan
The plan runs in HCP Terraform. Output is streamed to your terminal.
terraform apply
Note: For workspaces with auto-apply disabled, you may need to approve in the UI.
# Using the TFC API
TFC_TOKEN=$(jq -r '.credentials."app.terraform.io".token' ~/.terraform.d/credentials.tfrc.json)
curl -s \
-H "Authorization: Bearer $TFC_TOKEN" \
-H "Content-Type: application/vnd.api+json" \
"https://app.terraform.io/api/v2/organizations/YOUR_ORG/workspaces/YOUR_WORKSPACE" \
| jq '.data.attributes | {auto_apply, latest_change: .["latest-change-at"], resources: .["resource-count"]}'
TFC_ORG := your_org
TFC_WORKSPACE := your_workspace
TFC_TOKEN_FILE := $(HOME)/.terraform.d/credentials.tfrc.json
tfc-status:
@test -f $(TFC_TOKEN_FILE) || (echo "Error: No TFC credentials. Run 'terraform login' first." && exit 1)
@TFC_TOKEN=$$(jq -r '.credentials."app.terraform.io".token' $(TFC_TOKEN_FILE)) && \
RESPONSE=$$(curl -s -H "Authorization: Bearer $$TFC_TOKEN" -H "Content-Type: application/vnd.api+json" \
"https://app.terraform.io/api/v2/organizations/$(TFC_ORG)/workspaces/$(TFC_WORKSPACE)") && \
echo "$$RESPONSE" | jq -r '.data.attributes | "Workspace: $(TFC_WORKSPACE)\nAuto-apply: \(.["auto-apply"])\nLast change: \(.["latest-change-at"])\nResources: \(.["resource-count"])"'
@echo "View runs: https://app.terraform.io/app/$(TFC_ORG)/workspaces/$(TFC_WORKSPACE)/runs"
Set in HCP Terraform UI or via API:
.tf files)AWS_ACCESS_KEY_ID)Mark sensitive variables in the UI. They won't be shown in logs.
For variables shared across workspaces:
provider "aws" {
region = var.aws_region
# Credentials come from TFC environment variables:
# AWS_ACCESS_KEY_ID
# AWS_SECRET_ACCESS_KEY
}
resource "aws_s3_bucket" "website" {
bucket = "myapp-website"
}
resource "aws_s3_bucket_website_configuration" "website" {
bucket = aws_s3_bucket.website.id
index_document {
suffix = "index.html"
}
}
resource "aws_s3_bucket_public_access_block" "website" {
bucket = aws_s3_bucket.website.id
block_public_acls = false
block_public_policy = false
ignore_public_acls = false
restrict_public_buckets = false
}
resource "aws_cloudfront_distribution" "cdn" {
origin {
domain_name = aws_s3_bucket.website.bucket_regional_domain_name
origin_id = "S3-${aws_s3_bucket.website.id}"
}
enabled = true
default_root_object = "index.html"
default_cache_behavior {
allowed_methods = ["GET", "HEAD"]
cached_methods = ["GET", "HEAD"]
target_origin_id = "S3-${aws_s3_bucket.website.id}"
forwarded_values {
query_string = false
cookies {
forward = "none"
}
}
viewer_protocol_policy = "redirect-to-https"
}
restrictions {
geo_restriction {
restriction_type = "none"
}
}
viewer_certificate {
cloudfront_default_certificate = true
}
}
# Re-authenticate
terraform login
# List workspaces
terraform workspace list
# Select workspace
terraform workspace select workspace-name
Go to HCP Terraform UI → Workspace → Runs → Approve or discard.
If state is locked from a failed run:
# Initialize (required first)
terraform init
# Format check
terraform fmt -check
# Validate configuration
terraform validate
# Plan (runs remotely)
terraform plan
# Apply (runs remotely)
terraform apply
# Show current state (fetches from remote)
terraform show
# Output values
terraform output
# Import existing resource
terraform import aws_s3_bucket.example bucket-name
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}