One-Stop Solution for all boilerplate needs!

Overview

PR Open Source Visitors Issues License Stars Forks Last Commit Size Maintained UI

One Stop Solution for all boilerplate needs!

Consider leaving a if you found the project helpful.

Templa-rs

Templa-rs is a one-of-a-kind TUI tool written in Rust, which helps you generate boilerplate templates for various types of projects and architectures in a matter of seconds!

Templa-rs

Usage

  1. Download templa-rs here
  2. Run templa-rs
  3. Find the boilerplate you want
  4. Press [ENTER] to select it
  5. Start Coding

You can exit the program at any time using Ctrl+C

Running templa-rs

Windows

If you only wish to use Live Search you can run templa-rs on Windows by simply double clicking the exe file. If you wish to use CLI queries:

  1. Open a Terminal Window in the directory that the executable is in
  2. Run ./templa-rs.exe [OPTIONS]

Linux and macOS

  1. Open a Terminal window in the directory that templa-rs is in
  2. Run tar -zxvf {templa-file-name}.tar.gz
  3. Then run ./templa-rs [OPTIONS]

Features

Live Search

Live Search is a tool that lets you narrow down your search for the boilerplate you need, while also remaining inside the TUI at all times saving you time.

Live Search Features:

  • One way to use Live Search is to simply type a search term such as php, this will then show you all the boilerplates with php in their name
  • TAG: Tag allows you to each for a specific catagory of boilerplates (e.g. TAG:backend), using multiple tags may narrow down your search further More methods to narrow down your search may be coming in the future so keep your eyes out!

Command Line Queries

You can also use queries directly from the command line to refine your search:

image

Template Preview

The Template Preview will show you a tree of the files that will be created when loading the boilerplate.

image

Built With

Getting Started Contributing

Got a great new feature or a boilerplate you want to add? Why not contribute to the project:

  1. Fork it.
  2. Clone your forked repo and move inside it:
git clone https://github.com/{your-username}/templa-rs.git && cd templa-rs
  1. Checkout to a new branch to work on an issue:
git checkout -b my-amazing-feature
  1. Run It Locally
cargo run
  1. Once you're all done coding, it's time to open a PR :) Run the following commands from the root of the project directory:
git add .
git commit -m "A short description about the feature."
git push origin 
   

   

Open your forked repo in your browser and then raise a PR to the master branch of this repository!

Contributing

To start contributing, check out CONTRIBUTING.md. New contributors are always welcome to support this project. If you want something gentle to start with, check out issues labelled as difficulty-easy or good-first-issue. Check out issues labelled as hacktoberfest if you are up for some grabs! :)

License

This project is licensed under MIT.

