Giter Site home page Giter Site logo

atsign-foundation / at_app Goto Github PK

View Code? Open in Web Editor NEW
6.0 12.0 9.0 4.19 MB

This project is deprecated, see the tutorial linked below.

Home Page: https://docs.atsign.com/tutorials/flutter-and-atsdk-app

License: BSD 3-Clause "New" or "Revised" License

Dart 99.34% Kotlin 0.17% Swift 0.45% Objective-C 0.04%
flutter hacktoberfest atsign

at_app's People

Contributors

cconstab avatar cemtitor avatar cpswan avatar cynthiapeter avatar dependabot[bot] avatar gkc avatar jeremytubongbanua avatar ksanty avatar kzawadi avatar nickelskevin avatar prasadsunny1 avatar tylertrott avatar xavierchanth avatar xlin123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

at_app's Issues

Make a base package for at_app, so other devs can use it.

Is your feature request related to a problem? Please describe.
One major problem when starting this project is that there were no packages that allowed you to use your own templates.

Describe the solution you'd like
I'd like to introduce a stripped down library version of at_app for other developers to build upon.
They can specify their own templates, sort of as a "build your own at_app" package.

Describe alternatives you've considered
Not doing it... but that doesn't solve the problem for other devs following in my footsteps.

Additional context
Low priority but something I would like to eventually get to.

Pub.dev documentation at_app

Pub.dev content and (source)s - CHECKLIST OF TO DO's BELOW

All the content shown on pub.dev and where it comes from.
Example: Shelf (will point to one of our own once completed)

  • Document how to upgrade from one version to another version of at_app within a project

  • Package name, version <pubspec.yaml>

  • Published date (generated)

  • Platform support (generated based on project structure)

  • Tabbed navigation

    • Readme (note: initial content comes from readme.md)
    • Changelog example: firebase_auth
    • Example (github repo)
    • Installing (generated)
    • Versions (generated) <pubspec.yaml>
    • Scores (generated)
    • **Admin (generated)
    • **Activity log (generated)
  • Right column

    • Scores (generated)
    • Publisher (generated)
    • Metadata <pubspec.yaml description>
    • Homepage <pubspec.yaml>
    • Repository (generated)
    • View/report issues (generated)
    • Documentation (generated)
      • Documentation url <pubspec.yaml>
      • API reference
    • License (github repo)
    • Dependencies (generated)
    • More (generated)

All items to be completed:

  • Package should be implemented with rSDK
  • Include an example (sample) app based on at_app skeleton
  • Add example.md to explain how to run the sample app
  • Ensure the readme.md follows the best practice template (WIP)
  • Make sure and add in terms that will help get this package to the top of the search results
  • Update changelog.md with clear description of the update
  • Bump the version as appropriate in pubspec.yaml for the package
  • Bump the version as appropriate in pubspec.yaml for the example
  • Check that the description is accurate in pubspec.yaml for the package
  • As appropriate, add a documentation link to atsign.dev for the package

Allow the specification of versions in packages add subcommand.

Is your feature request related to a problem? Please describe.
Can't specify a specific version.

Describe the solution you'd like
Use the same format as pub get.
Either don't specify to get latest, or do specify for that specific version.

Describe alternatives you've considered
N/A

Additional context
N/A

When creating and @ app from a demo template it is expected that the app should just run without any editing of the files created.

Describe the bug
When creating and @ app from a demo template it is expected that the app should just run without any editing of the files created. However when the app is run it fails with an error in AtEnv.load()

To Reproduce
Steps to reproduce the behavior:

  1. create an at_app demo template
  2. create the app
    3.then run the app

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots

image

Smartphone (please complete the following information):

  • Device: [e.g. iPhone11]
  • OS: [e.g. iOS14.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 59]

Smartphone (please complete the following information):

  • Windows
PS S:\TEMP\test4> flutter --version
Flutter 2.8.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 77d935af4d (5 hours ago) • 2021-12-16 08:37:33 -0800
Engine • revision 890a5fca2e
Tools • Dart 2.15.1
PS S:\TEMP\test4>

End2End Flutter testing

