Skip to content

Commit e30d64b

Browse files
Added OSS Files
1 parent dd67290 commit e30d64b

5 files changed

Lines changed: 546 additions & 0 deletions

File tree

CODE_OF_CONDUCT.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Salesforce Open Source Community Code of Conduct
2+
3+
## About the Code of Conduct
4+
5+
Equality is a core value at Salesforce. We believe a diverse and inclusive
6+
community fosters innovation and creativity, and are committed to building a
7+
culture where everyone feels included.
8+
9+
Salesforce open-source projects are committed to providing a friendly, safe, and
10+
welcoming environment for all, regardless of gender identity and expression,
11+
sexual orientation, disability, physical appearance, body size, ethnicity, nationality,
12+
race, age, religion, level of experience, education, socioeconomic status, or
13+
other similar personal characteristics.
14+
15+
The goal of this code of conduct is to specify a baseline standard of behavior so
16+
that people with different social values and communication styles can work
17+
together effectively, productively, and respectfully in our open source community.
18+
It also establishes a mechanism for reporting issues and resolving conflicts.
19+
20+
All questions and reports of abusive, harassing, or otherwise unacceptable behavior
21+
in a Salesforce open-source project may be reported by contacting the Salesforce
22+
Open Source Conduct Committee at ossconduct@salesforce.com.
23+
24+
## Our Pledge
25+
26+
In the interest of fostering an open and welcoming environment, we as
27+
contributors and maintainers pledge to making participation in our project and
28+
our community a harassment-free experience for everyone, regardless of gender
29+
identity and expression, sexual orientation, disability, physical appearance,
30+
body size, ethnicity, nationality, race, age, religion, level of experience, education,
31+
socioeconomic status, or other similar personal characteristics.
32+
33+
## Our Standards
34+
35+
Examples of behavior that contributes to creating a positive environment
36+
include:
37+
38+
* Using welcoming and inclusive language
39+
* Being respectful of differing viewpoints and experiences
40+
* Gracefully accepting constructive criticism
41+
* Focusing on what is best for the community
42+
* Showing empathy toward other community members
43+
44+
Examples of unacceptable behavior by participants include:
45+
46+
* The use of sexualized language or imagery and unwelcome sexual attention or
47+
advances
48+
* Personal attacks, insulting/derogatory comments, or trolling
49+
* Public or private harassment
50+
* Publishing, or threatening to publish, others' private information—such as
51+
a physical or electronic address—without explicit permission
52+
* Other conduct which could reasonably be considered inappropriate in a
53+
professional setting
54+
* Advocating for or encouraging any of the above behaviors
55+
56+
## Our Responsibilities
57+
58+
Project maintainers are responsible for clarifying the standards of acceptable
59+
behavior and are expected to take appropriate and fair corrective action in
60+
response to any instances of unacceptable behavior.
61+
62+
Project maintainers have the right and responsibility to remove, edit, or
63+
reject comments, commits, code, wiki edits, issues, and other contributions
64+
that are not aligned with this Code of Conduct, or to ban temporarily or
65+
permanently any contributor for other behaviors that they deem inappropriate,
66+
threatening, offensive, or harmful.
67+
68+
## Scope
69+
70+
This Code of Conduct applies both within project spaces and in public spaces
71+
when an individual is representing the project or its community. Examples of
72+
representing a project or community include using an official project email
73+
address, posting via an official social media account, or acting as an appointed
74+
representative at an online or offline event. Representation of a project may be
75+
further defined and clarified by project maintainers.
76+
77+
## Enforcement
78+
79+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
80+
reported by contacting the Salesforce Open Source Conduct Committee
81+
at ossconduct@salesforce.com. All complaints will be reviewed and investigated
82+
and will result in a response that is deemed necessary and appropriate to the
83+
circumstances. The committee is obligated to maintain confidentiality with
84+
regard to the reporter of an incident. Further details of specific enforcement
85+
policies may be posted separately.
86+
87+
Project maintainers who do not follow or enforce the Code of Conduct in good
88+
faith may face temporary or permanent repercussions as determined by other
89+
members of the project's leadership and the Salesforce Open Source Conduct
90+
Committee.
91+
92+
## Attribution
93+
94+
This Code of Conduct is adapted from the [Contributor Covenant][contributor-covenant-home],
95+
version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html.
96+
It includes adaptions and additions from [Go Community Code of Conduct][golang-coc],
97+
[CNCF Code of Conduct][cncf-coc], and [Microsoft Open Source Code of Conduct][microsoft-coc].
98+
99+
This Code of Conduct is licensed under the [Creative Commons Attribution 3.0 License][cc-by-3-us].
100+
101+
[contributor-covenant-home]: https://www.contributor-covenant.org (https://www.contributor-covenant.org/)
102+
[golang-coc]: https://golang.org/conduct
103+
[cncf-coc]: https://github.com/cncf/foundation/blob/master/code-of-conduct.md
104+
[microsoft-coc]: https://opensource.microsoft.com/codeofconduct/
105+
[cc-by-3-us]: https://creativecommons.org/licenses/by/3.0/us/

