This repository contains the CLI Plugin for Temporal Cloud (temporal-cloud).
cmd/temporal-cloud/- Main entry point for the CLItemporalcloudcli/- Core CLI implementationcloud.go- The cloud specific client implementation including auth and clients for cloud ops api servicecommands.go- The command context thats passed around and the root command implementationcommands.gen.go- Generated command code, do not editcommands.login.go- Login command implementationcommands.namespace.go- Namespace command implementationcommands.yml- Command configuration, used to generate commands.gen.gocommon.go- Shared utilities, constants, and types used across the CLI (AsyncOperationHandler,Prompter,runAsyncOperation, etc.)namespace.go- Legacy namespace client helpers (being replaced by the function-based pattern; seecommands.namespace.retention.gofor the canonical new pattern)internal/printer/- Output formatting utilities
makeThe plugin is meant to be an extension to the Temporal CLI. After building, copy the binary somewhere in your PATH and rename it to temporal-cloud:
temporal cloud <command> [flags]- Use environment variables instead of committing secrets.
- Always ask instead of assuming business logic.
- Add to AIDEV comments or ask instead of removing them.
- Stay focused on the task at hand. When in doubt about whether a change is related to the task, ask.
Before providing your final implementation, use <implementation_planning> tags to:
- Break down the feature into smaller, manageable tasks.
- Consider potential challenges for each task and how to address them.
- Provide a high-level outline of the code structure, including function names and their purposes.
- List specific test cases you plan to implement.
- State which error handling approaches you will use for different scenarios.
- Discuss the trade-offs inherent in your design decisions (performance, scalability, complexity, security).
- Reason about failure modes. How does it handle crashes? A 10x increase in load?
When explaining code mechanics with verb constructions (e.g., "calls", "sends", "is processed"):
- Bold the verb in the sentence.
- Immediately after the sentence, provide a clickable code citation.
- Use the format:
[filepath:line](filepath:line)
Example: When the account entity module initializes, it registers activities with the Temporal worker using prefixed names:
entities/account/internal/fx.go:22
w.RegisterActivityWithOptions(a, activity.RegisterOptions{Name: ActivityNamePrefix})- Follow the style rules in
.aiagent/rules/code-style.md. - Follow the architecture decisions in
.aiagent/rules/architecture.md. - When adding a new command, follow
.aiagent/rules/command-implementation.md. - When writing tests, follow
.aiagent/rules/testing.md. - When a new
.gofile is created,git addit. - Before saying "done", ensure
make allpasses.