Comments
  • Adds automated flexible changelog generation and release builds with pre-built binaries.

    Adds automated flexible changelog generation and release builds with pre-built binaries.

    Summary:

    • Changelog matching using regex as in .github/chglog/release.yml, currently matched for current type feat: something, can also process feat(subtopic): something as well, subtopic will appear bold if present in the changelogs.
    • Release template based on simple markdown file completely flexible, present at .github/chglog/RELEASE.tpl.md
    • Added workflow that builds on variety of platforms as here .github/workflows/release.yml

    Sample tested action Release output

    ^ made using the following cmds

    git tag v0.0.9
    git push origin v0.0.9
    

    Notes: made it failsafe so should release those builds where atleast one of platform is able to build, and build fails should be available at actions section to monitor any.

    opened by Animeshz 9
  • Implement new design for the TUI

    Implement new design for the TUI

    Make a UI design for the TUI in a design software like Figma, Adobe Xd, or Sketch.

    We're looking for a design where we can accommodate a search bar, a list view of the available templates, and a preview of the boilerplate repository if possible. Any further additions are welcome.

    Give a link to your design file in the README while making the PR, and make sure the link that you give is made public. (You may also include screenshots of the design in the PR if you wish)

    enhancement design Status: Complete 
    opened by mintbomb27 8
  • Document new usage methods in README

    Document new usage methods in README

    Few changes were made in the PR #32 and subsequently TUI was also changed. The new GIF will be implemented in #49. Please make the required changes in the README which shows how to use the Live Search.

    documentation good first issue difficulty: easy hacktoberfest 
    opened by mintbomb27 7
  • Update GIF which aligns with the new UI

    Update GIF which aligns with the new UI

    The task is to record a neat GIF showing all features and usage of the application and put it in the README and to remove the old one. Show the features accomplished in #42.

    documentation good first issue difficulty: easy hacktoberfest 
    opened by Mannan-Goyal 5
  • Progress Bar/Loader

    Progress Bar/Loader

    Implement a progress bar or a pre-loader predominantly to be used when the repository is being cloned. But make sure to make it an independent and modular function so that other functions can call it in case it is needed.

    enhancement good first issue difficulty: medium hacktoberfest 
    opened by Mannan-Goyal 5
  • Landing Page Website Design for Templa-rs

    Landing Page Website Design for Templa-rs

    We're planning on releasing a new website for Templa-rs which will contain the links to all the releases packages, and basic usage guidelines for the project.

    It should be an aesthetic single paged website that will contain all that's said above. The design can be made in any design software and the link can be added to the README for the PR.

    enhancement good first issue design difficulty: easy hacktoberfest 
    opened by mintbomb27 4
  • [BUG] Unable to release templa-rs

    [BUG] Unable to release templa-rs

    Describe the bug

    Currently, templa-rs uses submodules.json file to load and display the available templates, but while creating a release, this is not included, hence it isn't ready to ship solution yet.

    To Reproduce Steps to reproduce the behaviour:

    1. Build templa-rs using cargo build
    2. Place the binary in a directory where there isn't any submodules.json

    Expected behaviour It should at least have a minimal amount of repos already pre-built for user to select

    Screenshots image

    Desktop (please complete the following information):

    • OS: Linux/Windows

    Proposed Solution(s)

    1. Refer to the submodules.json file from GitHub while running the command
    2. Create a small key/value storage and store the data (serialize and deserialize on startup)
    Status: Unconfirmed 
    opened by DarthBenro008 4
  • CI: Scan for vulnerabilities

    CI: Scan for vulnerabilities

    On every PR to master branch, scan for vulnerabilities. The choice for method to be used lies with the contributor! Fail the CI if any vulnerability is found (even if not severe).

    security chore difficulty: medium hacktoberfest 
    opened by Mannan-Goyal 4
  • refractor: moved app state into App struct and optimized search

    refractor: moved app state into App struct and optimized search

    I created a new App struct to store the app's current state in. This makes the code a little bit cleaner, as it separates the app's state from the drawing logic. With this change, the search feature has been optimized: now it caches the results in the app struct, and it performs new searches if and only if it needs to (For now, it searches only once, but this will become more relevant once we add a search bar). Also, by doing this i fixed the fact that on empty searches nothing was shown (now it shows every possible template), and the broken wrap around when a user tries to go up at index zero in the list, or down at the last index (previously, the cursor would disappear, and the program would crash if you pressed Enter).

    All these changes will help to create further menus more easily, as now you can potentially track what menu you're in directly inside the app status.

    opened by Daemondeal 3
  • Various README Changes

    Various README Changes

    Re: #52

    Was this what you guys were hoping for? Obviously haven't added the GIF yet but other than that what do you think? Any changes let me know and I'll be happy to make them - or if its completely not what you wanted I can give it another shot

    NB: See #49 for my question regarding the GIF

    Status: In Progress 
    opened by Dinoosawruss 2
  • Use ThreadPools to manage threads in Preview Repository

    Use ThreadPools to manage threads in Preview Repository

    Currently, new threads are created while scraping every repository. In order to increase efficiency, use the crate ThreadPool to manage the threads. This was discussed in #42 .

    enhancement help wanted difficulty: medium hacktoberfest 
    opened by mintbomb27 2
  • Make Static website

    Make Static website

    You'll have to make a static website that explains the objective of the project and provides links to packages for all platforms. A SPA (Single Page Application) should be enough. This will depend on #53.

    enhancement good first issue difficulty: easy hacktoberfest 
    opened by Mannan-Goyal 3
  • Implement Stars forks and Repo URL in TUI List

    Implement Stars forks and Repo URL in TUI List

    As mentioned in #3, you'll need to implement the repository URL, stars and forks along with the repository name. (Issues are optional). The Figma board for the design can be found here.

    enhancement difficulty: medium hacktoberfest 
    opened by Mannan-Goyal 0
  • Improve Searching Algorithm

    Improve Searching Algorithm

    Improve the searching algorithm present in perform_search().

    Currently, the search works in an O(n) time complexity by comparing the input given by the -t flag with the tags array in the submodules.json.

    good first issue difficulty: easy hacktoberfest 
    opened by mintbomb27 8
  • Add template repositories

    Add template repositories

    In the submodules.json file add new template repositories for different languages and architectures in the following format -

    {
            "name" : "<repo_name>",
            "url" : "<repo_url>",
            "tags" : ["<tags_relevant_to_repo>","<>","..."]
    }
    

    Please don't reference this Issue whilst opening a PR, as this issue will be indefinitely opened to encourage addition of more templates.

    good first issue help wanted difficulty: easy hacktoberfest 
    opened by Mannan-Goyal 2
Owner
IEEE VIT Student Chapter
The central code repository for Open Source projects done by the members of IEEE-VIT SB
IEEE VIT Student Chapter
A boilerplate++ for a minimal rust web backend

Boiler room A boilerplate++ for a minimal rust web backend Just fork/clone/download this repo and build your backend on it. Why? Both routing and erro

null 3 Nov 28, 2022
A dead simple boilerplate for Rust projects.

