Local Egg not showing up in available addon-ons list

Issue:
I have used a vagrant setup to build a Plone5.3 system with Python3.7
I have followed Chapter 16-17 of Mastering Plone to create a new addon to create a new dexterity content type called bulletinViewer.site
When I run bin/instance fg and go to a new site then to Admin | Site Setup | General | Addons | I do not see the addon bulletinViewer.site

The Following are the steps I took:
buildout.cfg

[buildout]
extends =
    http://dist.plone.org/release/5.2/versions.cfg
    versions.cfg
extends-cache = extends-cache

extensions = mr.developer
# Tell mr.developer to ask before updating a checkout.
always-checkout = true
show-picked-versions = true
sources = sources

# The directory this buildout is in. Modified when using vagrant.
buildout_dir = ${buildout:directory}

# We want to checkouts these eggs directly from github
auto-checkout =
    ploneconf.site
    bulletinViewer.site
#    starzel.votable_behavior

parts =
    checkversions
    instance
    mrbob
    packages
    robot
    test
    zopepy

eggs =
    Plone
    Pillow

# development tools
    plone.reload
    Products.PDBDebugMode
    plone.app.debugtoolbar
    Products.PrintingMailHost
    pdbpp

# TTW Forms
    collective.easyform

# The addon we develop in the training
    ploneconf.site

# Voting on content
#    starzel.votable_behavior
# The addon we develop in the training
    bulletinViewer.site
develop = src/bulletinViewer.site
zcml =

test-eggs +=
    ploneconf.site [test]

[instance]
recipe = plone.recipe.zope2instance
user = admin:admin
http-address = 8080
debug-mode = on
verbose-security = on
deprecation-warnings = on
eggs = ${buildout:eggs}
zcml = ${buildout:zcml}
file-storage = ${buildout:buildout_dir}/var/filestorage/Data.fs
blob-storage = ${buildout:buildout_dir}/var/blobstorage

[test]
recipe = zc.recipe.testrunner
eggs = ${buildout:test-eggs}
defaults = ['--auto-color', '-vvv']

[robot]
recipe = zc.recipe.egg
eggs =
    ${buildout:test-eggs}
    Pillow
    plone.app.robotframework[reload,debug]

[packages]
recipe = collective.recipe.omelette
eggs = ${buildout:eggs}
location = ${buildout:buildout_dir}/packages

[checkversions]
recipe = zc.recipe.egg
eggs = z3c.checkversions [buildout]

[zopepy]
recipe = zc.recipe.egg
eggs =
    ${buildout:eggs}
# need to explicitly mention Products.CMFPlone in order for plone-compile-resources to be found
    Products.CMFPlone
interpreter = zopepy
scripts =
    zopepy
    plone-generate-gruntfile
    plone-compile-resources

[mrbob]
recipe = zc.recipe.egg
eggs =
    mr.bob
    bobtemplates.plone

[sources]
ploneconf.site = git https://github.com/collective/ploneconf.site.git pushurl=git@github.com:collective/ploneconf.site.git
starzel.votable_behavior = git https://github.com/collective/starzel.votable_behavior.git pushurl=git://github.com/collective/starzel.votable_behavior.git
bulletinViewer.site = fs bulletinViewer.site path=src