Is your feature request related to a problem? Please describe.
We don't have an environment capable of doing flutter tests post onboarding.

Describe the solution you'd like
Create an environment that can pump a widget with an onboarded atSign.

  • Setup onboarded atSign(s)
  • Pump a widget that uses at_client functionality
  • Ensure that we are able to test the at_client functionality end2end

Shorthand namespace -n doesn't work

Describe the bug

Shorthand namespace -n doesn't work (but --namespace does)
image

To Reproduce

  1. Get the at_app CLI
  2. Run at_app create at_onboarding_demo -n=@beaverarmadillo => doesn't work
  3. Run at_app create at_onboarding_demo --namespace=@beaverarmadillo => works

Expected behavior
image

Add cookbook template

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add the cookbook template as a demo app.

Describe alternatives you've considered
N/A

Additional context
N/A

Bug with pub_cache location.

Is your feature request related to a problem? Please describe.

Some installations of flutter have an altered pub cache location, and yet the PUB_CACHE environment variable is unset on the system.

I've opened an issue on Homebrew

Describe the solution you'd like
at_app should be able to get the correct pub_cache location.
OR
It should not require the pub_cache to install the templates.

Describe alternatives you've considered

  • Custom checks for edge cases like the brew installation.
  • Hosting the template files elsewhere.
  • Prompting users to set the variable themselves, although this is not really a solution, but a workaround.

Additional context
I think the pub_cache location has been proven to be unreliable, so hosting the templates elsewhere may be a better solution.

Set compileSDKVersion to 31

Is your feature request related to a problem? Please describe.
permission_handler package requires compileSDKVersion 31 for android.

Describe the solution you'd like
Have this happen automatically for the developer when at_app create is run.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Can't load Kernel binary: Invalid kernel binary format version

Describe the bug
The at_app command fails when i run it in the console using the version 4.1.0

at_app is active

josueerazo@MacBook-Air-de-Josue ~ % fvm flutter pub global activate at_app
Package at_app is currently active at version 4.1.0.
Resolving dependencies...
The package at_app is already activated at newest available version.
To recompile executables, first run `flutter pub global deactivate at_app`.
Installed executable at_app.
Activated at_app 4.1.0.

Run Logs

josueerazo@MacBook-Air-de-Josue ~ % at_app               
Can't load Kernel binary: Invalid kernel binary format version.
Precompiling executable... (1.3s)
Failed to precompile at_app:at_app:
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/source_span.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/file.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/location.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/location_mixin.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/span.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/span_exception.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/span_mixin.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/span_with_context.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/charcode.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
^
.pub-cache/hosted/pub.dartlang.org/source_span-1.8.2/lib/src/highlighter.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.
// Copyright (c) 2018, the Dart project authors.  Please see the AUTHORS file
^

Flutter doctor

josueerazo@MacBook-Air-de-Josue ~ % fvm flutter doctor -v
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.0.1 21A559 darwin-arm, locale en-EC)
    • Flutter version 2.8.1 at /Users/josueerazo/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (5 weeks ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/josueerazo/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/josueerazo/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.32.0

• No issues found!

Bump min ios version to 13

As previously discussed, our support for ios will be N-2 and thus at_app templates will be set to n-2 (currently 13) by default.

  • Add override property for ios version to template.yaml (specification and parser)
  • Add the markup to brick templates
  • Update & Publish at_app_create
  • Rebuild & Publish at_app

FAQ guide to solve Flutter update issues with pub

Lead: @XavierChanth

Describe the bug
I've been getting consistent "bug reports" for at_app after developers update their flutter installation.
Depending on the method used to install flutter, sometimes pub global binaries do not play nice.
The most common issue is when flutter gets updated and changes the pub global bin location.
Flutter will install the binaries to the new location, and then try to run it from the old location.
There are other less common ways, that also present the same symptoms and can be resolved in the same way.

When trying to run at_app, the user will be presented with one of the following messages:

"No active package at_app."

  • user needs to add the new pub cache bin to path.

Warning: Executable "at_app" runs "bin/at_app.dart", which was not found in at_app.

  • pub is trying to run at_app from the old pub cache path when at_app is actually in the new one.
  • reason for this: the binary calls flutter pub global run at_app:at_app internally, then pub drops the ball

Expected behavior
Users can refer to the solution steps instead of requiring my direct aid.

Screenshots
image
image

Additional context
The issue is OS agnostic, have had reports on both Windows and macos.
Never had this issue when installing Flutter SDK using git, if you are reading this, please install using git :)

