Skip to content

Commit e41d887

Browse files
authored
Merge pull request #2857 from github/experiment-ecosystem-groupings
introduce community templates
2 parents f90299c + f7c4f2e commit e41d887

23 files changed

+601
-49
lines changed

Drupal.gitignore

Lines changed: 42 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,46 @@
1-
# Ignore configuration files that may contain sensitive information.
2-
sites/*/*settings*.php
3-
sites/example.sites.php
1+
# gitignore template for Drupal 8 projects
2+
#
3+
# earlier versions of Drupal are tracked in `community/Python/`
44

5-
# Ignore paths that contain generated content.
6-
files/
7-
sites/*/files
8-
sites/*/private
9-
sites/*/translations
5+
# Ignore configuration files that may contain sensitive information
6+
/sites/*/*settings*.php
7+
/sites/*/*services*.yml
108

11-
# Ignore default text files
12-
robots.txt
13-
/CHANGELOG.txt
14-
/COPYRIGHT.txt
15-
/INSTALL*.txt
9+
# Ignore paths that may contain user-generated content
10+
/sites/*/files
11+
/sites/*/public
12+
/sites/*/private
13+
/sites/*/files-public
14+
/sites/*/files-private
15+
16+
# Ignore paths that may contain temporary files
17+
/sites/*/translations
18+
/sites/*/tmp
19+
/sites/*/cache
20+
21+
# Ignore drupal core (if not versioning drupal sources)
22+
/core
23+
/modules/README.txt
24+
/profiles/README.txt
25+
/sites/README.txt
26+
/sites/example.sites.php
27+
/sites/example.settings.local.php
28+
/sites/development.services.yml
29+
/themes/README.txt
30+
/vendor
31+
/.csslintrc
32+
/.editorconfig
33+
/.eslintignore
34+
/.eslintrc.json
35+
/.gitattributes
36+
/.htaccess
37+
/autoload.php
38+
/composer.json
39+
/composer.lock
40+
/example.gitignore
41+
/index.php
1642
/LICENSE.txt
17-
/MAINTAINERS.txt
18-
/UPGRADE.txt
1943
/README.txt
20-
sites/README.txt
21-
sites/all/libraries/README.txt
22-
sites/all/modules/README.txt
23-
sites/all/themes/README.txt
24-
25-
# Ignore everything but the "sites" folder ( for non core developer )
26-
.htaccess
27-
web.config
28-
authorize.php
29-
cron.php
30-
index.php
31-
install.php
32-
update.php
33-
xmlrpc.php
34-
/includes
35-
/misc
36-
/modules
37-
/profiles
38-
/scripts
39-
/themes
44+
/robots.txt
45+
/update.php
46+
/web.config

README.md

Lines changed: 86 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,47 @@ the following resources are a great place to start:
1818

1919
## Folder structure
2020

