Manifesto

Manifesto

Purpose

This manifesto has been created to guide our approach to CLI and software development, emphasizing the centralization of resources and the simplification of processes to improve productivity and developer experience.

Core Values

  1. Centralization of Resources: We favor centralizing resources rather than dispersing them.
  2. Simplicity and Cohesion: We develop simple and cohesive structures to facilitate developer usage.
  3. Standardization of Processes: We adopt standardized processes to ensure consistency and predictability.
  4. Collaboration and Feedback: We value collaboration among teams and constructive feedback.

Principles

Centralization of Resources

  • Configuration Centralization: Developers, maintainers, and administrators should have a single point to input and modify configurations.
  • Code Sharing: Developers should be able to organize project code without creating additional repositories or resorting to copy/paste.
  • Documentation Sharing: Developers should have access to all information on configurations and resources across applications.

Simplicity and Cohesion

  • Synergy: All tools should work synergistically and simplify the developer's life.
  • Unified Dev Experience: We standardize everything that might diverge between frameworks or projects to avoid confusion.
  • Single Command: If developers need to write more than one command to start a process, whether local, in pipelines, or elsewhere, we must simplify their work.
  • Zeroconfig: Developers should not waste time on configurations but should focus on development.

Standardization of Processes

  • Unified Workflow: Developers should not change their routine based on the project.
  • Simplicity: We do not complicate the developer's life with various and complicated processes, such as using different branches to separate versions and deployment targets.

Collaboration and Feedback

  • We open Pull Requests for every new feature, allowing collaborative code review.
  • We encourage continuous and constructive feedback among team members.