{"id":30351284,"url":"https://github.com/yagoborba/stackcode","last_synced_at":"2025-10-25T06:08:06.266Z","repository":{"id":306170835,"uuid":"1025220860","full_name":"YagoBorba/StackCode","owner":"YagoBorba","description":"StackCode is an ecosystem of development tools designed to act as an intelligent mentor, bridging the gap between learning to code and working in a professional software engineering environment.","archived":false,"fork":false,"pushed_at":"2025-08-08T17:05:33.000Z","size":9404,"stargazers_count":1,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-08-18T23:02:51.386Z","etag":null,"topics":["automation","cli","conventional-commits","developer-tools","git-tools","gitflow","junior-developers","mentoring","monorepo","nodejs","scaffolding","typescript","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YagoBorba.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-23T23:37:26.000Z","updated_at":"2025-08-08T17:05:35.000Z","dependencies_parsed_at":"2025-07-24T04:25:10.309Z","dependency_job_id":"cecaa1dd-d6c0-4383-87b8-183795445ddb","html_url":"https://github.com/YagoBorba/StackCode","commit_stats":null,"previous_names":["yagoborba/stackcode"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/YagoBorba/StackCode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoBorba%2FStackCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoBorba%2FStackCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoBorba%2FStackCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoBorba%2FStackCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YagoBorba","download_url":"https://codeload.github.com/YagoBorba/StackCode/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoBorba%2FStackCode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271073387,"owners_count":24694538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cli","conventional-commits","developer-tools","git-tools","gitflow","junior-developers","mentoring","monorepo","nodejs","scaffolding","typescript","vscode-extension"],"created_at":"2025-08-18T23:01:50.510Z","updated_at":"2025-10-25T06:08:06.260Z","avatar_url":"https://github.com/YagoBorba.png","language":"TypeScript","readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ch1 align=\"center\"\u003eStackCode\u003c/h1\u003e\n\n\u003cbr\u003e\n\n# Welcome to the StackCode repository\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n[![CI Status][ci-shield]][ci-link]\n[![NPM Version][npm-shield]][npm-link]\n[![MIT License][license-shield]][license-link]\n\n\u003c/div\u003e\n\n[ci-shield]: https://github.com/YagoBorba/StackCode/actions/workflows/ci.yml/badge.svg?branch=develop\n[ci-link]: https://github.com/YagoBorba/StackCode/actions/workflows/ci.yml\n[npm-shield]: https://img.shields.io/npm/v/@stackcode/cli?style=flat-square\u0026logo=npm\u0026labelColor=black\u0026color=CB3837\n[npm-link]: https://www.npmjs.com/package/@stackcode/cli\n[license-shield]: https://img.shields.io/github/license/YagoBorba/StackCode?style=flat-square\u0026logo=github\u0026labelColor=black\u0026color=508CF9\n[license-link]: https://github.com/YagoBorba/StackCode/blob/develop/LICENSE\n\n\u003c/br\u003e\n\n\u003c/div\u003e\n\n## ❤️ About the Project\n\n\u003e [!IMPORTANT]\n\u003e 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! ⭐️\n\nStackCode 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.\n\nOur goal is to make best practices the easiest path.\n\n## ✨ What Can StackCode Do?\n\nStackCode is a suite of tools designed to work together seamlessly:\n\n- 🚀 **Effortless Project Scaffolding (`init`):**\n  Generate a complete, production-ready project structure in seconds. Choose from multiple technology stacks including Node.js, React, Vue.js, Python, Java, Go, and PHP—each with best practices and optimal folder structures. **Now with intelligent dependency validation** that checks if required tools are installed before proceeding, providing helpful installation instructions when needed.\n\n- 📝 **Intelligent File Generation (`generate`):**\n  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.\n\n- 💬 **Guided Conventional Commits (`commit`):**\n  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.\n\n- 🔗 **Simplified Gitflow (`git`):**\n  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.\n\n- 🔖 **Automated Versioning \u0026 Releases (`release`):**\n  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.\n\n- ✅ **Guaranteed Commit Quality (`validate`):**\n  Integrates seamlessly with Husky git hooks. The `stc validate` command ensures that no non-conventional commit ever makes it into your repository.\n\n- ⚙️ **Flexible Configuration (`config`):**\n  Manage global preferences (like language and educational mode) and project-specific settings (like enabling commit validation) with a simple, interactive command.\n\n- 🎓 **Educational Mode (`--educate`):**\n  **NEW!** Learn while you work. Enable educational mode to receive helpful explanations about best practices behind every action. Configure globally with `stc config set educate true` or use the `--educate` flag on any command for on-demand learning.\n\n## 🛠️ Under the Hood (Main Technologies)\n\n- **[TypeScript](https://www.typescriptlang.org/)**: For a robust, type-safe, and maintainable codebase.\n- **[Node.js](https://nodejs.org/)**: The runtime environment for our powerful backend logic.\n- **[Yargs](https://yargs.js.org/)**: For building a clean, professional, and extensible command-line interface.\n- **[Inquirer](https://github.com/SBoudrias/Inquirer.js/)**: To create the intuitive and interactive prompts that guide the user.\n- **[Vitest](https://vitest.dev/)**: For a fast, modern, and reliable testing suite that guarantees our core logic is solid.\n- **[GitHub Actions](https://github.com/features/actions)**: For our CI pipeline that automatically builds and tests every Pull Request.\n\n## 🚀 Getting Started\n\nThere are two primary ways to use StackCode, depending on your needs.\n\n### Global Installation (For Convenience)\n\nThis is the recommended approach for everyday use, especially for commands like `stc init`.\n\n1.  Install the CLI globally using npm:\n    ```bash\n    npm install -g @stackcode/cli\n    ```\n2.  You can now run `stc` from any directory on your system!\n    ```bash\n    stc init\n    ```\n\n### Local Installation (For Teams)\n\nThis 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`.\n\n1.  Install the CLI as a dev dependency in your project:\n    ```bash\n    npm install --save-dev @stackcode/cli # Replace with your package name\n    ```\n2.  Run commands using `npx`:\n    ```bash\n    npx stc commit\n    ```\n\n### 🎓 Enable Educational Mode (Recommended for Beginners)\n\nStackCode can teach you best practices as you work. To enable educational explanations:\n\n```bash\n# Enable educational mode globally (shows explanations on all commands)\nstc config set educate true\n\n# Or use on-demand with any command\nstc validate \"feat: new feature\" --educate\nstc commit --educate\nstc init --educate\n```\n\nEducational mode explains the \"why\" behind each action, making it perfect for learning DevOps best practices!\n\n## 📚 Documentation\n\nFor detailed information about the project:\n\n- **[📐 Architecture Guide](docs/ARCHITECTURE.md)** - Understand the project structure, design principles, and component interactions\n- **[🤝 Contributing Guide](docs/CONTRIBUTING.md)** - Development workflow, coding standards, and how to contribute\n- **[🛠️ Technology Stacks](docs/STACKS.md)** - Complete list of supported frameworks and project templates\n- **[🚀 Self-Hosting Guide](docs/SELF_HOSTING_GUIDE.md)** - Deploy and customize StackCode for your organization\n- **[🏛️ ADRs](docs/adr/)** - Architectural decision records documenting key design choices\n\n### 🌐 Documentation in Other Languages\n\n- **[🇧🇷 Português (Brasil)](docs/pt-BR/)** - Documentação em português\n- **[🇪🇸 Español](docs/es/)** - Documentación en español\n\n_Want to help translate the documentation? Check our [contribution guide](docs/CONTRIBUTING.md#internationalization)!_\n\n## 🤝 Want to Contribute?\n\nAwesome! StackCode is an open-source project, and we welcome contributions.\n\nTo get started, please read our **[Contribution Guide](docs/CONTRIBUTING.md)**. It has everything you need to know about our workflow, code standards, and how to submit your pull requests.\n\n## 📝 License\n\nThis project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for more details.\n\n---\n\n\u003cdiv align=\"right\"\u003e\n    \u003ca href=\"#readme-top\"\u003eBack to Top\u003c/a\u003e\n\u003c/div\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyagoborba%2Fstackcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyagoborba%2Fstackcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyagoborba%2Fstackcode/lists"}