21-
The files in the root directory are for `.gitignore` templates that are
22-
project-specific, such as language or framework specific templates.
23-
Global (operating system or editor specific) templates should go into the
24-
[`Global/`](./Global) directory.
21+
We support a collection of templates, organized in this way:
22+
23+
- the root folder contains templates in common use, to help people get started
24+
with popular programming languages and technologies. These define a meaningful
25+
set of rules to help get started, and ensure you are not committing
26+
unimportant files into your repository
27+
- [`Global`](./Global) contains templates for various editors, tools and
28+
operating systems that can be used in different situations. It is recommended
29+
that you either [add these to your global template](https://help.github.com/articles/ignoring-files/#create-a-global-gitignore)
30+
or merge these rules into your project-specific templates if you want to use
31+
them permanently.
32+
- [`community`](./community) contains specialized templates for other popular
33+
languages, tools and project, which don't currently belong in the mainstream
34+
templates. These should be added to your project-specific templates when you
35+
decide to adopt the framework or tool.
36+
37+
## What makes a good template?
38+
39+
A template should contain a set of rules to help Git repositories work with a
40+
specific programming language, framework, tool or environment.
41+
42+
If it's not possible to curate a small set of useful rules for this situation,
43+
then the template is not a good fit for this collection.
44+
45+
If a template is mostly a list of files installed by a particular version of
46+
some software (e.g. a PHP framework), it could live under the `community`
47+
directory. See [versioned templates](#versioned-templates) for more details.
48+
49+
If you have a small set of rules, or want to support a technology that is not
50+
widely in use, and still believe this will be helpful to others, please read the
51+
section about [specialized templates](#specialized-templates) for more details.
52+
53+
If you believe your template is important and should be highly visible, please
54+
add details about the impact of the technology when you open a pull request. We
55+
may not accept it immediately, but we can promote it to the root at a later date
56+
based on interest.
57+
58+
Please also understand that we can’t list every tool that ever existed.
59+
Our aim is to curate a collection of the _most common and helpful_ templates,
60+
not to make sure we cover every project possible. If we choose not to
61+
include your language, tool, or project, it’s not because it’s not awesome.
2562

2663
## Contributing guidelines
2764

@@ -39,29 +76,64 @@ high quality, we request that contributions adhere to the following guidelines.
3976

4077
- **Explain why you’re making a change**. Even if it seems self-evident, please
4178
take a sentence or two to tell us why your change or addition should happen.
42-
It’s especially helpful to articulate why this change applies to *everyone*
79+
It’s especially helpful to articulate why this change applies to _everyone_
4380
who works with the applicable technology, rather than just you or your team.
4481

4582
- **Please consider the scope of your change**. If your change is specific to a
4683
certain language or framework, then make sure the change is made to the
4784
template for that language or framework, rather than to the template for an
4885
editor, tool, or operating system.
4986

50-
- **Please only modify *one template* per pull request**. This helps keep pull
87+
- **Please only modify _one template_ per pull request**. This helps keep pull
5188
requests and feedback focused on a specific project or technology.
5289

5390
In general, the more you can do to help us understand the change you’re making,
5491
the more likely we’ll be to accept your contribution quickly.
5592

56-
If a template is mostly a list of files installed by a particular version of
57-
some software (e.g. a PHP framework) then it's brittle and probably no more
58-
helpful than a simple `ls`. If it's not possible to curate a small set of
59-
useful rules, then the template might not be a good fit for this collection.
93+
## Versioned templates
6094

61-
Please also understand that we can’t list every tool that ever existed.
62-
Our aim is to curate a collection of the *most common and helpful* templates,
63-
not to make sure we cover every project possible. If we choose not to
64-
include your language, tool, or project, it’s not because it’s not awesome.
95+
Some templates can change greatly between versions, and if you wish to contribute
96+
to this repository we need to follow this specific flow:
97+
98+
- the template at the root should be the current supported version
99+
- the template at the root should not have a version in the filename (i.e.
100+
"evergreen")
101+
- previous versions of templates should live under `community/`
102+
- previous versions of the template should embed the version in the filename,
103+
for readability
104+
105+
This helps ensure users get the latest version (because they'll use whatever is
106+
at the root) but helps maintainers support older versions still in the wild.
107+
108+
## Specialized templates
109+
110+
If you have a template that you would like to contribute, but it isn't quite
111+
mainstream, please consider adding this to the `community` directory under a
112+
folder that best suits where it belongs.
113+
114+
The rules in your specialized template should be specific to the framework or
115+
tool, and any additional templates should be mentioned in a comment in the
116+
header of the template
117+
118+
For example, this template might live at `community/DotNet/InforCRM.gitignore`:
119+
120+
```
121+
# gitignore template for InforCRM (formerly SalesLogix)
122+
# website: https://www.infor.com/product-summary/cx/infor-crm/
123+
#
124+
# Recommended: VisualStudio.gitignore
125+
126+
# Ignore model files that are auto-generated
127+
ModelIndex.xml
128+
ExportedFiles.xml
129+
130+
# Ignore deployment files
131+
[Mm]odel/[Dd]eployment
132+
133+
# Force include portal SupportFiles
134+
!Model/Portal/*/SupportFiles/[Bb]in/
135+
!Model/Portal/PortalTemplates/*/SupportFiles/[Bb]in
136+
```
65137

66138
## Contributing workflow
67139

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# gitignore template for InforCRM (formerly SalesLogix)
2+
# website: https://www.infor.com/product-summary/cx/infor-crm/
3+
#
4+
# Recommended: VisualStudio.gitignore
5+
6+
# Ignore model files that are auto-generated
7+
ModelIndex.xml
8+
ExportedFiles.xml
9+
10+
# Ignore deployment files
11+
[Mm]odel/[Dd]eployment
12+
13+
# Force include portal SupportFiles
14+
!Model/Portal/*/SupportFiles/[Bb]in/
15+
!Model/Portal/PortalTemplates/*/SupportFiles/[Bb]in

community/DotNet/Kentico.gitignore

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# gitignore template for using Kentico CMS
2+
# website: http://www.kentico.com/
3+
#
4+
# Recommended template: VisualStudio.gitignore
5+
6+
# Include some Kentico folders excluded by Visual Studio rules
7+
!CMS/CMSAdminControls/*/
8+
!CMS/CMSModules/System/*/
9+
!CMS/App_Data/CIRepository/**
10+
11+
# Kentico temporary/environment files
12+
CMS/App_Data/AzureCache
13+
CMS/App_Data/AzureTemp
14+
CMS/App_Data/CMSModules/DeviceProfile/logFiftyOne.txt
15+
CMS/App_Data/CMSModules/DeviceProfiles/logFiftyOne.txt
16+
CMS/App_Data/CMSModules/WebFarm/webfarm.sync
17+
CMS/App_Data/CMSTemp
18+
CMS/App_Data/Persistent
19+
CMS/CMSSiteUtils/Export
20+
CMS/CMSSiteUtils/Import
21+
22+
# Ignore all smart search indexes, but not the other system folder contents
23+
CMS/App_Data/CMSModules/SmartSearch/**
24+
!CMS/App_Data/CMSModules/SmartSearch/*/
25+
!CMS/App_Data/CMSModules/SmartSearch/_StopWords/**
26+
!CMS/App_Data/CMSModules/SmartSearch/_Synonyms/**
27+
28+
## Kentico Starter Sites
29+
# Starter site resource Files
30+
CMS/App_Data/DancingGoat
31+
32+
# Starter site web templates
33+
CMS/App_Data/Templates/CommunitySite
34+
CMS/App_Data/Templates/CorporateSite
35+
CMS/App_Data/Templates/DancingGoat
36+
CMS/App_Data/Templates/EcommerceSite
37+
CMS/App_Data/Templates/IntranetPortal
38+
CMS/App_Data/Templates/PersonalSite
39+
40+
# Starter site app themes
41+
CMS/App_Themes/CommunitySite
42+
CMS/App_Themes/CorporateSite
43+
CMS/App_Themes/EcommerceSite
44+
CMS/App_Themes/IntranetPortal*
45+
CMS/App_Themes/PersonalSite
46+
47+
# Starter site ASPX templates
48+
CMS/CMSTemplates/CorporateSite
49+
50+
# Starter site media libraries
51+
CMS/CommunitySite
52+
CMS/CorporateSite
53+
CMS/DancingGoat
54+
CMS/EcommerceSite
55+
CMS/IntranetPortal
56+
CMS/PersonalSite
57+
58+
## Project specific ignores
59+
# Sensitive settings
60+
AppSettings.config
61+
ConnectionStrings.config
62+
63+
# Project media libraries (recommend shared file storage)
64+
# e.g. CMS/{SiteCodeName}

community/Elixir/Phoenix.gitignore

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# gitignore template for Phoenix projects
2+
# website: http://www.phoenixframework.org/
3+
#
4+
# Recommended template: Elixir.gitignore
5+
6+
# Temporary files
7+
/tmp
8+
9+
# Static artifacts
10+
/node_modules
11+
/assets/node_modules
12+
13+
# Since we are building assets from web/static,
14+
# we ignore priv/static. You may want to comment
15+
# this depending on your deployment strategy.
16+
/priv/static/
17+
18+
# Installer-related files
19+
/installer/_build
20+
/installer/tmp
21+
/installer/doc
22+
/installer/deps

community/Golang/Hugo.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# gitginore template for Hugo projects
2+
# website: https://gohugo.io
3+
4+
# generated files by hugo
5+
/public/
6+
7+
# executable may be added to repository
8+
hugo.exe

community/Java/JBoss4.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# gitignore for JBoss v4 projects
2+
3+
/server/all/data
4+
/server/all/log
5+
/server/all/tmp
6+
/server/all/work
7+
/server/default/data
8+
/server/default/log
9+
/server/default/tmp
10+
/server/default/work
11+
/server/minimal/data
12+
/server/minimal/log
13+
/server/minimal/tmp
14+
/server/minimal/work
15+
16+
# Note:
17+
# there may be other directories that contain *.xml.failed or *.war.failed files
18+
/server/default/deploy/*.xml.failed
19+
/server/default/deploy/*.war.failed

community/Java/JBoss6.gitignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# gitignore for JBoss v6 projects
2+
#
3+
# Note: to ensure empty directories remain part of the repository, like
4+
# `/server/minimal/lib`, you should add an empty `.gitignore` or `.gitkeep` file
5+
# to the directory - otherwise you may have issues when starting the service.
6+
7+
/server/all/data
8+
/server/all/log
9+
/server/all/tmp
10+
/server/all/work
11+
/server/default/data
12+
/server/default/log
13+
/server/default/tmp
14+
/server/default/work
15+
/server/minimal/data
16+
/server/minimal/log
17+
/server/minimal/tmp
18+
/server/minimal/work
19+
/server/jbossweb-standalone/data
20+
/server/jbossweb-standalone/log
21+
/server/jbossweb-standalone/tmp
22+
/server/jbossweb-standalone/work
23+
/server/standard/data
24+
/server/standard/log
25+
/server/standard/tmp
26+
/server/standard/work
27+
/server/default/deploy/*.jar.failed
28+
/server/default/deploy/*.jar.dodeploy
29+
/server/default/deploy/*.xml.failed
30+
/server/default/deploy/*.xml.dodeploy
31+
/server/default/deploy/*.war.failed
32+
/server/default/deploy/*.war.dodeploy
33+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# gitignore template for the Cordova framework
2+
# website: https://cordova.apache.org/
3+
#
4+
# Recommended template: Node.gitignore
5+
6+
# App platform binaries and built files
7+
/platforms
8+
9+
# Optional to ignore plugin Git clones
10+
#/plugins
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# gitignore template for the Meteor framework
2+
# website: https://www.meteor.com/
3+
#
4+
# Recommended template: Node.gitignore
5+
6+
# protect api keys in setting json
7+
settings-production.json
8+
settings.json
9+
10+
# protect your mup.json settings
11+
mup.json
12+
mup.js

0 commit comments

Comments
 (0)