{"id":25692094,"url":"https://github.com/kloutdevs/devtooling","last_synced_at":"2025-08-21T22:06:10.916Z","repository":{"id":275865499,"uuid":"925903241","full_name":"KloutDevs/DevTooling","owner":"KloutDevs","description":"🕵️ DevTooling CLI is an advanced command line tool for project analysis and development management.","archived":false,"fork":false,"pushed_at":"2025-02-16T20:57:00.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-16T21:18:42.065Z","etag":null,"topics":["cli","command-line-tool","dev","developer-tools","development","development-environment","development-tools","devtools","gestion","proyects","pyinstaller","python","python-cli","python-cli-tool","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KloutDevs.png","metadata":{"files":{"readme":"README.MD","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-02T02:48:06.000Z","updated_at":"2025-02-16T21:03:09.000Z","dependencies_parsed_at":"2025-02-05T01:31:44.375Z","dependency_job_id":"951a3421-ad79-4490-8b89-87e983bbaf60","html_url":"https://github.com/KloutDevs/DevTooling","commit_stats":null,"previous_names":["kloutdevs/devtooling"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KloutDevs%2FDevTooling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KloutDevs%2FDevTooling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KloutDevs%2FDevTooling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KloutDevs%2FDevTooling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KloutDevs","download_url":"https://codeload.github.com/KloutDevs/DevTooling/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240571000,"owners_count":19822412,"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","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":["cli","command-line-tool","dev","developer-tools","development","development-environment","development-tools","devtools","gestion","proyects","pyinstaller","python","python-cli","python-cli-tool","python3"],"created_at":"2025-02-24T23:08:10.587Z","updated_at":"2025-08-21T22:06:10.904Z","avatar_url":"https://github.com/KloutDevs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\r\n\u003cimg  src=\"https://i.imgur.com/OmX4SND.png\" width=\"150px\"/\u003e\r\n\u003c/p\u003e\r\n\u003cp align=\"center\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/pypi/dm/devtooling-cli?label=Downloads\u0026labelColor=gray\u0026color=red\" alt=\"Downloads\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/pypi/v/devtooling-cli?label=Version\u0026labelColor=gray\u0026color=blue\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/licencia-MIT-green?style=flat\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/status-alpha-orange?style=flat\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/Python-3.7%2B-blue?style=flat\u0026logo=python\"\u003e\r\n\u003c/p\u003e\r\n\r\n\u003ch1 align=\"center\"\u003eDevTooling CLI\u003c/h1\u003e\r\n\u003cp align=\"center\"\u003e\r\nDevTooling CLI is an advanced command-line tool for project analysis and development management.\r\n\u003c/p\u003e\r\n \r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"https://i.imgur.com/GmYPHOS.gif\" width=\"500\"\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n## 🚀 Features\r\n\r\n-  **Smart Project Detection**\r\n\t- Automatic project type detection\r\n\t- Support for multiple frameworks and technologies\r\n\t- System of detection based on configurable rules\r\n-  **Project Management**\r\n\t- Watch folders for automatic project detection\r\n\t- Low-level and deep scanning modes\r\n\t- Quick project navigation\r\n\t- Project type classification\r\n\t- Project listing and organization\r\n-  **Visualization of Structure**\r\n\t- Interactive directory tree\r\n\t- Smart filtering of files and folders\r\n\t- Customizable visualization\r\n\r\n## 🎯 Roadmap\r\n\r\n### Stage 1: Initial Development \r\n\r\n- [X] **Smart Project Detection**\r\n  - [X] Automatic project type detection\r\n  - [X] Support for multiple frameworks and technologies\r\n  - [X] System of detection based on configurable rules\r\n\r\n- [X] **Project Management**\r\n  - [X] Watch folders for automatic project detection\r\n  - [X] Low-level and deep scanning modes\r\n  - [X] Quick project navigation\r\n  - [X] Project type classification\r\n  - [X] Project listing and organization\r\n\r\n- [X] **Visualization of Structure**\r\n  - [X] Interactive directory tree\r\n  - [X] Smart filtering of files and folders\r\n  - [X] Customizable visualization\r\n\r\n### Stage 2: Integration with Git\r\n\r\n- [ ] View repository status: View remaining changes, modified files, and untracked files.\r\n\r\n- [ ] Manage branches: Create, delete, and switch between branches.\r\n\r\n- [ ] View commit history: Visualize commit history and filter by date, author, file, or message.\r\n\r\n- [ ] Generate .gitignore automatically: Generate a .gitignore file based on the current repository.\r\n\r\n- [ ] Contribution statistics: View fully detailed statistics about contributions to the repository.\r\n\r\n- [ ] Pull request statistics: View statistics about pull requests, including the number of open pull requests, closed pull requests, and merged pull requests.\r\n\r\n- [ ] Initialice a new repository tool: Tool for creating new repositories.\r\n\r\n### Stage 3: Dependencies Scanning\r\n\r\n- [ ] Detect outdated dependencies: Detect outdated dependencies in the project and suggest updates.\r\n\r\n- [ ] Detect vulnerabilities: Inspect the project for known vulnerabilities and suggest remediation. Integrated with tools like Snyk, OWASP, Dependency Check and GitHub Advisory Database.\r\n\r\n- [ ] Analyze dependency sizes: Analyze the size of dependencies of the project and identify those that are large or unnecessary.\r\n\r\n- [ ] Visualize dependency tree: Visualize the dependency tree of the project and identify potential issues.\r\n\r\n### Stage 4: Code Analysis\r\n\r\n- [ ] Count lines per language: Statistics about lines of code per programming language.\r\n\r\n- [ ] Detect duplicated code: Identify duplicated code in the project and suggest ways to optimize it.\r\n\r\n- [ ] Analyze complexity: Analyze the complexity of the project and identify potential issues.\r\n\r\n- [ ] Suggestions for improvements: Suggest improvements to the project based on standards and best practices.\r\n\r\n- [ ] Call Graph Analysis: Search for a function, find all places where it is called, and display execution paths. Generate diagrams with stack traces showing possible call chains.\r\n\r\n### Stage 5: Management of Scripts\r\n\r\n- [ ] Detect available scripts: Identify available scripts in the project and suggest ways to execute them.\r\n\r\n- [ ] Integrated execution: Execute scripts directly from the command line.\r\n\r\n- [ ] Customizable shortcuts: Create custom shortcuts for commonly used scripts.\r\n\r\n- [ ] Concurrent task management: Monitor and manage multiple tasks running in parallel.\r\n\r\n  \r\n\r\n### Stage 6: Development Tools\r\n\r\n- [ ] Generate components from templates: Create new components from pre-defined templates.\r\n\r\n- [ ] Validate project structure: Check the adherence to conventions and best practices.\r\n\r\n- [ ] Manage configurations: Edit and update common configuration files.\r\n\r\n- [ ] Customizable templates: Create and manage custom templates for project generation.\r\n\r\n  \r\n\r\n### Stage 7: Docker Integration\r\n\r\n- [ ] Analyze configurations: Detect and analyze configuration files for Docker.\r\n\r\n- [ ] Optimize Dockerfiles: Suggest improvements to improve the efficiency of Dockerfiles\r\n\r\n- [ ] Containers management: Commands for managing Docker containers.\r\n\r\n- [ ] Validate best practices: Ensure configurations meet safety and security standards.\r\n\r\n### Stage 8: Testing and Quality\r\n\r\n- [ ] Run tests: Integration with testing frameworks for run tests easily and generate reports.\r\n\r\n- [ ] Coverage reports: Show which parts of the code are covered by tests.\r\n\r\n- [ ] Integration with linters: Identify and fix issues with code quality.\r\n\r\n- [ ] Quality metrics: Resume of key metrics as bugs, vulnerabilities, and technical debts.\r\n\r\n\r\n### Stage 9: Documentation\r\n\r\n- [ ] Automatic documentation generation: Automatic generation of documentation from comments and code.\r\n\r\n- [ ] Update README: Facilitate the creation and maintenance of full README files.\r\n\r\n- [ ] Diagrams and visualizations: Generate diagrams and visualizations to better understand complex systems.\r\n\r\n- [ ] Documentation templates: Offer customizable templates of documentation for differents types of projects.\r\n\r\n  \r\n\r\n### Stage 10: Manage of the environment\r\n\r\n- [ ] Environment management:  Centralize and manage sensitive variables.\r\n\r\n- [ ] Configuration validation: Check for consistency and detect inconsistencies.\r\n\r\n- [ ] Environment comparison: Identify differences between configurations.\r\n\r\n- [ ] Configuration templates: Facilitate the creation of standard configuration files.\r\n\r\n\r\n## 🛠️ Installation\r\n\r\n### Option 1: Using the Executable (Outdated)\r\n\r\nDownload the latest release for your operating system:\r\n\r\n```bash\r\n\r\n# Windows\r\n\r\nDownload  devtool.exe  from  the  latest  release\r\n\r\n# Linux/MacOS\r\n\r\nDownload  devtool  from  the  latest  release\r\n\r\nchmod  +x  devtool  # Make it executable\r\n\r\n```\r\n\r\n### Option 2: Using pip\r\n\r\n```bash\r\n\r\n# Install globally\r\n\r\npip  install  devtooling-cli\r\n\r\n# Or install in a virtual environment\r\n\r\npython  -m  venv  .venv\r\n\r\nsource  .venv/bin/activate  # Linux/MacOS\r\n\r\nvenv\\Scripts\\activate  # Windows\r\n\r\npip  install  devtooling-cli\r\n\r\n```\r\n\r\n### Option 3: From Source\r\n\r\n```bash\r\n\r\n# Clone the repository\r\n\r\ngit  clone  https://github.com/KloutDevs/DevTooling.git\r\n\r\ncd  DevTooling\r\n\r\n# Install dependencies\r\n\r\npip  install  -r  requirements.txt\r\n\r\n# Install the package\r\n\r\npip  install  .\r\n\r\n```\r\n\r\n## 📖 Use\r\n\r\n### Interactive Mode\r\n\r\n```bash\r\n\r\n# Launch the interactive CLI\r\n\r\ndevtool\r\n\r\n# Or if installed from source\r\n\r\npython  -m  devtool\r\n\r\n```\r\n\r\n### Command Line Mode\r\n\r\n*Structure Visualization*\r\n\r\n```bash\r\n\r\n# Show project structure with different modes\r\n\r\ndevtool  structure  --mode  MODE  PATH\r\n\r\n# Examples:\r\n\r\ndevtool  structure  --mode  automatic  ./my-project\r\n\r\ndevtool  structure  --mode  manual  .\r\n\r\ndevtool  structure  --mode  complete  /path/to/project\r\n\r\n```\r\n\r\n*Projects Management*\r\n\r\n```bash\r\n\r\n# Add a folder to watch for projects\r\n\r\ndevtool  projects  --folders-add  PATH\r\n\r\n# Add with low-level scanning (only root and first level)\r\n\r\ndevtool  projects  --folders-add  PATH  --low-level\r\n\r\n# Remove a watched folder\r\n\r\ndevtool  projects  --folders-remove  PATH\r\n\r\n# List all watched folders and detected projects\r\n\r\ndevtool  projects  --list\r\n\r\n# Refresh projects in watched folders\r\n\r\ndevtool  projects  --refresh-folders  \r\n\r\n# Navigate to a project\r\n\r\ndevtool  projects  --go  PROJECT_NAME\r\n\r\n# or use the shortcut\r\n\r\ndevtool  go  PROJECT_NAME\r\n\r\n```\r\n\r\n## 📝 Configuration\r\n\r\nThe tool will automatically detect your project type and apply appropriate filters. You can customize the detection rules by modifying:\r\n\r\n```bash\r\n\r\n#Define the rules to detect project types and their dependencies,\r\n#and the files and directories to ignore based on the project type.\r\n\r\nconfig/detection_rules.json\r\n\r\n```\r\n\r\n## 🤝 Contributing\r\n\r\nThe contributions are welcome. Please read the contribution guide before starting.\r\n\r\n## 🧪 Testing\r\n\r\n### Coverage Status\r\n[![Coverage Status](https://img.shields.io/badge/Coverage-93%25-success)](https://github.com/KloutDevs/DevTooling)\r\n\r\n| Module          | Coverage | Status     |\r\n|----------------|----------|------------|\r\n| Core           | 98%      | ✅ Complete |\r\n| Features       | 93%      | ✅ Complete |\r\n| Utils          | ~65%     | 🟡 In Progress |\r\n\r\n### Test Suite Structure\r\n```python\r\ntests/\r\n├── core/\r\n│   └── test_detector.py       # Project type detection tests\r\n├── features/\r\n│   ├── test_structure.py      # Directory visualization tests\r\n│   └── test_projects.py       # Project management tests\r\n└── utils/\r\n    ├── test_config.py         # Configuration handling tests\r\n    └── test_logger.py         # Logging system tests\r\n```\r\n\r\n### Running Tests\r\n\r\n```bash\r\n# Run all tests\r\npytest\r\n\r\n# Run specific test module\r\npytest tests/core/test_detector.py\r\n\r\n# Run with coverage report\r\npytest --cov=devtooling tests/\r\n```\r\n\r\n### Test Documentation\r\nFor detailed information about testing patterns and implementation, please refer to our [Testing Documentation](https://github.com/KloutDevs/DevTooling/blob/master/docs/TESTING.md).\r\n\r\n### Contributing to Tests\r\n\r\nWhen adding new features, please ensure:\r\n\r\n* Write tests for new functionality\r\n* Maintain or improve current coverage\r\n* Follow existing test patterns\r\n* Update test documentation\r\n\r\nFor more details about contributing to tests, see our [Contributing Guidelines](https://github.com/KloutDevs/DevTooling/blob/master/docs/CONTRIBUTING.md).\r\n\r\n## 📜 License\r\n\r\nMIT License.\r\n\r\n## 🔄 Project Status  \r\n\r\nDeveloped with ❤️ by [KloutDevs](https://github.com/KloutDevs).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkloutdevs%2Fdevtooling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkloutdevs%2Fdevtooling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkloutdevs%2Fdevtooling/lists"}