|
1 | 1 | <a name="readme-top"></a> |
2 | 2 |
|
3 | 3 | <div align="center"> |
4 | | - <br/> |
5 | | - <br/> |
6 | | - <h1> Welcome to {{projectName}} </h1> |
7 | | - <p> |
8 | | - {{description}} |
9 | | - </p> |
10 | | -</div> |
| 4 | + |
| 5 | +<h1 align="center">StackCode</h1> |
| 6 | + |
| 7 | +<br> |
| 8 | + |
| 9 | +# Welcome to the StackCode repository |
11 | 10 |
|
12 | 11 | --- |
13 | 12 |
|
14 | | -## 📖 About The Project |
| 13 | +**Ever felt the tedious grind of setting up new projects, enforcing conventions, and managing releases?** <br/> |
| 14 | +We believe developers should focus on creating, not on repetitive boilerplate and configuration. That's why we built **StackCode**: the developer's automated Ops Assistant. <br/> |
| 15 | +With intelligent scaffolding, guided commits, a simplified Gitflow, and automated releases, your workflow is about to get a major upgrade. <br/> |
| 16 | +**Your only frustration will be not having this from the start.** 😉 |
| 17 | + |
| 18 | +[ci-shield]: https://github.com/YagoBorba/StackCode/actions/workflows/ci.yml/badge.svg?branch=develop |
| 19 | +[ci-link]: https://github.com/YagoBorba/StackCode/actions/workflows/ci.yml |
| 20 | +[npm-shield]: https://img.shields.io/npm/v/stackcode-cli?style=flat-square&logo=npm&labelColor=black&color=CB3837 |
| 21 | +[npm-link]: # |
| 22 | +[license-shield]: https://img.shields.io/github/license/YagoBorba/StackCode?style=flat-square&logo=github&labelColor=black&color=508CF9 |
| 23 | +[license-link]: https://github.com/YagoBorba/StackCode/blob/develop/LICENSE |
| 24 | + |
| 25 | +</br> |
| 26 | + |
| 27 | +</div> |
| 28 | + |
| 29 | +## ❤️ About the Project |
15 | 30 |
|
16 | 31 | > [!IMPORTANT] |
17 | | -> This section should explain the purpose and motivation behind your project. What problem does it solve? What makes your project special? Why did you build it? |
| 32 | +> StackCode was born from a simple idea: **professional DevOps practices shouldn't be complicated.** If you agree, star this repository to give us a boost! ⭐️ |
18 | 33 |
|
19 | | -### Built With |
| 34 | +StackCode is a powerful, opinionated CLI designed to bring consistency, quality, and automation to your development lifecycle. From the first line of code to the final release tag, StackCode is there to handle the tedious tasks, letting you focus on what truly matters: building great software. |
20 | 35 |
|
21 | | -This section should list any major frameworks/libraries used to bootstrap your project. |
| 36 | +Our goal is to make best practices the easiest path. |
22 | 37 |
|
23 | | -* [![React][React.js]][React-url] |
24 | | -* [![Node.js][Node.js]][Node-url] |
25 | | -* [![TypeScript][TypeScript]][TypeScript-url] |
| 38 | +## ✨ What Can StackCode Do? |
26 | 39 |
|
27 | | -<br/> |
| 40 | +StackCode is a suite of tools designed to work together seamlessly: |
28 | 41 |
|
29 | | -## 🚀 Getting Started |
| 42 | +* 🚀 **Effortless Project Scaffolding (`init`):** |
| 43 | + Generate a complete, production-ready project structure in seconds. Starts with a professional Node.js + TypeScript stack, with more to come. |
| 44 | + |
| 45 | +* 📝 **Intelligent File Generation (`generate`):** |
| 46 | + Need a `.gitignore`? Don't just get one—get a perfect one. Our composable template engine combines rules for your stack, IDE, and tools (like Docker) into a single, organized file. |
30 | 47 |
|
31 | | -To get a local copy up and running, follow these simple steps. |
| 48 | +* 💬 **Guided Conventional Commits (`commit`):** |
| 49 | + Never write a non-compliant commit message again. Our interactive wizard guides you through the Conventional Commits specification, ensuring a clean and readable Git history. |
32 | 50 |
|
33 | | -### Prerequisites |
| 51 | +* 🔗 **Simplified Gitflow (`git`):** |
| 52 | + Forget memorizing branch names. Use `stc git start` and `stc git finish` to manage feature branches with ease. Our interactive menu makes the process foolproof. |
34 | 53 |
|
35 | | -Make sure you have the following installed on your machine. |
36 | | -* npm |
37 | | - ```sh |
38 | | - npm install npm@latest -g |
39 | | - ``` |
| 54 | +* 🔖 **Automated Versioning & Releases (`release`):** |
| 55 | + This is where the magic happens. The `release` command analyzes your commits, automatically determines the next semantic version (`patch`, `minor`, `major`), updates all `package.json` files, generates a `CHANGELOG.md`, and creates the corresponding commit and Git tag. |
40 | 56 |
|
41 | | -### Installation |
| 57 | +* ✅ **Guaranteed Commit Quality (`validate`):** |
| 58 | + Integrates seamlessly with Husky git hooks. The `stc validate` command ensures that no non-conventional commit ever makes it into your repository. |
42 | 59 |
|
43 | | -1. Clone the repo |
44 | | - ```sh |
45 | | - git clone [https://github.com/](https://github.com/){{githubUsername}}/{{repoName}}.git |
46 | | - ``` |
| 60 | +* ⚙️ **Flexible Configuration (`config`):** |
| 61 | + Manage global preferences (like language) and project-specific settings (like enabling commit validation) with a simple, interactive command. |
47 | 62 |
|
48 | | -2. Install NPM packages |
49 | | - ```sh |
50 | | - {{installCommand}} |
51 | | - ``` |
| 63 | +## 🛠️ Under the Hood (Main Technologies) |
52 | 64 |
|
53 | | -## 🛠️ Usage |
| 65 | +* **[TypeScript](https://www.typescriptlang.org/)**: For a robust, type-safe, and maintainable codebase. |
| 66 | +* **[Node.js](https://nodejs.org/)**: The runtime environment for our powerful backend logic. |
| 67 | +* **[Yargs](https://yargs.js.org/)**: For building a clean, professional, and extensible command-line interface. |
| 68 | +* **[Inquirer](https://github.com/SBoudrias/Inquirer.js/)**: To create the intuitive and interactive prompts that guide the user. |
| 69 | +* **[Vitest](https://vitest.dev/)**: For a fast, modern, and reliable testing suite that guarantees our core logic is solid. |
| 70 | +* **[GitHub Actions](https://github.com/features/actions)**: For our CI pipeline that automatically builds and tests every Pull Request. |
54 | 71 |
|
55 | | -Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources. |
| 72 | +## 🚀 Getting Started |
56 | 73 |
|
57 | | -For more examples, please refer to the Documentation |
| 74 | +There are two primary ways to use StackCode, depending on your needs. |
58 | 75 |
|
59 | | -## 🚣️ Roadmap |
| 76 | +### Global Installation (For Convenience) |
60 | 77 |
|
61 | | -- [ ] Feature 1 |
62 | | -- [ ] Feature 2 |
63 | | -- [ ] Feature 3 |
| 78 | +This is the recommended approach for everyday use, especially for commands like `stc init`. |
64 | 79 |
|
65 | | -See the open issues for a full list of proposed features (and known issues). |
| 80 | +1. Install the CLI globally using npm: |
| 81 | + ```bash |
| 82 | + npm install -g @stackcode/cli # Replace with your actual package name on npm |
| 83 | + ``` |
| 84 | +2. You can now run `stc` from any directory on your system! |
| 85 | + ```bash |
| 86 | + stc init |
| 87 | + ``` |
66 | 88 |
|
67 | | -## 🤝 Contributing |
| 89 | +### Local Installation (For Teams) |
68 | 90 |
|
69 | | -Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. |
| 91 | +This is the best approach for ensuring everyone on a project uses the exact same version of the tool, which is critical for features like `stc commit` and `stc release`. |
70 | 92 |
|
71 | | -If you have a suggestion that would make this better, please fork the repo and create a pull request. |
| 93 | +1. Install the CLI as a dev dependency in your project: |
| 94 | + ```bash |
| 95 | + npm install --save-dev @stackcode/cli # Replace with your package name |
| 96 | + ``` |
| 97 | +2. Run commands using `npx`: |
| 98 | + ```bash |
| 99 | + npx stc commit |
| 100 | + ``` |
72 | 101 |
|
73 | | -- Fork the Project |
74 | | -- Create your Feature Branch (`git checkout -b feature/AmazingFeature`) |
75 | | -- Commit your Changes (`git commit -m 'feat: Add some AmazingFeature'`) |
76 | | -- Push to the Branch (`git push origin feature/AmazingFeature`) |
77 | | -- Open a Pull Request |
| 102 | +## 🤝 Want to Contribute? |
78 | 103 |
|
79 | | -## 📝 License |
| 104 | +Awesome! StackCode is an open-source project, and we welcome contributions. |
80 | 105 |
|
81 | | -Distributed under the {{license}} License. See LICENSE.txt for more information. |
| 106 | +To get started, please read our **[Contribution Guide](CONTRIBUTING.md)**. It has everything you need to know about our workflow, code standards, and how to submit your pull requests. |
82 | 107 |
|
83 | | -## ✍️ Contact |
| 108 | +## 📝 License |
| 109 | + |
| 110 | +This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for more details. |
84 | 111 |
|
85 | | -{{authorName}} - @your_twitter |
| 112 | +--- |
86 | 113 |
|
87 | | -Project Link: https://github.com/{{githubUsername}}/{{repoName}} |
| 114 | +<div align="right"> |
| 115 | + <a href="#readme-top">Back to Top</a> |
| 116 | +</div> |
88 | 117 |
|
89 | | -[back to top]: #readme-top |
| 118 | +[ci-shield]: https://github.com/YagoBorba/StackCode/actions/workflows/ci.yml/badge.svg |
| 119 | +[ci-link]: https://github.com/YagoBorba/StackCode/actions/workflows/ci.yml |
| 120 | +[npm-shield]: https://img.shields.io/npm/v/@stackcode/cli?style=flat-square&logo=npm&labelColor=black&color=CB3837 |
| 121 | +[npm-link]: https://www.npmjs.com/package/@stackcode/cli |
| 122 | +[license-shield]: https://img.shields.io/github/license/YagoBorba/StackCode?style=flat-square&logo=github&labelColor=black&color=508CF9 |
| 123 | +[license-link]: https://github.com/YagoBorba/StackCode/blob/develop/LICENSE |
0 commit comments