Unable to test demo template pops an error

Describe the bug
Unable to test demo template pops an error

To Reproduce
Steps to reproduce the behavior:

  1. Follow instructions in https://docs.google.com/document/d/1XxJ39T40h7flefqgK2zYZCH4RgvcOH13Pfm1PSoH1nA/edit
  2. Then ran testing command and it failed
PS C:\Users\colin\GitHub\@foundation\at_app> dart run at_app/bin/at_app.dart create -d snackbar --local s:\TEMP\test   
Creating project in s:\TEMP\test

Project created, now adding a little @ magic...
[!] ERROR: An unknown issue occurred:

Bad state: No element

Please file a ticket to prevent this from happening again:
https://github.com/atsign-foundation/at_app
PS C:\Users\colin\GitHub\@foundation\at_app

Expected behavior
Template to create runabable app from template

Screenshots
See above
Smartphone (please complete the following information):

  • Windows
PS C:\Users\colin\GitHub\@foundation\at_app> flutter --version
Flutter 2.8.0-3.2.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 2901cd7208 (4 weeks ago) • 2021-11-18 11:15:09 -0800
Engine • revision bcc2b7f12c
Tools • Dart 2.15.0 (build 2.15.0-268.18.beta)
PS C:\Users\colin\GitHub\@foundation\at_app> 

Additional context
If you need to I can create a branch so you can see my attempt of creating the templates as this could well be me!

Extending Support for Templates and Packages

Is your feature request related to a problem? Please describe.
Easy to start an app, why not make it easy to learn/start using a package.

Describe the solution you'd like

  • A more professional style template for larger applications, like flutter's skeleton template. (--template)
  • Samples for each package on the platform. (--sample)
  • Demo apps. (--demo-app)

Each option will be mutually exclusive, you can only use one per app generated.

at_app would also need to support adding additional dependencies to the project, based on what sample/demo app is being generated.

Some additional work for file management may need to be done to add support for modifying app permissions, etc.

Describe alternatives you've considered
Rather than samples, create templates for each type... but what if you want multiple samples...
An approach to multiple samples could be use one base template and the power of regex to dynamically generate a sample app.

Additional context
Updated 11/25/2021 in response to recent discussions on improving the developer experience.

Add Desktop Support

Is your feature request related to a problem? Please describe.
flutter_config doesn't support desktop apps.

Describe the solution you'd like
Replace with an alternative that does.

Describe alternatives you've considered
dotenv_flutter.

Additional context
N/A

Migrate the templates to use mason package.

Is your feature request related to a problem? Please describe.
at_app is relatively slow, because it essentially does generation twice.
Once for flutter, then once for at_app.

Describe the solution you'd like
Use mason to build the app templates.

Describe alternatives you've considered
None so far.
I want to do a POC to see if this helps us with automation in any way, my guess is yes since we can build the mason bricks outside of at_app_templates, and use their git path instead.

Additional context
This could potentially simplify the pipeline from package examples -> at_app samples.

Ignore .env file in gitignore

Is your feature request related to a problem? Please describe.
The .env file will contain the api-key for production applications and should be ignored by default.

Describe the solution you'd like
Add ".env" to .gitignore file.

Describe alternatives you've considered
Not ignoring the file, however it's better to be secure by default.

Additional context
Add any other context or screenshots about the feature request here.

Add pub add abstraction for our packages

Is your feature request related to a problem? Please describe.
Developer activation through at_app.

Describe the solution you'd like

  • List all @‎platform packages with description
  • Add any of them to your project

Describe alternatives you've considered
N/A

Additional context
N/A

Vscode extension for at_app

Is your feature request related to a problem? Please describe.
If you aren't familiar with the commands for at_app, it can still be confusing on how to use it.

