Where did i go wrong?

I created a snap a couple days ago, but when I installed it on a new machine from the snap store, I could not run it. I thought that I tested it before I pushed it to the store, but it appears that I missed something on the final version.

So, I tested the last two versions of the snap on my computer. The before pushing to the store snap worked, but the one I pushed to the store didn’t. In the one that I pushed to the store, the app name is different than the app command I was unable to reserve that application name (dosage) because it was already taken. So I renamed the snap to dosage-johnblood378, but kept the app command (dosage).

Below is the final snapcraft.yaml. Where did I go wrong?

name: dosage-johnblood378 # you probably want to 'snapcraft register <name>'

version: '2.15+git' # just for humans, typically '1.2+git' or '1.3.2'
summary: dosage is a comic strip downloader and archiver 
description: |
  dosage is a comic strip downloader and archiver written in Python
grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots

apps: 
  dosage: 
    command: bin/dosage
    plugs: 
      - home
      - network
      - network-bind

parts:
  dosage:
    source: https://github.com/webcomics/dosage.git
    source-type: git
    # See 'snapcraft plugins'
plugin: python

If the snap_name isn’t the same as the app_name, you have to run the application by running _snap_name_._app_name_, refer commands and aliases - Documentation for snaps: Universal Linux packages for more info.

How do I set up an alias in snapcraft.yaml so that that program will run with the dosage command? For now dosage-johnblood378.dosage works, but I would prefer to use just dosage because all of the documentation is written for that.

Refer Process for aliases, auto-connections and tracks for more info on requesting a new alias, refer Requesting default aliases for libxml2-utils for an example.