Skip to main content

TechScript โ€” A simple, friendly programming language (.txs)

Project description

๐Ÿ‰ TechScript

TechScript Dragon Logo

A friendly programming language that reads like plain English โ€” and now builds websites too!


๐Ÿค” What is TechScript? (Explain Like I'm 10)

Imagine you want to tell a computer to do something. Normally, computers only understand confusing code like this:

const x = document.getElementById('name');
if (x !== null && x.value.length > 0) { ... }

TechScript makes that feel like writing a sentence:

make name = ask "What is your name? "
say f"Hello, {name}!"

That's it. No semicolons. No brackets. No confusing symbols. Just simple words that make sense.

TechScript is:

  • ๐ŸŸข A programming language โ€” you can write code that runs on your computer
  • ๐ŸŒ A web builder โ€” you can build full websites with it (no HTML or CSS needed!)
  • ๐Ÿ Powered by Python โ€” works on any computer that has Python installed
  • ๐Ÿ“ฆ One command โ€” tech run yourfile.txs and your program runs instantly

๐Ÿš€ What Can TechScript Do?

What you want to do TechScript can do it?
Print text to screen โœ… say "Hello!"
Ask the user a question โœ… make answer = ask "Your name? "
Do math โœ… say 10 + 5 * 2
Make decisions โœ… when age > 18 { say "Adult" }
Loop (repeat stuff) โœ… each i in 1..10 { say i }
Make functions (reusable code) โœ… build greet(name) { say f"Hi {name}!" }
Make classes/objects โœ… model Dog { ... }
Handle errors โœ… attempt { ... } catch err { ... }
Build a website โœ… use web + page.run()
Replace HTML โœ… page.h1("Title"), page.div([...])
Replace CSS โœ… page.style("body", { "color": "white" })
Replace JavaScript โœ… page.script("function hello() {...}")
Replace React/Vue โœ… Built-in state management via JS in page.script()

๐ŸชŸ Install on Windows (Easy โ€” No Terminal Needed!)

Option 1: One-Click Installer (Recommended for Beginners)

  1. Go to the ๐Ÿ“ฅ Releases page
  2. Download TechScript-Setup.exe
  3. Double-click it โ€” it will install everything automatically!
  4. Open PowerShell (press Win + X โ†’ "Windows PowerShell") and type:
tech version

You should see: TechScript v1.0.1 ๐ŸŽ‰

What the installer does automatically:

  • โœ… Puts tech.exe on your computer
  • โœ… Makes the tech command available everywhere in your terminal
  • โœ… Registers .txs files so they know they belong to TechScript
  • โœ… Installs the VS Code extension for syntax highlighting

Option 2: Using pip (If you already have Python)

pip install techscript

๐Ÿง Install on Linux (Ubuntu, Kali, Arch, etc.)

Super Simple โ€” Just paste this in your terminal:

curl -fsSL https://raw.githubusercontent.com/Tcode-Moti/TechScript/main/scripts/install.sh | bash

Or manually:

# Step 1: Make sure Python 3.10+ is installed
python3 --version

# Step 2: Install TechScript
pip3 install techscript

# Step 3: Test it
tech version

๐ŸŽ Install on macOS

# If you have Homebrew and Python:
pip3 install techscript

# OR use the one-line installer:
curl -fsSL https://raw.githubusercontent.com/Tcode-Moti/TechScript/main/scripts/install.sh | bash

๐Ÿ“ฑ Install on Android (Termux)

pkg install python
pip install techscript
tech version

โœ๏ธ Your First TechScript Program

Create a new file called hello.txs (you can use Notepad, VS Code, or any text editor):

# This is a comment โ€” the computer ignores it
# The 'say' keyword means "print this to the screen"

say "Hello, World!"
say "I am learning TechScript!"
say "It is very easy to read ๐Ÿ˜Š"

Now run it:

tech run hello.txs

Output:

Hello, World!
I am learning TechScript!
It is very easy to read ๐Ÿ˜Š

๐Ÿ“– Language Guide (With Explanations for Beginners)

๐Ÿ“ฆ Variables โ€” Storing Information

A variable is like a box where you put something to use later.

# 'make' creates a new box called 'name' and puts "Alice" inside
make name = "Alice"

# 'keep' creates a CONSTANT โ€” a box you can NEVER change
keep PI = 3.14159

# You can store numbers, text, lists, anything!
make age = 25
make items = [1, 2, 3, 4, 5]      # A list (like a shopping list)
make info = { "city": "Delhi" }    # A dictionary (like a phone book)

๐Ÿ–จ๏ธ Output โ€” Talking to the User

say "Hello!"                        # Prints: Hello!
say "Name:", name                   # Prints: Name: Alice
say f"My name is {name}!"          # f-strings insert variables: My name is Alice!
say 10 + 5                          # Prints: 15

๐Ÿ’ฌ Input โ€” Asking the User a Question

make name = ask "What is your name? "
say f"Nice to meet you, {name}!"

When run, it pauses and waits for the user to type something.


๐Ÿ”€ Conditions โ€” Making Decisions

Think of this like: "IF this is true, do that. Otherwise, do this other thing."

make age = 20

when age >= 18 {
    say "You are an adult!"
} or when age >= 13 {
    say "You are a teenager!"
} else {
    say "You are a child!"
}

๐Ÿ” Loops โ€” Doing Things Repeatedly

each loop โ€” do something for every item in a list:

# Count from 1 to 5
each i in 1..5 {
    say f"Count: {i}"
}

# Go through each item in a list
each fruit in ["apple", "banana", "mango"] {
    say f"I like {fruit}!"
}

repeat loop โ€” keep doing something while a condition is true:

make x = 1
repeat x <= 5 {
    say x
    x = x + 1
}

๐Ÿ”ง Functions โ€” Reusable Code Blocks

A function is a piece of code you write once and can use many times.

# 'build' creates a function. 'name' is the input it receives.
build greet(name, greeting = "Hello") {
    say f"{greeting}, {name}!"
}

# Call the function:
greet("Alice")             # Prints: Hello, Alice!
greet("Bob", "Hi there")  # Prints: Hi there, Bob!
greet("Charlie", "Hey")   # Prints: Hey, Charlie!

๐Ÿ—๏ธ Classes โ€” Blueprints for Objects

A class is like a blueprint for creating things (called objects).

# Define what a "Dog" is
model Dog {
    build init(self, name, breed) {
        self.name = name      # Every dog has a name
        self.breed = breed    # Every dog has a breed
    }
    build speak(self) {
        say f"{self.name} says: Woof! Woof!"
    }
    build info(self) {
        say f"{self.name} is a {self.breed}"
    }
}

# Create two dogs (two "objects" from the Dog blueprint)
make rex = Dog("Rex", "German Shepherd")
make buddy = Dog("Buddy", "Golden Retriever")

rex.speak()     # Rex says: Woof! Woof!
rex.info()      # Rex is a German Shepherd
buddy.speak()   # Buddy says: Woof! Woof!

โš ๏ธ Error Handling โ€” Catching Mistakes Gracefully

What if something goes wrong? Instead of crashing, you can handle it:

attempt {
    # Try to do this risky thing
    make result = 10 / 0      # Division by zero!
} catch err {
    # If anything goes wrong, come here instead of crashing
    say f"Oops! Something went wrong: {err.message}"
}

say "Program continues normally after the error!"

๐ŸŒ Building Websites with TechScript (New in v1.0.1!)

This is the most exciting feature โ€” you can build a complete running website using only TechScript. No HTML. No CSS. No JavaScript files. Just one .txs file!

How it works

  1. Write use web at the top โ€” this loads the web module
  2. Create a page with make page = WebPage("My Title")
  3. Add styling, content, and scripts
  4. Call page.run() โ€” your browser opens automatically! ๐Ÿš€

Simple Website Example

use web

# Create a page with a title
make page = WebPage("My First Website")

# Add CSS styles (like a style sheet)
page.style("body", {
    "background": "#0f0f11",     # Dark background
    "color": "#eeeeee",          # White text
    "font-family": "sans-serif", # Clean font
    "text-align": "center",
    "padding": "60px"
})

# Add JavaScript (for interactive buttons)
page.script("""
    function sayHello() {
        alert('Hello from TechScript! ๐Ÿ‰');
    }
""")

# Build the page layout
page.body([
    page.h1("Welcome to My Website! ๐Ÿ‰"),
    page.p("This website was built 100% in TechScript."),
    page.p("No HTML. No CSS files. No React. Just TechScript!"),
    page.button("Click Me!", { "onclick": "sayHello()" })
])

# Run the server โ€” browser opens automatically!
page.run()

Run it:

tech run my_website.txs

That's it! Your browser opens and shows your website. Press Ctrl+C to stop the server.


๐Ÿ› ๏ธ All CLI Commands

Command What it does Example
tech run file.txs Run a TechScript file tech run hello.txs
tech run file.txs --debug Run with debug info tech run calc.txs --debug
tech check file.txs Check for errors without running tech check myapp.txs
tech repl Open interactive mode (type and run live) tech repl
tech transpile file.txs Convert your code to Python tech transpile hello.txs
tech version or tech -V Show installed version tech -V

๐Ÿ“‹ All Example Programs

Run any of these to see TechScript in action:

File What it does Run it
examples/hello.txs Prints Hello World tech run examples/hello.txs
examples/fibonacci.txs Calculates Fibonacci numbers tech run examples/fibonacci.txs
examples/fizzbuzz.txs The classic FizzBuzz challenge tech run examples/fizzbuzz.txs
examples/classes.txs Dogs and cats using OOP tech run examples/classes.txs
examples/calculator.txs Simple calculator tech run examples/calculator.txs
examples/guessing_game.txs Guess the number game tech run examples/guessing_game.txs
examples/web_app_simple.txs Simple dark-theme website tech run examples/web_app_simple.txs
examples/web_complete.txs Full showcase: counter, API, form tech run examples/web_complete.txs

๐ŸŽจ VS Code / Cursor Editor Extension

Get syntax highlighting, code snippets, and the ๐Ÿ‰ dragon file icon for .txs files:

Method 1 โ€” Command line (fastest):

code --install-extension vscode-extension/techscript-1.0.2.vsix

Method 2 โ€” Using the GUI:

  1. Open VS Code
  2. Press Ctrl+Shift+X to open Extensions
  3. Click the ยทยทยท menu (top right of the Extensions panel)
  4. Select "Install from VSIX..."
  5. Choose vscode-extension/techscript-1.0.2.vsix

After installing, all your .txs files will have the dragon icon and coloured syntax! ๐ŸŽจ


โœจ v1.0.1 Changelog โ€” What's New vs v1.0.0

Feature v1.0.0 v1.0.1
Basic scripting (say, make, loops) โœ… โœ…
Functions, classes, error handling โœ… โœ…
80+ built-in functions โœ… โœ…
VS Code extension (syntax + icons) โœ… โœ… Updated to v1.0.2
use web โ€” Build websites โŒ โœ… NEW
No HTML/CSS/JS needed โŒ โœ… NEW
Browser opens automatically โŒ โœ… NEW
Auto port selection (no conflicts) โŒ โœ… NEW
Windows one-click Setup.exe โŒ โœ… NEW
Mac/Linux one-line install script โŒ โœ… NEW
Auto PATH setup โŒ โœ… NEW
Reactive counter demo โŒ โœ… NEW
Live API fetch example โŒ โœ… NEW
Contact form example โŒ โœ… NEW

๐Ÿ“š Documentation

Document Description
Quick Start Guide Simple step-by-step install for all platforms
Language Cheat Sheet All keywords, functions, and syntax at a glance
Web Module Guide How to build websites with TechScript

๐ŸŒ Platform Support

Platform Status Install Method
Windows 10/11 โœ… Fully supported TechScript-Setup.exe or pip
macOS โœ… Fully supported install.sh or pip
Linux (Ubuntu, Kali, Arch) โœ… Fully supported install.sh or pip
Android (Termux) โœ… Works pip

Minimum requirement: Python 3.10 or newer.


๐Ÿ“„ License

MIT License โ€” free to use, share, and modify. See LICENSE.


TechScript Dragon
Made with ๐Ÿ‰ by the TechScript Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

techscript-1.0.3.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

techscript-1.0.3-py3-none-any.whl (37.4 kB view details)

Uploaded Python 3

File details

Details for the file techscript-1.0.3.tar.gz.

File metadata

  • Download URL: techscript-1.0.3.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for techscript-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b53453e6351148ec4f0c71b24e407c2817b1f010405dcecebece9fa4011a7560
MD5 9d1257a7b246f3fbdd1279d545e54423
BLAKE2b-256 b3f5c441fad06dc4614cf570940f5b9971886dac1fad83eff6f3cea00e484ff6

See more details on using hashes here.

File details

Details for the file techscript-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: techscript-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 37.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for techscript-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3eb1f5fdcbd8575ef04f48723c320d7c75efe29503af0567fb1b0de0ff859347
MD5 ec4060dcb6dccddd035e56199146f9c3
BLAKE2b-256 051f6372dc0c5fd0f2b02ca4e6fe7bc2c39e84f50fef3c0bcbf37450af82318f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page