src/bulletinViewer.site/src/bulletinViewer/site/content/init.py
empty file (PS the dunder is not showing up it is bolding the init file so just know it is properly dundered :slight_smile:

src/bulletinViewer.site/src/bulletinViewer/site/content/bulletinViewer.xml

<model xmlns:easyform="http://namespaces.plone.org/supermodel/easyform" xmlns:form="http://namespaces.plone.org/supermodel/form" xmlns:i18n="http://xml.zope.org/namespaces/i18n" xmlns:lingua="http://namespaces.plone.org/supermodel/lingua" xmlns:marshal="http://namespaces.plone.org/supermodel/marshal" xmlns:security="http://namespaces.plone.org/supermodel/security" xmlns:users="http://namespaces.plone.org/supermodel/users" xmlns="http://namespaces.plone.org/supermodel/schema">
  <schema>
    <field name="thumbnail" type="zope.schema.URI">
      <description>This is the thumbnail url for the bulletin</description>
      <required>False</required>
      <title>Thumbnail</title>
    </field>
    <field name="source_url" type="zope.schema.URI">
      <description>This is the bulletin content url</description>
      <title>Source Url</title>
    </field>
    <field name="type_of_publication" type="zope.schema.TextLine">
      <description>This is the type of publication (bulletin, newsletter, etc)</description>
      <title>Type of Publication</title>
    </field>
    <field name="date" type="zope.schema.Date">
      <description>Date of Publication</description>
      <title>Date</title>
    </field>
    <field name="user_date" type="zope.schema.Date">
      <description>This is the date the administrator want to have the publication displayed on</description>
      <required>False</required>
      <title>User Date</title>
    </field>
  </schema>
</model>

src/bulletinViewer.site/src/bulletinViewer/site/profiles/default/types/bulletinViewer.xml

</property>
   <property name="default_view_fallback">False</property>
   <property name="add_permission">cmf.AddPortalContent</property>
   <property name="klass">plone.dexterity.content.Container</property>
   <property name="behaviors">
    <element value="plone.dublincore"/>
    <element value="plone.namefromtitle"/>
   </property>
   <property name="schema"></property>
   <property name="model_source"></property>
   <property name="model_file">bulletinViewer.site.content:bulletinViewer.xml</property>
   <property name="schema_policy">dexterity</property>
   <alias from="(Default)" to="(dynamic view)"/>
   <alias from="edit" to="@@edit"/>
   <alias from="sharing" to="@@sharing"/>
   <alias from="view" to="(selected layout)"/>
   <action title="View" action_id="view" category="object" condition_expr=""
      description="" icon_expr="" link_target="" url_expr="string:${object_url}"
      visible="True">
    <permission value="View"/>
   </action>
   <action title="Edit" action_id="edit" category="object" condition_expr=""
      description="" icon_expr="" link_target=""
      url_expr="string:${object_url}/edit" visible="True">
    <permission value="Modify portal content"/>
   </action>
  </object>

src/bulletinViewer.site/src/bulletinViewer/site/profiles/default/types.xml

<?xml version="1.0"?>
<object name="portal_types" meta_type="Plone Types Tool">
 <property name="title">Controls the available contenttypes in your portal</property>
 <object name="bulletinViewer" meta_type="Dexterity FTI"/>
 <!-- -*- more types can be added here -*- -->
</object>

I know I am missing something so my very dear plone community send me your wisdom! Or ask me to clarify anything at all.

P.S. I have no error messages (which is the worst)

Can you post your configure.zcml (did you add the profiles to it ?).

You could try to add some code that generates an error in you add-on. If you dont get an error, something is misconfigured

@espenmn
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    xmlns:plone="http://namespaces.plone.org/plone"
    i18n_domain="bulletinViewer.site">

  <i18n:registerTranslations directory="locales" />

  <!--
    Be careful if you use general includeDependencies, it can have sideffects!
    Better import explicite packages or configurations ;)
  -->
  <!--<includeDependencies package="." />-->

  <include package=".browser" />

  <include file="permissions.zcml" />

  <include file="upgrades.zcml" />

  <genericsetup:registerProfile
      name="default"
      title="bulletinViewer.site"
      directory="profiles/default"
      description="Installs the bulletinViewer.site add-on."
      provides="Products.GenericSetup.interfaces.EXTENSION"
      post_handler=".setuphandlers.post_install"
      />

  <genericsetup:registerProfile
      name="uninstall"
      title="bulletinViewer.site (uninstall)"
      directory="profiles/uninstall"
      description="Uninstalls the bulletinViewer.site add-on."
      provides="Products.GenericSetup.interfaces.EXTENSION"
      post_handler=".setuphandlers.uninstall"
      />

  <utility
      factory=".setuphandlers.HiddenProfiles"
      name="bulletinViewer.site-hiddenprofiles"
      />

  <!-- -*- extra stuff goes here -*- -->

</configure>

I think everything looks OK.
Does you buildout run without any errors/messages ?

For your info: you dont HAVE to add you local add-ons to auto-checkout and sources, you can just include the path to src.

In other words, your should have a line in buildout.cfg

develop = /path/to/bulletinViewer.site

@espenmn
Thank you for looking things over.
I have no errors. I have a team mate trying to build in unified to see if we can move forward that way. I will otherwise loop around and try to invoke an error by trying to break things more intentionally.
May this message find you well.
Sincerely,
Lauren

If you dont get an error, I think it is not defined properly, or buildout.cfg is not defined correctly.

Try this

  1. Download an add-on from GitHub that you know is working (basically anything in GitHub.com/collective
  2. Put the folder in your 'src' folder
  3. Add it to eggs =
  4. Add develop = src/some.addon

Run buildout (start and stop Plone / Zope)

If this works, do the same with your add-on
If it does not, your buildout.cfg is incorrect.