Skip to content

Conversation

@lgalabru
Copy link

@lgalabru lgalabru commented Dec 15, 2025

Description

This PR adds support for Txtx, a declarative language for Web3 smart contract runbooks. Txtx is to Web3 what HashiCorp Terraform is to cloud infrastructure management - it provides infrastructure-as-code for blockchain operations, enabling developers to deploy and operate smart contracts across multiple chains (Ethereum, Solana, Stacks, and more) with enhanced security, composability, and reproducibility.

Resources:

Checklist:

  • I am adding a new language.
    • The extension of the new language is used in hundreds of repositories on GitHub.com.
      • Search results for each extension:
        • .tx : https://github.com/search?type=code&q=path%3A**%2Frunbooks%2F**%2F*.tx
        • Note: Searching for *.tx alone matches *.txt files. Txtx projects conventionally place runbooks in runbooks/*/*.tx paths. Approximately 1/4 of Txtx projects are public; the majority are private due to the nature of blockchain infrastructure management (deployment scripts, wallet configurations, etc.).
    • I have included a real-world usage sample for all extensions added in this PR:
      • Sample source(s):
        • Samples were written specifically for this PR to demonstrate different blockchain ecosystems:
          • bns-registration.tx - Stacks BNS name registration
          • evm-deployment.tx - EVM smart contract deployment
          • svm-program-deployment.tx - Solana program deployment
          • svm-pyth-arbitrage.tx - Solana Pyth oracle integration
          • svm-swap-clmm.tx - Raydium DEX swap operations
      • Sample license(s): MIT
    • I have included a syntax highlighting grammar: https://github.com/txtx/txtx-grammar
    • I have added a color
      • Hex value: #00D992
      • Rationale: This is the official Txtx brand color, used consistently across the txtx.sh website and VS Code extension.
    • I have updated the heuristics to distinguish my language from others using the same extension.
      • Note: The .tx extension does not currently conflict with other languages in Linguist. The .txtx extension is unique to Txtx. If heuristics are needed, Txtx files can be identified by their HCL-like syntax with blockchain-specific keywords (action, signer, variable, output, addon).

@lgalabru lgalabru requested a review from a team as a code owner December 15, 2025 23:12
@lildude
Copy link
Member

lildude commented Dec 16, 2025

Why have you chosen to ignore the PR template? It's there for a reason. If we didn't require the template, we wouldn't provide one. This PR will not be reviewed until such time as the PR template is put into place in the OP of this PR and filled in correctly.

@lgalabru
Copy link
Author

Hey @lildude! my apologies, I completely missed the fact that there was a template 🤦‍♂️
Description updated!

Copy link
Member

@lildude lildude left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See inline comment.

Additionally, it looks like you haven't followed the instructions for adding a grammar detailed in the CONTRIBUTING.md file. Please do so as it automates and validates a lot of things.

.tx / .txtx: https://github.com/search?type=code&q=NOT+is%3Afork+path%3A%2Frunbooks%2F*%2F*.tx

* Note: Searching for `*.tx` alone matches `*.txt` files. Txtx projects conventionally place runbooks in `runbooks/*/*.tx` paths. Approximately 1/4 of Txtx projects are public; the majority are private due to the nature of blockchain infrastructure management (deployment scripts, wallet configurations, etc.).

This is returning only 72 files. This is a very very long way from meeting our popularity requirements as detailed in the CONTRIBUTING.md file and issue it references. I understand you've deliberately limited the scope, but this is also limiting your support for the popularity. GitHub's search is quite a bit more advanced now so you can take advantage of regex or search for additional specific strings etc. I recommend you look into trying to improve your search to support our popularity requirements.

The popularity requirement needs to be met by public repos as there is no way of measuring private usage. No exceptions as this would defeat the purpose of have the requirement.

Add support for Txtx, a declarative language for Web3 smart contract
runbooks. Includes grammar, samples, and language configuration.
@lgalabru
Copy link
Author

thanks for the quick review @lildude 🙏
after tweaking the search query, I'm now seeing 219 results (I was missing a few wildcards).
I also re-approached the integration using the guide.

@lgalabru lgalabru requested a review from lildude December 16, 2025 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants