Skip to content

Latest commit

 

History

History
37 lines (36 loc) · 2.51 KB

File metadata and controls

37 lines (36 loc) · 2.51 KB
  • Project Initialization & Metadata

    • Update package.json:
      • Add a concise and informative description.
      • Add relevant keywords for discoverability.
      • Set license to "MIT" and create LICENSE file with the current year and "Ion Gireada" as the author.
      • Set author field by asking the user for their name and email.
      • Create repository, bugs, and homepage entries for the GitHub repository ioncakephper/stdcli.
  • Development Tooling & Automation

    • Set up linting and formatting:
      • Install eslint, prettier, eslint-plugin-prettier, and eslint-config-prettier.
      • Create .eslintrc.json and .prettierrc.json configuration files.
      • Add lint and format scripts to package.json.
      • Verify that npm run lint and npm run format run without errors.
    • create .gitignore file with standard content for Node.
    • Set up unit testing framework (e.g., Jest).
    • Add a test script to package.json.
    • Write a basic test for the "Hello, stdcli!" command.
    • Implement configuration file support (e.g., using cosmiconfig or a simple JSON file).
    • Add a command to view current configurations.
  • Core CLI Implementation

    • Implement core CLI structure with src/cli.js (shebang, commander.js), src/index.js (exported run function), and update package.json accordingly.
    • Implement subcommands (e.g., stdcli create <type>).
    • Add option parsing for commands (e.g., stdcli command --option value).
    • Implement robust error handling for CLI commands.
    • Provide clear and concise user feedback for command execution.
  • Community & Contribution Guidelines

    • Create CONTRIBUTING.md and CODE_OF_CONDUCT.md with standard contributing guidelines and a code of conduct.
    • Update README.md to include "Contributing" and "License" sections with links to the corresponding files.
  • General Instructions

    • Regularly review and update README.md to meet high standards of clarity, completeness, and comprehensiveness.
  • Deployment & Maintenance

    • Prepare the project for npm publication (e.g., package.json fields).
    • Choose between using .npmignore or package.files for npm publications
    • Document the release process.
    • Set up continuous integration (CI) for automated testing and deployment.
    • Plan for future updates and versioning.