Describe the solution you'd like
An extension for vscode that serves as an abstraction of at_app, providing an easy to use interface for @platform developers.

Describe alternatives you've considered
N/A

Additional context
A good example is melos and the code extension for it.

at_app demo template needs to edit android/app/build.gradle file for app to run

Describe the bug
When creating and @ app from a demo template it is expected that the app should just run without any editing of the files created. However one of the dependences @ apps have is https://pub.dev/packages/biometric_storage which needs a few files edited before it will run on android.

Make sure to use the latest kotlin version:
android/build.gradle: ext.kotlin_version = '1.4.31'

To Reproduce
Steps to reproduce the behavior:

  1. create a demo template in at_app
  2. Then create the app for example dart run at_app/bin/at_app.dart create -d snackbar --local s:\TEMP\test5
  3. And then try and run the app with flutter run which will fail due to the kotlin version issue

Expected behavior
flutter run to work and run the app without any need of editing other files

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Windows
PS S:\TEMP\test4> flutter --version
Flutter 2.8.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 77d935af4d (5 hours ago) • 2021-12-16 08:37:33 -0800
Engine • revision 890a5fca2e
Tools • Dart 2.15.1
PS S:\TEMP\test4>

ReadMe.md -- Add current build/workflow status and license badge

A status badge shows whether a workflow is currently failing or passing. In addition to this, it is important to show our Github BSD 3-clause License badge on all public repositories.

A common place to add the status and license badge is in the README.md at the top alongside the GitHub License.

