The mechanism is broadly similar to that which is used by Studio. When you invoke the Add-Ins menu item, Atelier issues this query by doing a post to  http://127.0.0.1:57772/api/atelier/v1/%25SYS/action/query with this body

{"query": "call %CSP.StudioTemplateMgr_Templates('addin')"}

This returns the JSON which enumerates those templates of type 'addin' which are available.

If you create a user template then the menu item should show up for your custom template. 

(see documentation /csp/docbook/DocBook.UI.Page.cls?KEY=GSTD_Templates

/csp/docbook/DocBook.UI.Page.cls?KEY=GSTD_Templates, section 'Making Your Own Studio Templates')

1) The git issue you raise is VERY interesting, the problem stems from git swapping one branches code out from underneath you and replacing it in the same structure. This is clearly different from many other source control systems where branches are placed in distinct trees in the file system (this is what we are used to at Intersystems, as we use Perforce). Addressing this issue will require some careful thought and I think working in a disconnected mode ( something which we are working on ) will only partially solve the issue.  So the answer here is we hear you loud and clear, we are working on disconnected mode but need a little time to think about all the ramifications.

2) You will be able to SYNC no Cache files to the server when CSP support is completed. We are still working on this aspect.

3) We were not planning on Atelier being a deployment tool, I know Bill McCormick has strong views on this subject and I will let him answer this particular issue

4) Again what you see in Atelier is a work in progress, syntax coloring is a very high priority for us but as you can appreciate its a significant task. We wanted to get Atelier into users hands so we could get valuable feedback such as yours so we couldn't wait for a perfect syntax coloring experience. We promise to deliver that. It will just take some time

There seems to be a few defects here which we could tidy up. For both Atelier Explorer the Tab shows just the name of the class ( no package information) but there is hover help which shows the full name (albeit in a format that is not ideal). For example, for my class, project ABC.User.New.cls I see ABC/User/New.cls. For Server explorer we don't have the popup but we do have the bread crumbs. I think it would be a good idea to extend the breadcrumbs to the Atelier Explorer.  However I'm not seeing the popup window that you show above Mike. Could you please post details on how to show this so I can make a better determination as what to do?

See my post here for information about Synchronization in Atelier.

https://community.intersystems.com/post/atelier-synchronization

To answer the specific question, files can exist in multiple projects in distinct files and are managed independently. However  we have identified a bug as a result of investigating this issue which we are addressing. I'll add more information as it becomes available

You can turn on the network activities log for Atelier with Window->Show View->Other->Atelier->Network Activities

When starting Atelier and periodically ,Atelier queries the server for server info. This info includes which namespaces are available. It's worth looking in the log and grabbing the JSON response for the /api/atelier call. (You can format this JSON easily at www.jsonlint.org, though we plan to pretty print this at a later stage). 

We recognize the need to let you organize your whole source tree as you like within your project.

For example if you are a web developer, this would include all your HTML and JS files etc, etc. Unlike Studio where files in CSP directories needed to be manually copied to the server we will be providing the facility within Atelier to do this. 

When creating files in your project you are free to lay them out in what ever structure you want.

When copying or importing files to the project will will provide options for reasonable defaults, a flat structure in a specified root directory, a structure according to package and also a scriptable custom facility which lets you determine exactly where a file should go and how it should be named according to directory, filename and type.

These features are currently under development.