Skip to content

Commit 3d64d49

Browse files
committed
feat(release): prepare TechScript 2.0 public open source release
- freeze TechScript 2.0 canonical syntax - migrate repository to final syntax - update compiler, parser and documentation - modernize installer and setup tooling - setup CI/CD pipeline and release packaging workflows - clean legacy cache, build and temporary artifacts
1 parent c1f17ee commit 3d64d49

398 files changed

Lines changed: 55799 additions & 71897 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODE_OF_CONDUCT.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
6+
7+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
8+
9+
## Our Standards
10+
11+
Examples of behavior that contributes to a positive environment for our community include:
12+
13+
* Demonstrating empathy and kindness toward other people
14+
* Being respectful of differing opinions, viewpoints, and experiences
15+
* Giving and gracefully receiving constructive feedback
16+
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
17+
* Focusing on what is best for the overall community, not just the individual
18+
19+
Examples of unacceptable behavior include:
20+
21+
* The use of sexualized language or imagery, and unwelcome sexual attention or advances
22+
* Trolling, insulting or derogatory comments, and personal or political attacks
23+
* Public or private harassment
24+
* Publishing others' private information, such as a physical or email address, without their explicit permission
25+
* Other conduct which could reasonably be considered inappropriate in a professional setting
26+
27+
## Enforcement Responsibilities
28+
29+
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate, fair corrective action in response to any behavior they deem inappropriate, threatening, offensive, or harmful.
30+
31+
## Scope
32+
33+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainers at **support@techscript.is-a.dev**. All complaints will be reviewed and investigated promptly and fairly.