+ ![example workflow](https://github.com/<OWNER>/<REPOSITORY>/actions/workflows/<WORKFLOW_FILE>/badge.svg)
+ [![GitHub License](https://img.shields.io/badge/license-BSD3-blue.svg)](./LICENSE)

Multi template proposal for VGV's mason package

With discussions about the at_app and mason packages between myself and VGV, I've been asked to raise a proposal solution for multi-template generator support. This is essentially a more abstract, generalized version of the recent work I've been doing with at_app.

Add chit_chat template

Is your feature request related to a problem? Please describe.
This should be the single source of truth for the demo version of chit_chat.

Describe the solution you'd like
Add the chit_chat template as a demo application.

Describe alternatives you've considered
N/A

Additional context
N/A

Retry pub add command

Is your feature request related to a problem? Please describe.
The whole of at_app create will run (and fail) if pub add at_app_flutter fails.

Describe the solution you'd like
It should retry the pub add if it fails once, and it should throw a tool exit if it fails twice.

Describe alternatives you've considered

Additional context

Pub not recognized as internal or external command

Describe the bug
When I create or recreate (at_app create .)a project using CLI I get this output stating that

'pub' is not recognized as an internal or external command,
operable program, or batch file.

at the end of the result. But it doesn't happen with flutter create ..

To Reproduce
Steps to reproduce the behavior:

  1. Create or Recreate a demo or working project with CLI.
  2. You will find this output.

Expected behavior
The expected behavior is not to get any error output if we don't get it while creating or recreating a flutter project with the flutter command.

Screenshots

Output for flutter create .

flutter create .

Output for at_app create .

at_app create .

Smartphone (please complete the following information):

  • Device: Windows 11 Pro
  • OS: Windows 11(windows 10 insiders dev-branch)
  • Version: 21H2 - 22000.160

Were you using an @‎application when the bug was found?

  • Nope

Additional Context

  • I have already added pub to the path

CLOSED - Example issue for GitHub demo

Is your feature request related to a problem? Please describe.
This application is way too slow

Describe the solution you'd like
Make it faster!

Describe alternatives you've considered
N/A

Additional context

Performance test results..

Add the snackbar demo app to at_app.

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Be able to generate the demo app using at_app create -d snackbar <path>

Describe alternatives you've considered
N/A

Additional context
N/A

at_template - Refactoring and template modifications

Describe the solution you'd like

  • Update to mason:0.1.0-dev.7
  • Set default vars at the template level
  • Remove Var model verify function and use mason default values instead
    • done in #90
    • Update the vars to reflect this change
  • Set default kotlin version to 1.5.32
  • Allow additional files to be gitignored programmatically
  • Rename at_template before first major release to something more appropriate?
    • at_app_create seems like a more suitable name for it
    • done in #93
  • #91
  • Migrate logic to at_app_create
    • done in #97
    • AtAppTemplate model
    • create command

No longer necessary:

  • Merge the individual templates into a single template
    • Not sure this is necessary or possible (after investigating further)
  • Dynamic kotlin version support - This is minor, since we can now easily update kotlin version in 1 place.
  • Remove kotlin version overrides from each template.yaml

Config command

Is your feature request related to a problem? Please describe.
Need a better way of updating at_app app configurations... no easy way to do it currently.
#42 may be the answer, since mason innately supports the overwrite technique.

Describe the solution you'd like
Add a config command to take care of individual configuration.

Describe alternatives you've considered
N/A

Additional context
This may be deprecated by at_template.

Environment Variables not being set

Describe the bug
Over the weekend we had some people using at_app to create their apps, however they were not able to get the api key working. After investigation I noticed that the issue was with the dotenv package, so it needs to be replaced with flutter_config.

Way to use the at_app template in an existing app

Is your feature request related to a problem? Please describe.
If there is an existing app that wants to use at_app template they have to start rewriting from the scratch. That will take lots of time and patience.

Describe the solution you'd like
At_app will have a command for existing app that doesn't use at_platform. With that command they will create a new file and all the configuration file. It should be different from flutter create as it will only create the configuration file and onboarding.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Useful for quickly switch from non-atplatform app to platform app.

Move templates to rsdk

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
at_client is version locked to 2.x.x, needs to be updated to 3.x.x.

Describe alternatives you've considered

Additional context

at_app_flutter | AtEnv throws FileNotFoundException

Describe the bug
at_app_flutter throws an instance of FileNotFoundException.

To Reproduce
Steps to reproduce the behavior:

  1. Run an at_app app without the .env file.
  2. OR run the app without the .env specified as an asset.

Expected behavior
It should warn the user instead of crashing the app.

Screenshots
image

Smartphone (please complete the following information):
N/A
at_app_flutter 3.0.0

Were you using an @‎application when the bug was found?
N/A

Additional context
Will be fixed in the next release of at_app_flutter.

Fix `--overwrite` flag

Is your feature request related to a problem? Please describe.
The new model for generating templates has broken the --overwrite flag, it is essentially being ignored.

Describe the solution you'd like
Find a smart way to reenable this flag before next release.

Describe alternatives you've considered
N/A

Additional context
N/A

Increase test coverage for at_app pipeline

Lead: @XavierChanth

There are many points of failure that could cause at_app to fail when generating the app.

There is also a lot of code to cover within at_app, the template bundlers, template generators, and generated templates all need to be covered eventually. As we add more samples to at_app, this will quickly become harder to maintain.

My goal is to increase test coverage to handle as much of this as possible.

Preparation Work

  • Custom docker image for actions (replaced with reusable actions)
  • Custom dependabot
    • Regularly check for the latest kotlin/gradle versions - not sure if this is possible
    • Update them in at_app_create or notify the devs via actions
  • Investigate offloading some testing away from actions (mainly generated app testing) - determined to be unnecessary work
  • Reusable composite actions for setup

Unit/Integration Tests - Focus for PR 35

  • at_app
  • at_app_flutter
  • at_app_create
  • at_app_bundler

Functional Tests

  • melos run build #87
  • then verify each of the templates #111
    • app
    • snackbar
    • snackbar_sender
    • at_contacts_flutter
    • at_onboarding_flutter
    • chit_chat

Api key generator for developer instead of getting by mail.

I was thinking of how fast a newbie can start developing for at_platform. So for now dev can not do production development right away with at_app which holds them to onboard with their free atsign and test their at_platform based codes. To get an api key takes time as it is done by mail. So I was thinking of API key generator would be great to reduce the time of getting api key.

Maybe we can discuss it in architecture call.

Pub.dev documentation at_app_flutter

Pub.dev content and (source)s - CHECKLIST OF TO DO's BELOW

All the content shown on pub.dev and where it comes from.
Example: Shelf (will point to one of our own once completed)

  • Package name, version <pubspec.yaml>

  • Published date (generated)

  • Platform support (generated based on project structure)

  • Tabbed navigation

    • Readme (note: initial content comes from readme.md)
    • Changelog example: firebase_auth
    • Example (github repo)
    • Installing (generated)
    • Versions (generated) <pubspec.yaml>
    • Scores (generated)
    • **Admin (generated)
    • **Activity log (generated)
  • Right column

    • Scores (generated)
    • Publisher (generated)
    • Metadata <pubspec.yaml description>
    • Homepage <pubspec.yaml>
    • Repository (generated)
    • View/report issues (generated)
    • Documentation (generated)
      • Documentation url <pubspec.yaml>
      • API reference
    • License (github repo)
    • Dependencies (generated)
    • More (generated)

All items to be completed:

  • Package should be implemented with rSDK
  • Include an example (sample) app based on at_app skeleton
  • Add example.md to explain how to run the sample app
  • Ensure the readme.md follows the best practice template (WIP)
  • Make sure and add in terms that will help get this package to the top of the search results
  • Update changelog.md with clear description of the update
  • Bump the version as appropriate in pubspec.yaml for the package
  • Bump the version as appropriate in pubspec.yaml for the example
  • Check that the description is accurate in pubspec.yaml for the package
  • As appropriate, add a documentation link to atsign.dev for the package

at_template - allow additional files to be gitignored

Is your feature request related to a problem? Please describe.
The current gitignore from at_template/base does not allow you to specify additional files to be gitignored.

Describe the solution you'd like
Pass a var of type list to the internal mason bundle for base, and add the same var to the wrapper models.

Describe alternatives you've considered
N/A

Additional context

Rename the repository

Is your feature request related to a problem? Please describe.
Confusion between this project (at_app_cli) and at_cli

Describe the solution you'd like
I'd like to rename the repository to at_app based on our previous discussions, and I am seeking approval to do so.
The only other place to rename the repository is in the readme.md file's title.

Describe alternatives you've considered
Other names, at_skeleton, at_builder.

Additional context
I prefer the name at_app for the project, since it is more generic, it will make more sense long term if other commands are added to the project.

Infer pub cache location for systems with unset $FLUTTER_ROOT

Is your feature request related to a problem? Please describe.

  • Some systems use the $FLUTTER_ROOT/.pub-cache location even if the FLUTTER_ROOT variable is empty

Describe the solution you'd like

  • Infer the pub cache location based on the flutter executable PATH

Describe alternatives you've considered

Rather than pulling at_app templates from the pub cache, pull them from a host.

  • This solution does not work in offline
  • Should be more reliable for those with internet

Additional context

Namespace validation

Is your feature request related to a problem? Please describe.

  • The namespace option will accept invalid values for the namespace, which can cause issues in the application
  • Ex. NAMESPACE=@alice, will produce invalid keys due to the @ symbol.

Describe the solution you'd like

  • The namespace option in at_app create should have some validation or strip '@' from the input

Describe alternatives you've considered

  • It could be validated in AtClientPreference at the SDK level (as well)

Additional context

Improve Template Maintainability

Is your feature request related to a problem? Please describe.

Right now, the template bricks are not setup as individual dart/flutter projects which makes analysis and dependency maintenance challenging.

Describe the solution you'd like

  • Spike brickhub for the package samples
  • Remodel demos and template bricks to be maintainable dart projects (i.e. move dependencies and other config from template.yaml to a pubspec.yaml) [Waiting to see what happens to mason for this one] #148

Describe alternatives you've considered
N/A

Additional context
N/A

Open Source Flutter Templates

Is your feature request related to a problem? Please describe.
Based on some of the feedback I've received on my talk at Flutter SV, I'd like to pursue the "open source Flutter templates" angle more.

Describe the solution you'd like

Create an open source cli like at_app but for general Flutter templates.
This would help us increase awareness about at_app_create, and increase the likelihood of developers to contributing or providing feedback.

Describe alternatives you've considered
N/A

Additional context
N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.