tf-registry

Generate Terraform configuration for an AWS CodeArtifact private npm registry.

Updated May 23, 2026
One-click install
npx skills add https://github.com/BMS-kmusial/bms-stream-monitor --skill tf-registry-bms-kmusial
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tf-registry
Source: https://github.com/BMS-kmusial/bms-stream-monitor/tree/main/.claude/skills/tf-registry
Command: npx skills add https://github.com/BMS-kmusial/bms-stream-monitor --skill tf-registry-bms-kmusial

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up a private npm registry on AWS CodeArtifact requires correctly wiring many Terraform resources—domain, repositories, upstream connections, KMS encryption, and IAM policies—which is error-prone when done by hand. ## Core Features & Use Cases - Terraform Generation: Produces a complete terraform/ directory with main, variables, outputs, codeartifact, iam, kms, and tfvars example files. - Registry Infrastructure: Creates the CodeArtifact domain, private npm repository, npm public upstream/proxy repository, external npm connection, KMS key and alias, and an IAM managed policy for read/publish operations. - CI/CD Integration: Wires the registry to an existing GitHub Actions OIDC role for automated publishing. - Use Case: A team adopting the AWS appendix path for their AI toolkit package asks for the registry infrastructure, and receives validated Terraform ready for fmt and validate checks. ## Quick Start Ask the assistant to generate the Terraform configuration for the AWS CodeArtifact npm registry using your region, account id, domain name, and repository names.

Frequently Asked Questions about tf-registry

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a private npm registry with AWS CodeArtifact and Terraform?

Define a CodeArtifact domain, a private npm repository, and an upstream proxy repository with an external npm connection in Terraform. Add a KMS key for encryption and an IAM managed policy granting read and publish permissions to your CI role.

How to connect GitHub Actions to AWS CodeArtifact for npm publishing?

Reference an existing GitHub Actions OIDC role by name or ARN and attach the generated IAM managed policy for CodeArtifact read/publish operations. This lets CI workflows authenticate and publish packages without stored credentials.

What is the difference between a CodeArtifact domain and an npm scope?

A CodeArtifact domain is an AWS resource grouping repositories, while an npm scope is a package namespace like @myorg. The aws codeartifact login command expects the namespace without the @ prefix.

Does the generated Terraform store credentials or secrets?

No, the generated Terraform contains no hardcoded personal credentials. Authentication is handled through IAM roles and the aws codeartifact login command, with state stored in an S3 backend using native locking.

When should I not use AWS CodeArtifact for a private npm registry?

CodeArtifact is the managed-infrastructure appendix path and should only be chosen consciously, not as the default for every team. Simpler alternatives may fit teams without AWS infrastructure or Terraform workflows.