.github/CONTRIBUTING.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Contributing to TechScript
2+
3+
Thank you for deciding to contribute to TechScript! As an open-source project aiming to build a human-first programming language, we value your help in expanding the language features, stabilizing the VM, updating documentation, and building developer tools.
4+
5+
---
6+
7+
## 🛠️ Setting Up Your Development Environment
8+
9+
TechScript is written entirely in **Rust** as a Cargo workspace. To get started, make sure you have the following installed:
10+
11+
1. **Rust Toolchain**: Install via rustup:
12+
```bash
13+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
14+
```
15+
2. **Git**: For version control.
16+
3. **Clang/LLVM** (Optional, required for LLVM-backend contributions):
17+
* **Ubuntu/Debian**: `sudo apt install llvm-dev libclang-dev`
18+
* **macOS**: Installed via Xcode CLI tools or homebrew (`brew install llvm`).
19+
* **Windows**: Download the LLVM installer or use `winget install LLVM.LLVM`.
20+
21+
### Fork & Clone
22+
1. Fork the TechScript repository on GitHub.
23+
2. Clone your fork locally:
24+
```bash
25+
git clone https://github.com/YOUR_USERNAME/techscript.git
26+
cd techscript
27+
```
28+
3. Add the upstream remote:
29+
```bash
30+
git remote add upstream https://github.com/Tcode-Motion/techscript.git
31+
```
32+
33+
---
34+
35+
## 📂 Repository Structure Overview
36+
37+
The codebase is organized like Rust and Zig to keep compilation, execution, and tools clean:
38+
39+
* `compiler/` - Lexer, parser, semantic analyzer, AST, IR, optimizer, and LLVM backend.
40+
* `runtime/` - Virtual Machine (VM), Tree-walking interpreter, garbage collector, and native runtime.
41+
* `stdlib/` - Standard library written in TechScript and Rust.
42+
* `cli/` - The unified `tech` command-line executable.
43+
* `tools/` - Formatter, linter, LSP, and package manager.
44+
* `examples/` - Working demonstration scripts.
45+
* `tests/` - System integration and language regression tests.
46+
* `benchmarks/` - Scripts and suites for testing engine performance.
47+
48+
---
49+
50+
## 🔄 Development & Git Workflow
51+
52+
We use a standard branching model. Always make changes on a descriptive branch, not on the `main` branch.
53+
54+
### 1. Create a Branch
55+
```bash
56+
git checkout -b feature/my-cool-feature
57+
# or
58+
git checkout -b fix/issue-123
59+
```
60+
61+
### 2. Make Edits & Run Linting
62+
We enforce strict styling and quality rules. Run these commands locally before committing:
63+
```bash
64+
# Verify formatting
65+
cargo fmt --all -- --check
66+
67+
# Run linter
68+
cargo clippy --workspace --all-targets -- -D warnings
69+
70+
# Build all workspace targets
71+
cargo build --workspace
72+
```
73+
74+
### 3. Run Tests
75+
Verify both Rust internal tests and TechScript integration tests pass:
76+
```bash
77+
cargo test --workspace
78+
```
79+
80+
### 4. Committing Changes
81+
We follow [Conventional Commits](https://www.conventionalcommits.org/):
82+
* `feat: ...` for new features or syntax.
83+
* `fix: ...` for compiler/runtime bug fixes.
84+
* `docs: ...` for documentation changes.
85+
* `style: ...` for formatting updates.
86+
* `refactor: ...` for code restructurings.
87+
* `test: ...` for adding/updating tests.
88+
89+
Example:
90+
```bash
91+
git commit -m "feat: add support for pattern matching default keyword"
92+
```
93+
94+
---
95+
96+
## 📝 Pull Request Checklist
97+
98+
Before submitting a Pull Request:
99+
- [ ] Ensure all code compiles without warning.
100+
- [ ] Run `cargo fmt` and `cargo clippy`.
101+
- [ ] Add corresponding documentation in `docs/` if modifying syntax, CLI flags, or standard libraries.
102+
- [ ] Add regression tests inside `tests/` or examples in `examples/`.
103+
- [ ] Link the issue you are fixing in the PR description (e.g., `Fixes #123`).
104+
105+
Once submitted, our CI workflow will run automated checks on Windows, Linux, and macOS. A maintainer will review your code and request adjustments if necessary.

.github/DISCUSSION_TEMPLATE.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Discussion Proposal
2+
3+
## Summary
4+
A concise overview of the topic you want to discuss with the community.
5+
6+
## Purpose
7+
Why is this discussion important? What decisions are we trying to make or what opinions are we seeking?
8+
9+
## Key Points of Discussion
10+
- **Point 1**: [Describe first aspect]
11+
- **Point 2**: [Describe second aspect]
12+
- **Point 3**: [Describe third aspect]
13+
14+
## Proposed Solutions / Implementation Ideas
15+
If applicable, outline how you envision this being addressed or designed.
16+
17+
```txs
18+
# Code mockups or syntax layouts if relevant
19+
```

.github/FUNDING.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Funding configurations
2+
3+
github: [Tcode-Motion]
4+
patreon: tcodemotion
5+
ko_fi: tcodemotion
6+
custom: ['https://techscript.is-a.dev/sponsor']
Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,38 @@
11
---
2-
name: Bug Report
3-
about: Create a report to help us improve TechScript 2.0
4-
title: '[BUG] '
2+
name: 🐛 Bug Report
3+
about: Create a report to help us improve TechScript.
4+
title: "[BUG] "
55
labels: bug
6-
assignees: ''
7-
6+
assignees: ""
87
---
98

109
**Describe the bug**
1110
A clear and concise description of what the bug is.
1211

1312
**To Reproduce**
14-
Steps to reproduce the behavior:
15-
1. Provide a minimal TechScript code sample (`.txs`).
16-
2. Run command: `tech run <filename>.txs`
17-
3. See error details.
13+
Steps to reproduce the behavior, including a minimal TechScript code sample.
14+
15+
```txs
16+
# Paste minimal TechScript code sample here
17+
```
18+
19+
**Command Run**
20+
What CLI command did you execute? (e.g. `tech run main.txs`)
1821

19-
**Expected behavior**
22+
**Expected Behavior**
2023
A clear and concise description of what you expected to happen.
2124

22-
**Diagnostics and Environment Output**
23-
- OS: [e.g. Windows, Ubuntu, macOS]
24-
- Rust Compiler Version: [e.g. `rustc --version`]
25-
- Tech CLI version: [e.g. `tech version`]
26-
- Emitted Diagnostics: [Paste terminal print details here]
25+
**Actual Output / Error Log**
26+
If applicable, paste the exact error message or stack trace you received.
27+
28+
```
29+
# Paste logs/errors here
30+
```
31+
32+
**Environment Info:**
33+
- OS: [e.g. Windows 11, Ubuntu 24.04, macOS Sonoma]
34+
- TechScript Version: [e.g. v2.0.0]
35+
- CLI Wrapper Version: [e.g. pip techscript-lang v1.0.8]
36+
37+
**Additional Context**
38+
Add any other context about the problem here.
Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
11
---
2-
name: Feature Request
3-
about: Propose a new language feature, tool, or syntax addition
4-
title: '[FEAT] '
2+
name: 🚀 Feature Request
3+
about: Propose an idea or syntax extension for TechScript.
4+
title: "[FEATURE] "
55
labels: enhancement
6-
assignees: ''
7-
6+
assignees: ""
87
---
98

109
**Is your feature request related to a problem? Please describe.**
11-
A clear and concise description of what the problem is. E.g. "I'm frustrated when..."
10+
A clear and concise description of what the problem is. (e.g. "I'm frustrated when I try to...")
1211

1312
**Describe the solution you'd like**
14-
A clear and concise description of what you want to happen. Provide proposed syntax examples where applicable.
13+
A clear and concise description of what you want to happen. Mention proposed syntax, keywords, or stdlib additions.
14+
15+
**Example Code (TechScript)**
16+
Show what the syntax should look like:
17+
18+
```txs
19+
# Proposed syntax example
20+
```
1521

1622
**Describe alternatives you've considered**
1723
A clear and concise description of any alternative solutions or workarounds you've considered.
1824

19-
**Additional context**
20-
Add any other context, designs, or mockups about the feature request here.
25+
**Additional Context**
26+
Add any other context or mockups about the feature request here.

.github/ISSUE_TEMPLATE/question.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: ❓ Question / Support Request
3+
about: Ask a question about syntax, features, installation, or documentation.
4+
title: "[QUESTION] "
5+
labels: question
6+
assignees: ""
7+
---
8+
9+
**What is your question?**
10+
State your question clearly.
11+
12+
**What have you tried so far?**
13+
If you are troubleshooting a specific snippet of code or command, share it here.
14+
15+
```txs
16+
# Share your code if applicable
17+
```
18+
19+
**Relevant Documentation**
20+
Did you check the docs? If so, which page? (e.g., [Language Guide](docs/LanguageGuide.md))
21+
22+
**Additional Context**
23+
Add any other screenshots or details that could help us answer your question.

.github/SECURITY.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
Only the latest release of TechScript receives security updates. If you find a security issue, please update to the newest stable release.
6+
7+
| Version | Supported |
8+
| ------- | --------- |
9+
| v2.0.x | ✅ Yes |
10+
| v1.0.x | ❌ No |
11+
| < v1.0 | ❌ No |
12+
13+
## Reporting a Vulnerability
14+
15+
We take the security of TechScript seriously. If you discover a vulnerability, please do **NOT** open a public GitHub issue. Instead, report it privately to our security team.
16+
17+
### How to report:
18+
1. Email us at **security@techscript.is-a.dev** with details of the vulnerability.
19+
2. Include:
20+
* A description of the vulnerability and its potential impact.
21+
* Step-by-step instructions or proof-of-concept (PoC) code to reproduce it.
22+
* Your GitHub username if you wish to be credited.
23+
24+
We will acknowledge receipt of your report within 48 hours and work with you to patch the issue before making a public disclosure.

.github/SUPPORT.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Support Guide
2+
3+
If you need help with TechScript, please review the resources below before opening an issue.
4+
5+
---
6+
7+
## 📖 Official Documentation
8+
Our official documentation is the best place to find answers:
9+
* **Getting Started**: [getting-started.md](../docs/getting-started.md)
10+
* **Syntax Reference**: [syntax.md](../docs/syntax.md)
11+
* **Standard Library**: [Stdlib Reference](../docs/StdlibReference.md)
12+
* **Website**: [https://techscript.is-a.dev](https://techscript.is-a.dev)
13+
14+
---
15+
16+
## 💬 Community Channels
17+
18+
For general help, advice, and chatting:
19+
* **GitHub Discussions**: [https://github.com/Tcode-Motion/techscript/discussions](https://github.com/Tcode-Motion/techscript/discussions)
20+
* **Discord Community**: Join our chat to discuss bugs, features, and show off your projects (Discord link is available on our website).
21+
22+
---
23+
24+
## 🐞 Reporting Bugs & Requesting Features
25+
If you've verified a bug or want to suggest a new feature:
26+
1. Search active and closed [GitHub Issues](https://github.com/Tcode-Motion/techscript/issues) to see if it has already been reported.
27+
2. If not, open a new issue using the appropriate template:
28+
* [Bug Report](https://github.com/Tcode-Motion/techscript/issues/new?template=bug_report.md)
29+
* [Feature Request](https://github.com/Tcode-Motion/techscript/issues/new?template=feature_request.md)

.github/dependabot.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# dependabot.yml config
2+
version: 2
3+
updates:
4+
- package-ecosystem: "cargo"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
open-pull-requests-limit: 5
9+
groups:
10+
rust-dependencies:
11+
patterns:
12+
- "*"
13+
- package-ecosystem: "github-actions"
14+
directory: "/"
15+
schedule:
16+
interval: "monthly"

0 commit comments

Comments
 (0)