-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Labels
Local Development ToolsTier 3Small task, spanning 1 milestone, generally can be completed with limited domain knowledge.Small task, spanning 1 milestone, generally can be completed with limited domain knowledge.
Description
👋 If you are interested in working on this issue, please check out the Getting Started guide on HackerEarth!
Description (Problem Statement)
Currently, there are no local tools that support scaffolding a Flow project.
For newcomers to Flow, having a suggested folder structure, as well as boilerplate configuration will save them time while experimenting or kicking off their next project.
This issue proposes a lightweight scaffolding system to be built into the Flow CLI, enabling users to quickly generate a Flow project structure based on current best practices - example scaffold.
Experience Required
- Familiarity with Go
- Familiarity with the Flow CLI
- Familiarity with frontend development, JavaScript and the Flow Client Library (FCL)
Minimum Feature Set (Acceptance Criteria)
The command should:
- Provide a pre-configured flow.json and FCL configuration to connect to the emulator and FCL development wallet.
- Provide pre-stubbed Cadence tests and JavaScript integration tests (using flow-js-testing)
- Allow users to select their preferred UI framework (or none).
- Currently, only React and Vue are supported by FCL
- Provide a
.env.examplefile with emulator defaults - Provide a default
.gitignore
Milestone Requirements
- Build and implement the basic infrastructure:
- Set up GitHub repository for example projects (mix and match stacks)
- Provide issue templates for users to submit their own example project
- Generate a default React project based on Kitty Items folder layout and commit to example repo
- Propose CLI command name, flags, and other UX details for the next milestone.
- Clone the example project from the CLI using a new built-in command and interactive command line UI similar to Create Nuxt App
Software Requirements
Maintainability
- The tools or libraries used to construct the solution should be well vetted and well maintained
- Code should be written in a way where it's easily extensible to new functionality and semantic enough for open-source developers to contribute to.
Testing
- All core logic should have unit tests.
- E2E tests for each feature implemented.
Other Requirements
Documentation
- The following pieces of documentation needs to be completed alongside the code for a successful submission:
- A quick walkthrough guide for this feature with screenshot examples.
Code standards or guidelines
- Follow the general contribution guidelines.
Judging Criteria
- For all projects, technical & high-level judging criteria apply.
Resources
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Local Development ToolsTier 3Small task, spanning 1 milestone, generally can be completed with limited domain knowledge.Small task, spanning 1 milestone, generally can be completed with limited domain knowledge.