/core - Reserved for essential services and libraries that form the backbone of appchains. This could include fundamental tools and libraries required by multiple applications.
/services - For backend services that provide key functionalities but aren't directly interacted with by the end user. This could include interoperability services, transaction tracking, and monitoring utilities.
/tools - For developer tools that enhance productivity, perform automation, offer simulation environments, testing, benchmarking, and code quality analysis.
/ui - For applications with user interfaces, such as blockchain explorers, dApp performance monitors, and CLI interfaces part of Ignite. This includes both terminal-based UIs and web interfaces.
/integrations - For extensions that integrate with external services or protocols, enhancing the Ignite CLI ecosystem's functionality.
/examples - Sample applications and use cases demonstrating how to use the tools and services provided. This can help onboard new developers and provide clear usage examples. This could also be apps packaged together.
/scripts - Build scripts, deployment scripts, and other automation scripts that support development and operations. This is distinct from /tools as it primarily focuses on repository maintenance rather than offering tools for appchain development.
/tests - A dedicated area for automated tests, including unit tests, integration tests, and end-to-end tests.
...
Why Important:
The development of the apps repo is progressing, with app implementations beginning to emerge. While this can naturally be an iterative process, we should proactively identify and indicate app categories.
Since the repo has different projects with different go.mod, it is hard to have some organizations. The core should be a new project with its own go.mod
To move as a discussion thread
Context:
Categorize app contents based on their purpose, type, and functionality. Related to https://github.com/ignite/apps/issues/64
Possible Starting Point:
/core
- Reserved for essential services and libraries that form the backbone of appchains. This could include fundamental tools and libraries required by multiple applications./services
- For backend services that provide key functionalities but aren't directly interacted with by the end user. This could include interoperability services, transaction tracking, and monitoring utilities./tools
- For developer tools that enhance productivity, perform automation, offer simulation environments, testing, benchmarking, and code quality analysis./ui
- For applications with user interfaces, such as blockchain explorers, dApp performance monitors, and CLI interfaces part of Ignite. This includes both terminal-based UIs and web interfaces./integrations
- For extensions that integrate with external services or protocols, enhancing the Ignite CLI ecosystem's functionality./examples
- Sample applications and use cases demonstrating how to use the tools and services provided. This can help onboard new developers and provide clear usage examples. This could also be apps packaged together./scripts
- Build scripts, deployment scripts, and other automation scripts that support development and operations. This is distinct from/tools
as it primarily focuses on repository maintenance rather than offering tools for appchain development./tests
- A dedicated area for automated tests, including unit tests, integration tests, and end-to-end tests....
Why Important:
The development of the apps repo is progressing, with app implementations beginning to emerge. While this can naturally be an iterative process, we should proactively identify and indicate app categories.