boilerplate-rs • A dead simple boilerplate for Rust projects. Project Structure ├── assets │ └── logo.png ├── bin │ ├── Cargo.toml │ └── src │

null 6 Mar 27, 2023
Automatically download minecraft server jars in one line

MCDL Automatically download minecraft server jars in one line (or one click) Installation Download (Windows, Linux) Install via cargo: cargo install m

Isaac Hirschfeld 1 Oct 26, 2021
RustSBI support on SiFive FU740 board; FU740 is a five-core heterogeneous processor with four SiFive U74 cores, and one SiFive S7 core

RustSBI 在 HiFive Unmatched 主板的支持软件 这个项目的目的是在SiFive HiFive Unmatched主板上支持RustSBI。 RustSBI是一个引导程序环境;主板上电时,RustSBI将会先行启动,而后,它将会找到一个可引导的操作系统,引导启动这个操作系统。 在

RustSBI 15 Dec 1, 2022
The never type (the true one!) in stable Rust.

::never-say-never The ! type. In stable Rust. Since 1.14.0. Better than an enum Never {} definition would be, since an instance of type ! automagicall

Daniel Henry-Mantilla 17 Jan 3, 2023
Notifiy when one of Elon Musk's jets flyover your own ADS-B receiver

With inpsiration from twitter/@ElonJet, this app will print notifications when one of Elon Musk's jets fly over your own ADS-B receiver ground station.

Rust ADS-B 6 Dec 19, 2022
sblade or switchblade it's a multitool in one capable of doing simple analysis with any type of data, attempting to speed up ethical hacking activities

sblade or switchblade it's a multitool in one capable of doing simple analysis with any type of data, attempting to speed up ethical hacking activities

Gabriel Correia 1 Dec 27, 2022
A simple library with just one struct which is used to wrap around pointers

A simple library with just one struct which is used to wrap around pointers. This can be used to create pointers and share them across threads without the hassle of synchronization if you really do not care about that.

null 1 Apr 11, 2022
Building a better screen reader for the Linux desktop, one step at a time.

Building a better screen reader for the Linux desktop, one step at a time.

Odilia 44 Dec 31, 2022
CFD is a tool that allows you to check one or more domains to see if they are protected by CloudFlare or not.

CFD is a tool that allows you to check one or more domains to see if they are protected by CloudFlare or not. The check is carried out based on five criteria: 3 headers in the HTTP response, IP, and SSL certificate issuer. The check result can be displayed on the screen or saved to a file.

Airat Galiullin 13 Apr 7, 2023
🛠️ | System tool for all my lovers

<<<<<<< HEAD ?? love-fetch Original code ferris-fetch ?? ??️ System tool for all my lovers ?? How to install it ?? cargo install love-fetch License ??

Fabio Grimaldi 11 Jun 13, 2021
Autorebase automatically rebases all of your feature branches onto master.

Autorebase automatically rebases all of your feature branches onto master. If conflicts are found it will rebase to the last commit that doesn't cause conflicts. By default, branches with an upstream are excluded. You don't need to switch to any branch, the only limitation is that a branch that is checked out and not clean will not be rebased (though I may add that in future).

Tim 66 Nov 26, 2022
🦴🤖 // A Discord bot about collecting all the Borpa

?? ?? Borpa Bot Borpa Bot is a Discord bot about collecting all the Borpa possible. If you dont know what a Borpa is you can find it here Crate Descri

mellowmarshe 1 Dec 19, 2021
`fugit` provides a comprehensive library of `Duration` and `Instant` for the handling of time in embedded systems, doing all it can at compile time.

fugit fugit provides a comprehensive library of Duration and Instant for the handling of time in embedded systems, doing all it can at compile time. T

Emil Fresk 40 Oct 2, 2022
A Monte Carlo simulation of getting all possible outcomes of loot boxes opening

lootboxes_monte_carlo A monte-carlo simulation of the number of "lootboxes" to open to get at least one of each possible outcome I wondered how many l

Adssx 2 Dec 1, 2022
A project for managing all Pop!_OS sources

Pop!_OS Pop!_OS is designed for people who use their computer to create; whether it’s complicated, professional grade software and products, sophistic

Pop!_OS 2k Jan 6, 2023
A repo to store all my 6-Month Rust learning steps

RustLearn A repo to store all my 6-Month Rust learning steps. (free time only!) at the end of the 6-month course, the repo will be a rust package for

Muasya 2 May 16, 2022
Fetch all your fetches, but in rust

fetchfetch, but in rust Fetch all of your fetches. written in go rust. Installation You can either download the latest release or build from source (r

null 4 May 7, 2023
Scan all IP nodes of CloudFlare to find the fastest IP node.

中文版 | English ?? Introduction Scan all IP nodes of CloudFlare to find the fastest IP node. ⚡️ Get Started ??️ Build git clone https://github.com/golan

golangboy 47 Mar 19, 2024