CONTRIBUTING.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# Contributing to Commerce Apps
2+
3+
Please follow the guidelines below when submitting new or updated commerce app versions to ensure consistency and smooth reviews.
4+
5+
---
6+
7+
## Pull Request Requirements
8+
9+
Each PR **must** include the following items:
10+
11+
### 1. Commerce App ZIP File
12+
13+
Include the packaged app as a ZIP file with the following naming convention:
14+
15+
```
16+
[appName]-v[appVersion].zip
17+
```
18+
19+
**Example:**
20+
```
21+
avalara-tax-v1.0.0.zip
22+
```
23+
24+
#### How to Generate the ZIP File
25+
26+
When creating your ZIP file, it's important to exclude system files and hidden files that shouldn't be included in the archive. Use the following commands based on your operating system:
27+
28+
##### macOS & Linux (Terminal)
29+
30+
Both macOS and Linux use the `zip` utility. The `-x` flag is your best friend here—it tells the utility to exclude specific patterns.
31+
32+
**The Command:**
33+
```bash
34+
zip -r my_archive.zip folder_to_zip/ -x "*.DS_Store" -x "__MACOSX/*" -x "*/.*" -x "Thumbs.db"
35+
```
36+
37+
**Breakdown of the flags:**
38+
- `-r`: Stands for "recursive." It tells the computer to look inside every subfolder.
39+
- `"*.DS_Store"`: Excludes the macOS folder settings file.
40+
- `"__MACOSX/*"`: Prevents the creation of those annoying resource fork folders.
41+
- `"*/.*"`: The "nuclear option"—this excludes all hidden files (anything starting with a dot).
42+
- `"Thumbs.db"`: Excludes the Windows thumbnail cache.
43+
44+
##### Windows (PowerShell)
45+
46+
Windows doesn't have a native "exclude" flag built into its basic `Compress-Archive` command. To do this cleanly without third-party software, you have to filter the files first and then pipe them into the zip command.
47+
48+
**The Command:**
49+
```powershell
50+
Get-ChildItem -Path ".\folder_name" -Recurse -File | Where-Object {
51+
$_.FullName -notmatch '\\\.DS_Store$' -and
52+
$_.FullName -notmatch '__MACOSX' -and
53+
$_.Name -notmatch '^\.' -and
54+
$_.Name -notmatch 'Thumbs\.db'
55+
} | Compress-Archive -DestinationPath "my_archive.zip"
56+
```
57+
58+
**How this works:**
59+
- `Get-ChildItem`: Grabs every file in your folder.
60+
- `Where-Object`: This acts as a filter. We tell it to only keep files that do not match our "junk" patterns (no .DS_Store, no __MACOSX, no files starting with a dot, and no Thumbs.db).
61+
- `Compress-Archive`: Takes that filtered list and zips it up.
62+
63+
---
64+
65+
### 2. `manifest.json`
66+
67+
Each PR must include a `manifest.json` file containing the metadata for the app version.
68+
69+
#### Required Fields
70+
71+
The manifest **must** include the following fields:
72+
73+
- `name`
74+
- `displayName`
75+
- `domain`
76+
- `description`
77+
- `version`
78+
- `zip`
79+
- `sha256`
80+
81+
> **Note:** For new versions of an existing app, you must at minimum update the `version`, `zip`, and `sha256` fields.
82+
83+
#### Example `manifest.json`
84+
85+
```json
86+
{
87+
"name": "avalara-tax",
88+
"displayName": "Avalara Tax",
89+
"domain": "tax",
90+
"description": "Sample Avalara tax app",
91+
"version": "1.0.0",
92+
"zip": "avalara-tax-v1.0.0.zip",
93+
"sha256": "492fb0bc3aa5c762c0209bd22375e14ed2af8f672b679d6105232a37fe726a4f"
94+
}
95+
```
96+
97+
---
98+
99+
## Brand New Apps
100+
101+
If you are contributing a **brand new app**, you must also create a `catalog.json` file with **exactly** the following content so CI can update it:
102+
103+
```json
104+
{
105+
"latest": {
106+
"version": "INIT",
107+
"tag": "INIT"
108+
},
109+
"versions": []
110+
}
111+
```
112+
113+
---
114+
115+
## Final Checklist
116+
117+
Before submitting your PR, please verify:
118+
119+
- [ ] ZIP file name follows the required format
120+
- [ ] `manifest.json` includes all required fields
121+
- [ ] `version`, `zip`, and `sha256` are updated correctly
122+
- [ ] `catalog.json` is included for new apps only

0 commit comments

Comments
 (0)