generated from nhcarrigan/template
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3789116d1f | |||
| 6bfcd6b98b | |||
| 7ecdac40db | |||
| 7f311fd7b5 | |||
| b6b3ef01ad | |||
| 8a811b87c3 | |||
|
ddaeb72638
|
|||
| 0ece797eee | |||
| caffb14deb | |||
|
9bdd7b8fa9
|
|||
| 5116bca086 | |||
| cc28f94a7a | |||
| 9013d181b4 | |||
| c2e25035e2 | |||
| c5a329d104 | |||
| d0401ad611 | |||
| 6b55719c04 |
+3
-2
@@ -12,8 +12,8 @@
|
|||||||
"bash"
|
"bash"
|
||||||
],
|
],
|
||||||
"ignoreRegExpList": [
|
"ignoreRegExpList": [
|
||||||
"```[\\s\\S]*?```", // Ignores multi-line code blocks in Markdown
|
"```[\\s\\S]*?```",
|
||||||
"`[^`\n]+`" // Ignores inline code blocks
|
"`[^`\n]+`"
|
||||||
],
|
],
|
||||||
"ignoreWords": [
|
"ignoreWords": [
|
||||||
"nhcarrigan",
|
"nhcarrigan",
|
||||||
@@ -101,6 +101,7 @@
|
|||||||
"Nederlands",
|
"Nederlands",
|
||||||
"Neurodivergence",
|
"Neurodivergence",
|
||||||
"Nomena",
|
"Nomena",
|
||||||
|
"NSFW",
|
||||||
"Nymira",
|
"Nymira",
|
||||||
"OFAC",
|
"OFAC",
|
||||||
"Ollama",
|
"Ollama",
|
||||||
|
|||||||
+14
-5
@@ -8,22 +8,31 @@ on:
|
|||||||
- main
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
ci:
|
||||||
name: Lint and Test
|
name: CI
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Files
|
- name: Checkout Source Files
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Use Node.js v22
|
- name: Use Node.js v24
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 22
|
node-version: 24
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v2
|
uses: pnpm/action-setup@v2
|
||||||
with:
|
with:
|
||||||
version: 9
|
version: 10
|
||||||
|
|
||||||
|
- name: Ensure Dependencies are Pinned
|
||||||
|
uses: naomi-lgbt/dependency-pin-check@main
|
||||||
|
with:
|
||||||
|
language: javascript
|
||||||
|
dev-dependencies: true
|
||||||
|
peer-dependencies: true
|
||||||
|
optional-dependencies: true
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: pnpm install
|
run: pnpm install
|
||||||
|
|||||||
+136
-100
@@ -1,4 +1,4 @@
|
|||||||
name: Security Scan
|
name: Security Scan and Upload
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -6,136 +6,172 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
schedule:
|
schedule:
|
||||||
# Run weekly on Mondays at 00:00 UTC
|
|
||||||
- cron: '0 0 * * 1'
|
- cron: '0 0 * * 1'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
continue_on_error: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
security:
|
security-audit:
|
||||||
name: Security Audit
|
name: Security & DefectDojo Upload
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
# --- AUTO-SETUP PROJECT ---
|
||||||
|
- name: Ensure DefectDojo Product Exists
|
||||||
|
env:
|
||||||
|
DD_URL: ${{ secrets.DD_URL }}
|
||||||
|
DD_TOKEN: ${{ secrets.DD_TOKEN }}
|
||||||
|
PRODUCT_NAME: ${{ github.repository }}
|
||||||
|
PRODUCT_TYPE_ID: 1
|
||||||
|
run: |
|
||||||
|
sudo apt-get install jq -y > /dev/null
|
||||||
|
|
||||||
|
echo "Checking connection to $DD_URL..."
|
||||||
|
|
||||||
|
# Check if product exists - capture HTTP code to debug connection issues
|
||||||
|
RESPONSE=$(curl --write-out "%{http_code}" --silent --output /tmp/response.json \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
"$DD_URL/api/v2/products/?name=$PRODUCT_NAME")
|
||||||
|
|
||||||
|
# If response is not 200, print error
|
||||||
|
if [ "$RESPONSE" != "200" ]; then
|
||||||
|
echo "::error::Failed to query DefectDojo. HTTP Code: $RESPONSE"
|
||||||
|
cat /tmp/response.json
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
COUNT=$(cat /tmp/response.json | jq -r '.count')
|
||||||
|
|
||||||
|
if [ "$COUNT" = "0" ]; then
|
||||||
|
echo "Creating product '$PRODUCT_NAME'..."
|
||||||
|
curl -s -X POST "$DD_URL/api/v2/products/" \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{ "name": "'"$PRODUCT_NAME"'", "description": "Auto-created by Gitea Actions", "prod_type": '$PRODUCT_TYPE_ID' }'
|
||||||
|
else
|
||||||
|
echo "Product '$PRODUCT_NAME' already exists."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- 1. TRIVY (Dependencies & Misconfig) ---
|
||||||
- name: Install Trivy
|
- name: Install Trivy
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install wget apt-transport-https gnupg lsb-release -y
|
sudo apt-get install wget apt-transport-https gnupg lsb-release -y
|
||||||
wget -qO /tmp/trivy-key.asc https://aquasecurity.github.io/trivy-repo/deb/public.key
|
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
|
||||||
sudo apt-key add /tmp/trivy-key.asc
|
|
||||||
echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
|
echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
|
||||||
sudo apt-get update
|
sudo apt-get update && sudo apt-get install trivy -y
|
||||||
sudo apt-get install trivy -y
|
|
||||||
|
|
||||||
- name: Run Trivy comprehensive security scan
|
- name: Run Trivy (FS Scan)
|
||||||
uses: aquasecurity/trivy-action@master
|
|
||||||
with:
|
|
||||||
scan-type: 'fs'
|
|
||||||
scan-ref: '.'
|
|
||||||
scanners: 'vuln,misconfig'
|
|
||||||
format: 'table'
|
|
||||||
output: 'trivy-results.txt'
|
|
||||||
severity: 'CRITICAL,HIGH,MEDIUM,LOW,UNKNOWN'
|
|
||||||
# Fail on any vulnerability found
|
|
||||||
exit-code: '1'
|
|
||||||
# Don't ignore unfixed vulnerabilities
|
|
||||||
ignore-unfixed: false
|
|
||||||
# Skip database update to speed up scans (uses cached DB)
|
|
||||||
skip-db-update: false
|
|
||||||
# Skip setup since we installed Trivy manually
|
|
||||||
skip-setup-trivy: true
|
|
||||||
|
|
||||||
- name: Display Trivy scan results
|
|
||||||
if: always()
|
|
||||||
run: |
|
run: |
|
||||||
if [ -f trivy-results.txt ]; then
|
trivy fs . --scanners vuln,misconfig --format json --output trivy-results.json --exit-code 0
|
||||||
echo "=== Trivy Security Scan Results ==="
|
|
||||||
cat trivy-results.txt
|
- name: Upload Trivy to DefectDojo
|
||||||
else
|
env:
|
||||||
echo "No Trivy scan results found"
|
DD_URL: ${{ secrets.DD_URL }}
|
||||||
|
DD_TOKEN: ${{ secrets.DD_TOKEN }}
|
||||||
|
run: |
|
||||||
|
echo "Uploading Trivy results..."
|
||||||
|
# Generate today's date in YYYY-MM-DD format
|
||||||
|
TODAY=$(date +%Y-%m-%d)
|
||||||
|
|
||||||
|
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
-F "active=true" \
|
||||||
|
-F "verified=true" \
|
||||||
|
-F "scan_type=Trivy Scan" \
|
||||||
|
-F "engagement_name=CI/CD Pipeline" \
|
||||||
|
-F "product_name=${{ github.repository }}" \
|
||||||
|
-F "scan_date=$TODAY" \
|
||||||
|
-F "auto_create_context=true" \
|
||||||
|
-F "file=@trivy-results.json")
|
||||||
|
|
||||||
|
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
|
||||||
|
echo "::error::Upload Failed with HTTP $HTTP_CODE"
|
||||||
|
echo "--- SERVER RESPONSE ---"
|
||||||
|
cat response.txt
|
||||||
|
echo "-----------------------"
|
||||||
exit 1
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Upload Success!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# --- 2. GITLEAKS (Secrets) ---
|
||||||
- name: Install Gitleaks
|
- name: Install Gitleaks
|
||||||
run: |
|
run: |
|
||||||
wget -O /tmp/gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.30.0/gitleaks_8.30.0_linux_x64.tar.gz
|
wget -qO gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.18.0/gitleaks_8.18.0_linux_x64.tar.gz
|
||||||
tar -xzf /tmp/gitleaks.tar.gz -C /tmp
|
tar -xzf gitleaks.tar.gz
|
||||||
sudo mv /tmp/gitleaks /usr/local/bin/
|
sudo mv gitleaks /usr/local/bin/ && chmod +x /usr/local/bin/gitleaks
|
||||||
sudo chmod +x /usr/local/bin/gitleaks
|
|
||||||
gitleaks version
|
|
||||||
|
|
||||||
# We remove the Trivy cache to avoid false positives
|
- name: Run Gitleaks
|
||||||
- name: Run Gitleaks secret scan
|
run: gitleaks detect --source . -v --report-path gitleaks-results.json --report-format json --no-git || true
|
||||||
run: |
|
|
||||||
rm -rf .cache/trivy
|
|
||||||
gitleaks detect --source . --report-path gitleaks-results.json --report-format json --no-git
|
|
||||||
|
|
||||||
- name: Display Gitleaks scan results
|
- name: Upload Gitleaks to DefectDojo
|
||||||
if: always()
|
env:
|
||||||
|
DD_URL: ${{ secrets.DD_URL }}
|
||||||
|
DD_TOKEN: ${{ secrets.DD_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
if [ -f gitleaks-results.json ]; then
|
echo "Uploading Gitleaks results..."
|
||||||
echo "=== Gitleaks Secret Scan Results ==="
|
TODAY=$(date +%Y-%m-%d)
|
||||||
cat gitleaks-results.json
|
|
||||||
|
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
-F "active=true" \
|
||||||
|
-F "verified=true" \
|
||||||
|
-F "scan_type=Gitleaks Scan" \
|
||||||
|
-F "engagement_name=CI/CD Pipeline" \
|
||||||
|
-F "product_name=${{ github.repository }}" \
|
||||||
|
-F "scan_date=$TODAY" \
|
||||||
|
-F "auto_create_context=true" \
|
||||||
|
-F "file=@gitleaks-results.json")
|
||||||
|
|
||||||
|
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
|
||||||
|
echo "::error::Upload Failed with HTTP $HTTP_CODE"
|
||||||
|
echo "--- SERVER RESPONSE ---"
|
||||||
|
cat response.txt
|
||||||
|
echo "-----------------------"
|
||||||
|
exit 1
|
||||||
else
|
else
|
||||||
echo "No secrets detected by Gitleaks"
|
echo "Upload Success!"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Install Semgrep
|
# --- 3. SEMGREP (SAST) ---
|
||||||
|
- name: Install Semgrep (via pipx)
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get install pipx
|
sudo apt-get install pipx -y
|
||||||
pipx ensurepath
|
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
|
||||||
pipx install semgrep
|
pipx install semgrep
|
||||||
semgrep --version
|
# Add pipx binary path to GITHUB_PATH so next steps can see 'semgrep'
|
||||||
|
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
- name: Run Semgrep static analysis
|
- name: Run Semgrep
|
||||||
run: |
|
run: semgrep scan --config=p/security-audit --config=p/owasp-top-ten --json --output semgrep-results.json . || true
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
|
||||||
semgrep --config p/security-audit \
|
|
||||||
--config p/owasp-top-ten \
|
|
||||||
--config p/ci \
|
|
||||||
--config p/r2c-security-audit \
|
|
||||||
--config p/cwe-top-25 \
|
|
||||||
--output semgrep-results.txt \
|
|
||||||
.
|
|
||||||
|
|
||||||
- name: Display Semgrep scan results
|
- name: Upload Semgrep to DefectDojo
|
||||||
if: always()
|
env:
|
||||||
|
DD_URL: ${{ secrets.DD_URL }}
|
||||||
|
DD_TOKEN: ${{ secrets.DD_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
if [ -f semgrep-results.txt ]; then
|
echo "Uploading Semgrep results..."
|
||||||
echo "=== Semgrep Static Analysis Results ==="
|
TODAY=$(date +%Y-%m-%d)
|
||||||
cat semgrep-results.txt
|
|
||||||
|
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
-F "active=true" \
|
||||||
|
-F "verified=true" \
|
||||||
|
-F "scan_type=Semgrep JSON Report" \
|
||||||
|
-F "engagement_name=CI/CD Pipeline" \
|
||||||
|
-F "product_name=${{ github.repository }}" \
|
||||||
|
-F "scan_date=$TODAY" \
|
||||||
|
-F "auto_create_context=true" \
|
||||||
|
-F "file=@semgrep-results.json")
|
||||||
|
|
||||||
|
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
|
||||||
|
echo "::error::Upload Failed with HTTP $HTTP_CODE"
|
||||||
|
echo "--- SERVER RESPONSE ---"
|
||||||
|
cat response.txt
|
||||||
|
echo "-----------------------"
|
||||||
|
exit 1
|
||||||
else
|
else
|
||||||
echo "No Semgrep scan results found"
|
echo "Upload Success!"
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v6
|
|
||||||
with:
|
|
||||||
go-version: 'stable' # Latest stable version
|
|
||||||
|
|
||||||
- name: Install OSV Scanner
|
|
||||||
run: |
|
|
||||||
export PATH="$HOME/go/bin:$PATH"
|
|
||||||
go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest
|
|
||||||
|
|
||||||
- name: Run OSV Scanner
|
|
||||||
run: |
|
|
||||||
export PATH="$HOME/go/bin:$PATH"
|
|
||||||
osv-scanner scan source --format table --output osv-results.txt -r .
|
|
||||||
|
|
||||||
- name: Display OSV Scanner scan results
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
if [ -f osv-results.txt ]; then
|
|
||||||
echo "=== OSV Scanner Results ==="
|
|
||||||
cat osv-results.txt
|
|
||||||
else
|
|
||||||
echo "No OSV Scanner scan results found"
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
@@ -1,47 +1,29 @@
|
|||||||
# Astro Starter Kit: Minimal
|
# docs
|
||||||
|
|
||||||
```sh
|
Documentation for NHCarrigan projects.
|
||||||
npm create astro@latest -- --template minimal
|
|
||||||
```
|
|
||||||
|
|
||||||
[](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal)
|
## Live Version
|
||||||
[](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/minimal)
|
|
||||||
[](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/minimal/devcontainer.json)
|
|
||||||
|
|
||||||
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
|
This page is currently deployed. [View the live website.](https://docs.nhcarrigan.com)
|
||||||
|
|
||||||
## 🚀 Project Structure
|
## Feedback and Bugs
|
||||||
|
|
||||||
Inside of your Astro project, you'll see the following folders and files:
|
If you have feedback or a bug report, please [log a ticket on our forum](https://support.nhcarrigan.com).
|
||||||
|
|
||||||
```text
|
## Contributing
|
||||||
/
|
|
||||||
├── public/
|
|
||||||
├── src/
|
|
||||||
│ └── pages/
|
|
||||||
│ └── index.astro
|
|
||||||
└── package.json
|
|
||||||
```
|
|
||||||
|
|
||||||
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
|
If you would like to contribute to the project, you may create a Pull Request containing your proposed changes and we will review it as soon as we are able! Please review our [contributing guidelines](CONTRIBUTING.md) first.
|
||||||
|
|
||||||
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
|
## Code of Conduct
|
||||||
|
|
||||||
Any static assets, like images, can be placed in the `public/` directory.
|
Before interacting with our community, please read our [Code of Conduct](CODE_OF_CONDUCT.md).
|
||||||
|
|
||||||
## 🧞 Commands
|
## License
|
||||||
|
|
||||||
All commands are run from the root of the project, from a terminal:
|
This software is licensed under our [global software license](https://docs.nhcarrigan.com/#/license).
|
||||||
|
|
||||||
| Command | Action |
|
Copyright held by Naomi Carrigan.
|
||||||
| :------------------------ | :----------------------------------------------- |
|
|
||||||
| `npm install` | Installs dependencies |
|
|
||||||
| `npm run dev` | Starts local dev server at `localhost:4321` |
|
|
||||||
| `npm run build` | Build your production site to `./dist/` |
|
|
||||||
| `npm run preview` | Preview your build locally, before deploying |
|
|
||||||
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
|
|
||||||
| `npm run astro -- --help` | Get help using the Astro CLI |
|
|
||||||
|
|
||||||
## 👀 Want to learn more?
|
## Contact
|
||||||
|
|
||||||
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
|
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# Security
|
||||||
|
|
||||||
|
# Do not execute any scripts of installed packages (project scripts still run)
|
||||||
|
ignoreDepScripts: true
|
||||||
|
# Do not automatically run pre/post scripts (e.g. preinstall, postbuild)
|
||||||
|
enablePrePostScripts: false
|
||||||
|
# Only allow packages published at least 10 days ago (reduces risk of compromised packages)
|
||||||
|
minimumReleaseAge: 14400
|
||||||
|
# Fail if a package's trust level has decreased compared to previous releases
|
||||||
|
trustPolicy: no-downgrade
|
||||||
|
# Ignore trust policy for packages published more than 1 year ago (predates provenance signing)
|
||||||
|
trustPolicyIgnoreAfter: 525960
|
||||||
|
# Fail if there are missing or invalid peer dependencies
|
||||||
|
strictPeerDependencies: true
|
||||||
|
# Prevent transitive dependencies from using exotic sources (git repos, direct tarball URLs)
|
||||||
|
blockExoticSubdeps: true
|
||||||
|
|
||||||
|
# Lockfile
|
||||||
|
|
||||||
|
# Allow the lockfile to be updated during install (set to true in CI for stricter reproducibility)
|
||||||
|
preferFrozenLockfile: false
|
||||||
+86506
-1341
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 4.9 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 6.0 MiB |
@@ -1,5 +1,6 @@
|
|||||||
export const navigation = [
|
export const navigation = [
|
||||||
{
|
{
|
||||||
|
// #region About Us
|
||||||
label: "About Us",
|
label: "About Us",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [
|
items: [
|
||||||
@@ -49,6 +50,8 @@ export const navigation = [
|
|||||||
},
|
},
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Legal Information
|
||||||
{
|
{
|
||||||
label: "Legal Information",
|
label: "Legal Information",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -115,6 +118,8 @@ export const navigation = [
|
|||||||
},
|
},
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Community Policies
|
||||||
{
|
{
|
||||||
label: "Community Policies",
|
label: "Community Policies",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -143,8 +148,14 @@ export const navigation = [
|
|||||||
label: "Community Feedback and Participation Policy",
|
label: "Community Feedback and Participation Policy",
|
||||||
link: "/community/feedback",
|
link: "/community/feedback",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "Fan Art Guidelines",
|
||||||
|
link: "/community/fan-art",
|
||||||
|
}
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Development Documentation
|
||||||
{
|
{
|
||||||
label: "Development Documentation",
|
label: "Development Documentation",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -169,20 +180,14 @@ export const navigation = [
|
|||||||
label: "Development Environment",
|
label: "Development Environment",
|
||||||
link: "/dev/environment",
|
link: "/dev/environment",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: "Server Setup",
|
|
||||||
link: "/dev/servers",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Naomi's VTubing Setup",
|
|
||||||
link: "/dev/vtubing",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Security Hall of Fame",
|
label: "Security Hall of Fame",
|
||||||
link: "/dev/hall-of-fame",
|
link: "/dev/hall-of-fame",
|
||||||
}
|
}
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Mentorship Programme
|
||||||
{
|
{
|
||||||
label: "Mentorship Programme",
|
label: "Mentorship Programme",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -279,6 +284,8 @@ export const navigation = [
|
|||||||
}
|
}
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Project Documentation
|
||||||
{
|
{
|
||||||
label: "Project Documentation",
|
label: "Project Documentation",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -715,6 +722,8 @@ export const navigation = [
|
|||||||
},
|
},
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Staff Guidelines
|
||||||
{
|
{
|
||||||
label: "Staff Guidelines",
|
label: "Staff Guidelines",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -807,6 +816,10 @@ export const navigation = [
|
|||||||
label: "Documentation and Transparency Training for Staff",
|
label: "Documentation and Transparency Training for Staff",
|
||||||
link: "/staff/training/documentation-transparency",
|
link: "/staff/training/documentation-transparency",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "Support Forum Moderation Training for Staff",
|
||||||
|
link: "/staff/training/forum-moderation",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: "Harassment and Bullying Response Training for Staff",
|
label: "Harassment and Bullying Response Training for Staff",
|
||||||
link: "/staff/training/harassment-bullying-response",
|
link: "/staff/training/harassment-bullying-response",
|
||||||
@@ -835,29 +848,21 @@ export const navigation = [
|
|||||||
},
|
},
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region External Links
|
||||||
{
|
{
|
||||||
label: "Miscellaneous Documents",
|
label: "Discord",
|
||||||
collapsed: true,
|
link: "https://chat.nhcarrigan.com",
|
||||||
items: [
|
|
||||||
{
|
|
||||||
label: "Managing Local Music",
|
|
||||||
link: "/misc/music",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Templates",
|
|
||||||
link: "/misc/templates",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "AI Prompts",
|
|
||||||
link: "/misc/prompts",
|
|
||||||
}
|
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Sitemap",
|
|
||||||
link: "https://sitemap.nhcarrigan.com",
|
|
||||||
attrs: {
|
attrs: {
|
||||||
target: "_blank",
|
target: "_blank",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "Support Forum",
|
||||||
|
link: "https://support.nhcarrigan.com",
|
||||||
|
attrs: {
|
||||||
|
target: "_blank",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
// #endregion
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -135,9 +135,9 @@ Our code repositories are all self-hosted. Git accounts are only granted to Team
|
|||||||
- Issue tracking
|
- Issue tracking
|
||||||
- Source code for all of our products
|
- Source code for all of our products
|
||||||
- Best for: Viewing source code and documentation
|
- Best for: Viewing source code and documentation
|
||||||
- **Bug Reports and Feature Requests**: To report bugs or request features, please use our Discord forum channels:
|
- **Bug Reports and Feature Requests**: To report bugs or request features, please use our support forum:
|
||||||
- `#bug-reports` forum channel for bug reports
|
- [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) for bug reports
|
||||||
- `#feature-requests` forum channel for feature requests
|
- [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) for feature requests
|
||||||
|
|
||||||
### 2.3. Etiquette and Best Practices
|
### 2.3. Etiquette and Best Practices
|
||||||
|
|
||||||
@@ -236,7 +236,12 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.2. Billing and Financial Matters
|
### 5.2. Billing and Financial Matters
|
||||||
|
|
||||||
- Email: billing@nhcarrigan.com
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use the [**Billing Questions**](https://support.nhcarrigan.com/c/billing-questions/13) category on our support forum for billing inquiries. This allows for public discussion and faster responses. If you need to share sensitive financial information, you can ask staff to make your thread private, or contact us via email for complete confidentiality.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Support Forum:** [Billing Questions](https://support.nhcarrigan.com/c/billing-questions/13) (preferred for most inquiries)
|
||||||
|
- Email: billing@nhcarrigan.com (for highly sensitive financial information requiring complete confidentiality)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Questions about payments or invoices
|
- Questions about payments or invoices
|
||||||
- Inquiries about outstanding balances
|
- Inquiries about outstanding balances
|
||||||
@@ -245,6 +250,11 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.3. Technical Support
|
### 5.3. Technical Support
|
||||||
|
|
||||||
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use the [**Technical Support**](https://support.nhcarrigan.com/c/technical-support/5) category on our support forum for support inquiries. This allows for public discussion and faster responses. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for complete confidentiality.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Support Forum:** [Technical Support](https://support.nhcarrigan.com/c/technical-support/5) (preferred for most inquiries)
|
||||||
- Email: support@nhcarrigan.com
|
- Email: support@nhcarrigan.com
|
||||||
- Use for:
|
- Use for:
|
||||||
- Assistance with using our software or services
|
- Assistance with using our software or services
|
||||||
@@ -253,7 +263,14 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.4. Privacy Concerns
|
### 5.4. Privacy Concerns
|
||||||
|
|
||||||
- Email: privacy@nhcarrigan.com
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use our **Privacy Request Form** for privacy-related requests: https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4
|
||||||
|
|
||||||
|
This form helps ensure we collect all necessary information to process your request efficiently and in compliance with applicable data protection laws.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Privacy Request Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4
|
||||||
|
- Email: privacy@nhcarrigan.com (for general privacy questions or if you prefer email)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Questions about our privacy policy
|
- Questions about our privacy policy
|
||||||
- Requests for data access or deletion
|
- Requests for data access or deletion
|
||||||
@@ -262,7 +279,15 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.5. Security Matters
|
### 5.5. Security Matters
|
||||||
|
|
||||||
- Email: security@nhcarrigan.com
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use our **Security Vulnerability Report Form** for reporting security vulnerabilities: https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4
|
||||||
|
|
||||||
|
This form helps ensure we collect all necessary information to investigate and address security issues efficiently and securely.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Security Vulnerability Report Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4
|
||||||
|
- **Public Security Reports:** View aggregated and sanitized security vulnerability reports for all our products at: https://security.nhcarrigan.com/report/
|
||||||
|
- Email: security@nhcarrigan.com (for general security questions or if you prefer email)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Reporting security vulnerabilities
|
- Reporting security vulnerabilities
|
||||||
- Questions about our security practices
|
- Questions about our security practices
|
||||||
@@ -270,7 +295,12 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.6. Legal Inquiries
|
### 5.6. Legal Inquiries
|
||||||
|
|
||||||
- Email: legal@nhcarrigan.com
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use the [**Legal Notices**](https://support.nhcarrigan.com/c/legal-notices/12) category on our support forum for legal inquiries. This allows for public discussion and transparency. If you need to share sensitive legal information, you can ask staff to make your thread private, or contact us via email for urgent matters requiring immediate confidentiality.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Support Forum:** [Legal Notices](https://support.nhcarrigan.com/c/legal-notices/12) (preferred for most inquiries)
|
||||||
|
- Email: legal@nhcarrigan.com (for urgent legal matters requiring immediate confidentiality)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Legal questions or concerns
|
- Legal questions or concerns
|
||||||
- Copyright or trademark issues
|
- Copyright or trademark issues
|
||||||
@@ -279,7 +309,18 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.7. Feedback and Suggestions
|
### 5.7. Feedback and Suggestions
|
||||||
|
|
||||||
- Email: feedback@nhcarrigan.com
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use our support forum for different types of feedback:
|
||||||
|
- [**Community Feedback**](https://support.nhcarrigan.com/c/community-feedback/8) for general feedback about our community, services, events, and initiatives
|
||||||
|
- [**Policy Ideation**](https://support.nhcarrigan.com/c/policy-ideation/9) for suggestions about community policies and governance
|
||||||
|
- [**Accessibility Feedback**](https://support.nhcarrigan.com/c/accessibility-feedback/10) for reporting accessibility barriers and improvement suggestions
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Support Forum:**
|
||||||
|
- [Community Feedback](https://support.nhcarrigan.com/c/community-feedback/8) (preferred for general feedback)
|
||||||
|
- [Policy Ideation](https://support.nhcarrigan.com/c/policy-ideation/9) (preferred for policy suggestions)
|
||||||
|
- [Accessibility Feedback](https://support.nhcarrigan.com/c/accessibility-feedback/10) (preferred for accessibility matters)
|
||||||
|
- Email: feedback@nhcarrigan.com (if you prefer email communication)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Providing feedback on our work or projects
|
- Providing feedback on our work or projects
|
||||||
- Suggesting improvements or new features
|
- Suggesting improvements or new features
|
||||||
@@ -288,7 +329,12 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.8. Press/Media Inquiries
|
### 5.8. Press/Media Inquiries
|
||||||
|
|
||||||
- Email: press@nhcarrigan.com
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use the [**Press Inquiries**](https://support.nhcarrigan.com/c/press-inquiries/14) category on our support forum for media inquiries. This allows for public discussion and community visibility. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for highly sensitive media matters requiring complete confidentiality.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Support Forum:** [Press Inquiries](https://support.nhcarrigan.com/c/press-inquiries/14) (preferred for most inquiries)
|
||||||
|
- Email: press@nhcarrigan.com (for highly sensitive media matters requiring complete confidentiality)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Requesting comment regarding news
|
- Requesting comment regarding news
|
||||||
- Scheduling interviews for your media outlet
|
- Scheduling interviews for your media outlet
|
||||||
@@ -305,7 +351,12 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.10. Marketing Inquiries
|
### 5.10. Marketing Inquiries
|
||||||
|
|
||||||
- Email: marketing@nhcarrigan.com
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use the [**Marketing Proposals**](https://support.nhcarrigan.com/c/marketing-proposals/15) category on our support forum for marketing inquiries. This allows for public discussion and community input. If you need to share highly confidential business information, you can ask staff to make your thread private, or contact us via email for proposals requiring complete privacy.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Support Forum:** [Marketing Proposals](https://support.nhcarrigan.com/c/marketing-proposals/15) (preferred for most inquiries)
|
||||||
|
- Email: marketing@nhcarrigan.com (for highly confidential business proposals requiring complete privacy)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Marketing collaboration proposals
|
- Marketing collaboration proposals
|
||||||
- Brand partnership opportunities
|
- Brand partnership opportunities
|
||||||
@@ -323,7 +374,12 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
|
|
||||||
### 5.12. Partnerships
|
### 5.12. Partnerships
|
||||||
|
|
||||||
- Email: partners@nhcarrigan.com
|
:::tip[Preferred Method]{icon=star}
|
||||||
|
We encourage you to use the [**Partnership Requests**](https://support.nhcarrigan.com/c/partnership-requests/11) category on our support forum for partnership inquiries. This allows for public discussion and community input on potential partnerships. If you need to share sensitive business information, you can ask staff to make your thread private, or contact us via email if you need complete confidentiality from the start.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Support Forum:** [Partnership Requests](https://support.nhcarrigan.com/c/partnership-requests/11) (preferred for most inquiries)
|
||||||
|
- Email: partners@nhcarrigan.com (if you need complete confidentiality from the start)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Requesting a collaboration between our organisation and yours
|
- Requesting a collaboration between our organisation and yours
|
||||||
- Sponsorship opportunities for our work
|
- Sponsorship opportunities for our work
|
||||||
|
|||||||
@@ -62,6 +62,12 @@ The Company reserves the right to refuse any project or contract that it determi
|
|||||||
|
|
||||||
### 4.3. Continuous Monitoring
|
### 4.3. Continuous Monitoring
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
The Company shall continuously monitor the environmental impact of its ongoing operations and projects, making adjustments as necessary to remain aligned with its sustainability goals.
|
The Company shall continuously monitor the environmental impact of its ongoing operations and projects, making adjustments as necessary to remain aligned with its sustainability goals.
|
||||||
|
|
||||||
## 5. Legal and Ethical Compliance
|
## 5. Legal and Ethical Compliance
|
||||||
|
|||||||
@@ -217,10 +217,10 @@ Community Members are required to:
|
|||||||
|
|
||||||
#### 5.1.1. Available Reporting Methods
|
#### 5.1.1. Available Reporting Methods
|
||||||
Community Members can report Code of Conduct violations through the following channels:
|
Community Members can report Code of Conduct violations through the following channels:
|
||||||
|
- **Incident Report Form** (Preferred): Submit reports through our official Incident Report Form: https://forms.nhcarrigan.com/o/docs/forms/t7CYeYS4uyUuLiKFatoEvs/4
|
||||||
- **Discord Reporting**: Type `@Moderator` in any channel to alert Community Leaders
|
- **Discord Reporting**: Type `@Moderator` in any channel to alert Community Leaders
|
||||||
- **Direct Communication**: Contact any Community Leader through private messages
|
- **Direct Communication**: Contact any Community Leader through private messages
|
||||||
- **Email Contact**: Submit reports to contact@nhcarrigan.com
|
- **Email Contact**: Submit reports to contact@nhcarrigan.com
|
||||||
- **Anonymous Reporting**: Use designated anonymous reporting forms where available
|
|
||||||
|
|
||||||
#### 5.1.2. Information to Include in Reports
|
#### 5.1.2. Information to Include in Reports
|
||||||
Effective reports should include:
|
Effective reports should include:
|
||||||
|
|||||||
@@ -0,0 +1,186 @@
|
|||||||
|
---
|
||||||
|
title: Fan Art Guidelines
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Introduction and Purpose
|
||||||
|
|
||||||
|
### 1.1. Welcome to Our Fan Art Community!
|
||||||
|
|
||||||
|
Are you interested in creating art for our lovely Naomi? We absolutely love seeing creative interpretations of our characters and would be thrilled to feature your work! These guidelines will help you understand what we're looking for and how to submit your creations.
|
||||||
|
|
||||||
|
### 1.2. Scope
|
||||||
|
|
||||||
|
These guidelines apply to:
|
||||||
|
- Fan art of Naomi and her various designs
|
||||||
|
- Fan art of Original Characters (OCs) shared in our #characters channel (Naomi's OCs)
|
||||||
|
- Any artistic interpretations of our characters and community
|
||||||
|
|
||||||
|
## 2. Content Guidelines
|
||||||
|
|
||||||
|
### 2.1. Content Standards
|
||||||
|
|
||||||
|
#### 2.1.1. Family-Friendly Public Submissions
|
||||||
|
|
||||||
|
For art that will be shared in our public spaces (such as our fan art channel), we maintain family-friendly standards:
|
||||||
|
|
||||||
|
**(a)** **No Obscene or NSFW Content**: Public submissions must be appropriate for all audiences. We want to show your work off to everyone!
|
||||||
|
|
||||||
|
**(b)** **Original Works Only**: Please no AI-generated content. We want to see your original works! If Naomi wanted AI-generated art, she would generate it herself.
|
||||||
|
|
||||||
|
**(c)** **Creative Freedom**: You are free to give Naomi whatever outfit you would like. Refer to our reference channel for reference images to get an idea of her style.
|
||||||
|
|
||||||
|
#### 2.1.2. NSFW Content Policy
|
||||||
|
|
||||||
|
We understand that some artists may wish to create mature content featuring our characters. We have the following policy for such works:
|
||||||
|
|
||||||
|
**(a)** **DM Submission Required**: NSFW works must be sent to us via direct message (DM) only. Do not post NSFW content in any public channels.
|
||||||
|
|
||||||
|
**(b)** **Private Appreciation**: While we appreciate all artistic interpretations, NSFW works will not be shared in our public spaces as we are a family-friendly community.
|
||||||
|
|
||||||
|
**(c)** **Respectful Content**: Even for private submissions, we reserve the right to decline content that we find inappropriate or that violates our community standards.
|
||||||
|
|
||||||
|
**(d)** **Recognition**: Accepted NSFW submissions will still qualify for the role!
|
||||||
|
|
||||||
|
### 2.2. Original Characters (OCs)
|
||||||
|
|
||||||
|
We have a dedicated **#characters** channel where Naomi shares her Original Characters! You are welcome and encouraged to create fan art of these OCs as well. When creating art of Naomi's OCs:
|
||||||
|
|
||||||
|
**(a)** **Respect Character Design**: Please respect the original character designs and creator intentions.
|
||||||
|
|
||||||
|
**(b)** **Follow Same Guidelines**: All content guidelines (family-friendly for public, NSFW via DM only) apply to OC fan art as well.
|
||||||
|
|
||||||
|
## 3. Reference Materials and Resources
|
||||||
|
|
||||||
|
### 3.1. Available Reference Materials
|
||||||
|
|
||||||
|
#### 3.1.1. Reference Images
|
||||||
|
|
||||||
|
We maintain reference images in our Discord reference channel. These images can help you understand Naomi's style, color palette, and design elements.
|
||||||
|
|
||||||
|
### 3.2. Important Disclaimer About Reference Materials
|
||||||
|
|
||||||
|
:::warning[AI-Generated Reference Materials Disclaimer]
|
||||||
|
**Please be aware that our current reference sheets and other visual assets are AI-generated. This is a temporary situation.**
|
||||||
|
|
||||||
|
We operate at a significant loss and do not currently have the budget to commission proper, human-created art for all of our reference materials. However, we are committed to replacing these AI-generated assets with proper commissioned art as funds become available.
|
||||||
|
|
||||||
|
**How You Can Help:**
|
||||||
|
|
||||||
|
- **Financial Support**: If you would like to help us replace our AI-generated assets with proper art, you can donate at [donate.nhcarrigan.com](https://donate.nhcarrigan.com). All donations help us work toward commissioning proper reference art.
|
||||||
|
|
||||||
|
- **Art Donations**: We would be absolutely thrilled to accept donated art to replace our AI-generated assets! If you're interested in creating reference art or other assets for us, please reach out via DM to discuss.
|
||||||
|
|
||||||
|
We appreciate your understanding and patience as we work to improve our resources. Our goal is to have all human-created, properly commissioned art, and we're working toward that goal every day.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## 4. Submission Process
|
||||||
|
|
||||||
|
### 4.1. How to Submit Your Art
|
||||||
|
|
||||||
|
#### 4.1.1. Public Submissions (Family-Friendly Content)
|
||||||
|
|
||||||
|
To submit family-friendly fan art for public sharing:
|
||||||
|
|
||||||
|
1. **Create Your Art**: Follow the guidelines above to ensure your work meets our standards.
|
||||||
|
|
||||||
|
2. **DM Your Submission**: Send your artwork to Naomi directly via DM.
|
||||||
|
|
||||||
|
3. **Review Process**: If accepted, your art will be shared in our fan art channel (with full credit - you will be tagged in the post).
|
||||||
|
|
||||||
|
4. **Recognition**: Accepted submissions will receive a special role recognizing your contribution!
|
||||||
|
|
||||||
|
#### 4.1.2. Private Submissions (NSFW Content)
|
||||||
|
|
||||||
|
For NSFW works:
|
||||||
|
|
||||||
|
1. **DM Only**: Send your NSFW artwork directly to Naomi via DM.
|
||||||
|
|
||||||
|
2. **Private Appreciation**: These works will be appreciated privately and will not be shared in public spaces.
|
||||||
|
|
||||||
|
3. **No Public Sharing**: Please do not post NSFW content in any public channels, even if you think it might be acceptable.
|
||||||
|
|
||||||
|
4. **Recognition**: Accepted submissions will still qualify for the role!
|
||||||
|
|
||||||
|
### 4.2. What Happens After Submission
|
||||||
|
|
||||||
|
#### 4.2.1. Review Timeline
|
||||||
|
|
||||||
|
We review submissions as quickly as possible, but please be patient. We want to give each piece the attention it deserves!
|
||||||
|
|
||||||
|
#### 4.2.2. Acceptance and Sharing
|
||||||
|
|
||||||
|
If your public submission is accepted:
|
||||||
|
- Your art will be posted in our fan art channel
|
||||||
|
- You will be tagged and credited in the post
|
||||||
|
- You will receive a special role recognizing your contribution
|
||||||
|
- We may share your work on other platforms (with credit)
|
||||||
|
|
||||||
|
#### 4.2.3. If Your Submission Isn't Accepted
|
||||||
|
|
||||||
|
If we decline a submission, we'll do our best to explain why. Common reasons include:
|
||||||
|
- Content doesn't meet our family-friendly standards (for public submissions)
|
||||||
|
- Quality concerns (though we appreciate all skill levels!)
|
||||||
|
- Copyright or intellectual property issues
|
||||||
|
- Other community guideline violations
|
||||||
|
|
||||||
|
We're always happy to provide feedback and work with artists to create content that fits our community!
|
||||||
|
|
||||||
|
## 5. Rights and Permissions
|
||||||
|
|
||||||
|
### 5.1. Artist Rights and Rights Transfer
|
||||||
|
|
||||||
|
**(a)** **Rights Transfer**: By submitting your art to us, you transfer the rights to your creation to us. This transfer occurs upon submission and acceptance of your work.
|
||||||
|
|
||||||
|
**(b)** **Credit Always Given**: We will always credit you when sharing your work, even though rights have been transferred.
|
||||||
|
|
||||||
|
**(c)** **Usage Rights**: Once rights are transferred, we have the right to use, display, share, and distribute your submitted artwork in our community spaces and on other platforms with proper credit.
|
||||||
|
|
||||||
|
### 5.2. Character Rights
|
||||||
|
|
||||||
|
**(a)** **Character Ownership**: Naomi and other official characters remain the property of NHCarrigan.
|
||||||
|
|
||||||
|
**(b)** **Fan Art Rights**: Creating fan art is generally considered fair use, but please be respectful of the characters and community.
|
||||||
|
|
||||||
|
**(c)** **Commercial Use**: If you're interested in commercial use of our characters, please contact us to discuss licensing.
|
||||||
|
|
||||||
|
## 6. Community Support and Appreciation
|
||||||
|
|
||||||
|
### 6.1. We Love Your Art!
|
||||||
|
|
||||||
|
We genuinely appreciate every piece of art created for our community. Whether it's a quick sketch or a detailed masterpiece, your creativity and effort mean the world to us!
|
||||||
|
|
||||||
|
### 6.2. Growing Together
|
||||||
|
|
||||||
|
We're always working to improve our resources and support for artists. As we grow and develop better reference materials (see our disclaimer above), we hope to make it even easier for artists to create amazing fan art!
|
||||||
|
|
||||||
|
### 6.3. Questions or Concerns?
|
||||||
|
|
||||||
|
If you have any questions about these guidelines, the submission process, or anything else related to fan art, please don't hesitate to reach out via DM or ask in our community channels!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary: Quick Reference
|
||||||
|
|
||||||
|
**✅ DO:**
|
||||||
|
- Create original, family-friendly art for public sharing
|
||||||
|
- DM your submissions to Naomi
|
||||||
|
- Feel free to be creative with outfits and styles
|
||||||
|
- Create art of Naomi's OCs from our #characters channel
|
||||||
|
- Send NSFW works via DM only (they won't be shared publicly)
|
||||||
|
|
||||||
|
**❌ DON'T:**
|
||||||
|
- Submit AI-generated content
|
||||||
|
- Post NSFW content in public channels
|
||||||
|
- Disrespect character designs when making OC fan art
|
||||||
|
- Submit content that violates our community standards
|
||||||
|
|
||||||
|
**📝 Remember:**
|
||||||
|
- Reference materials are currently AI-generated (temporary!)
|
||||||
|
- You can help us get proper art by donating or creating art donations
|
||||||
|
- By submitting art, you transfer rights to your creation to us
|
||||||
|
- We always credit artists when sharing their work
|
||||||
|
- Questions? Just ask!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Thank you for your interest in creating art for our community! We can't wait to see what you create!*
|
||||||
@@ -44,10 +44,10 @@ This Policy operates within our comprehensive legal and policy framework, incorp
|
|||||||
#### 2.1.1. Daily and Ongoing Feedback Channels
|
#### 2.1.1. Daily and Ongoing Feedback Channels
|
||||||
|
|
||||||
**Open Communication Channels:**
|
**Open Communication Channels:**
|
||||||
- Dedicated feedback forum channels accessible to all community members for ongoing input and suggestions
|
- Dedicated feedback forum categories accessible to all community members for ongoing input and suggestions
|
||||||
- Community: `#community-feedback` forum channel on Discord
|
- Community: [Community Feedback](https://support.nhcarrigan.com/c/community-feedback/8) category on our support forum
|
||||||
- Products: `#bug-reports` or `#feature-requests` forum channel on Discord
|
- Products: [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) categories on our support forum
|
||||||
- Policies: `#policy-ideation` forum channel on Discord
|
- Policies: [Policy Ideation](https://support.nhcarrigan.com/c/policy-ideation/9) category on our support forum
|
||||||
- Direct messaging opportunities with community leadership for individual concerns and suggestions
|
- Direct messaging opportunities with community leadership for individual concerns and suggestions
|
||||||
- Public discussion forums for community-wide conversation about policies and improvements
|
- Public discussion forums for community-wide conversation about policies and improvements
|
||||||
|
|
||||||
@@ -60,6 +60,12 @@ This Policy operates within our comprehensive legal and policy framework, incorp
|
|||||||
|
|
||||||
#### 2.1.2. Scheduled Feedback Collection
|
#### 2.1.2. Scheduled Feedback Collection
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
**Monthly Community Input Sessions:**
|
**Monthly Community Input Sessions:**
|
||||||
- Structured community meetings focused on specific policy areas or community improvements
|
- Structured community meetings focused on specific policy areas or community improvements
|
||||||
- Rotating focus areas ensuring comprehensive coverage of community operations and policies
|
- Rotating focus areas ensuring comprehensive coverage of community operations and policies
|
||||||
@@ -242,6 +248,35 @@ When immediate policy changes are necessary for community safety:
|
|||||||
- **Advocacy training and resources** empowering community members to effectively participate in governance and change processes
|
- **Advocacy training and resources** empowering community members to effectively participate in governance and change processes
|
||||||
- **Community campaign support** for democratic initiatives that build broad community support for positive changes
|
- **Community campaign support** for democratic initiatives that build broad community support for positive changes
|
||||||
|
|
||||||
|
#### 5.1.3. Demographic Self-Identification
|
||||||
|
|
||||||
|
**Voluntary Self-Identification Process:**
|
||||||
|
- **Anonymous demographic self-identification form** enabling community members to voluntarily share demographic information to help us understand community diversity and identify participation barriers
|
||||||
|
- **New member onboarding requirement** all new community members are encouraged to complete the self-identification form when joining the community
|
||||||
|
- **Annual demographic update** all community members are encouraged to complete the self-identification form at the start of each calendar year to measure demographic trends and changes over time
|
||||||
|
- **Complete anonymity** all responses are completely anonymous and aggregated for statistical analysis only; individual responses cannot be linked to specific community members
|
||||||
|
|
||||||
|
**Purpose and Use:**
|
||||||
|
- **Demographic diversity assessment** understanding the diversity of our community across various dimensions including age, geographic location, language, gender identity, sexual orientation, race/ethnicity, disability status, neurodivergence, and socioeconomic background
|
||||||
|
- **Participation barrier identification** identifying barriers to engagement affecting different demographic groups
|
||||||
|
- **Feedback system evaluation** ensuring feedback systems and participation opportunities effectively reach and engage diverse community members
|
||||||
|
- **Accessibility improvement** measuring progress toward inclusive representation and identifying areas where accessibility and accommodation efforts need enhancement
|
||||||
|
- **Trend measurement** tracking demographic changes and trends over time to understand community evolution
|
||||||
|
|
||||||
|
**Privacy and Confidentiality:**
|
||||||
|
- **Complete anonymity** no identifying information is collected; responses cannot be linked to individual community members
|
||||||
|
- **Aggregated analysis only** all data is used only in aggregate form for statistical analysis and community improvement purposes
|
||||||
|
- **Voluntary participation** participation is completely voluntary; all questions include a "Prefer not to answer" option
|
||||||
|
- **Secure data handling** all demographic data is stored securely and handled in accordance with our Privacy Policy and applicable data protection laws
|
||||||
|
|
||||||
|
**Self-Identification Form:**
|
||||||
|
Community members can complete the anonymous self-identification form at: https://forms.nhcarrigan.com/o/docs/forms/p7fkz5yJN9GKrQjw5zhX6U/4
|
||||||
|
|
||||||
|
**Completion Requirements:**
|
||||||
|
- **New members:** All new community members are encouraged to complete the self-identification form as part of the onboarding process
|
||||||
|
- **Annual updates:** All community members are encouraged to complete the self-identification form at the start of each calendar year (January) to help us measure demographic trends and changes over time
|
||||||
|
- **Voluntary nature:** While completion is encouraged, participation remains completely voluntary and anonymous
|
||||||
|
|
||||||
### 5.2. Crisis and Emergency Community Consultation
|
### 5.2. Crisis and Emergency Community Consultation
|
||||||
|
|
||||||
#### 5.2.1. Emergency Response Input
|
#### 5.2.1. Emergency Response Input
|
||||||
@@ -280,6 +315,12 @@ When immediate policy changes are necessary for community safety:
|
|||||||
|
|
||||||
#### 6.1.2. Community-Wide Response Communication
|
#### 6.1.2. Community-Wide Response Communication
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
**Public Feedback Summaries:**
|
**Public Feedback Summaries:**
|
||||||
- **Monthly summary reports** highlighting community feedback themes, concerns, and suggestions received
|
- **Monthly summary reports** highlighting community feedback themes, concerns, and suggestions received
|
||||||
- **Response action reports** detailing how community feedback has influenced policies, decisions, and community improvements
|
- **Response action reports** detailing how community feedback has influenced policies, decisions, and community improvements
|
||||||
|
|||||||
@@ -311,6 +311,12 @@ Nomination form can be found at https://forms.nhcarrigan.com/o/docs/forms/to2oFo
|
|||||||
|
|
||||||
#### 6.2.2. Representative Recognition Outcomes
|
#### 6.2.2. Representative Recognition Outcomes
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
**Demographic Equity Monitoring:**
|
**Demographic Equity Monitoring:**
|
||||||
- Regular assessment of recognition distribution across different community demographic groups
|
- Regular assessment of recognition distribution across different community demographic groups
|
||||||
- Proactive outreach to ensure recognition opportunities reach all community segments
|
- Proactive outreach to ensure recognition opportunities reach all community segments
|
||||||
@@ -389,6 +395,12 @@ Nomination form can be found at https://forms.nhcarrigan.com/o/docs/forms/to2oFo
|
|||||||
|
|
||||||
#### 9.1.1. Continuous Improvement Process
|
#### 9.1.1. Continuous Improvement Process
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
**Monthly Program Assessment:**
|
**Monthly Program Assessment:**
|
||||||
- Recognition programme effectiveness evaluation and participant satisfaction assessment
|
- Recognition programme effectiveness evaluation and participant satisfaction assessment
|
||||||
- Recognition distribution analysis to ensure equity and inclusive representation
|
- Recognition distribution analysis to ensure equity and inclusive representation
|
||||||
|
|||||||
@@ -153,6 +153,11 @@ You can also reach out to us in our Discord community: https://chat.nhcarrigan.c
|
|||||||
|
|
||||||
### 4.1. Finding an Issue
|
### 4.1. Finding an Issue
|
||||||
|
|
||||||
|
**For Team Members:** All properly triaged tickets that are ready to be worked on are available on our **Staff Tickets** project board: https://git.nhcarrigan.com/nhcarrigan/-/projects/2
|
||||||
|
|
||||||
|
Team members should refer to this project board to find tickets that are ready for work.
|
||||||
|
|
||||||
|
**For All Contributors:**
|
||||||
1. Navigate to the project's issue tracker.
|
1. Navigate to the project's issue tracker.
|
||||||
2. Browse open issues or use filters to find tasks that interest you.
|
2. Browse open issues or use filters to find tasks that interest you.
|
||||||
3. Read the issue description thoroughly to understand the requirements and context.
|
3. Read the issue description thoroughly to understand the requirements and context.
|
||||||
|
|||||||
+371
-181
@@ -6,443 +6,633 @@ We use very specific labels to help categorise our issues. This page explains wh
|
|||||||
|
|
||||||
## 1. Contribution Labels
|
## 1. Contribution Labels
|
||||||
|
|
||||||
These are the most important. These labels indicate who is encouraged to make a pull request to resolve the issue.
|
These are the most important. These labels indicate who is encouraged to make a pull request to resolve the issue. All contributions are limited to our volunteer staff team members.
|
||||||
|
|
||||||
### 1.1. `contribute: good first issue`
|
### 1.1. `contribute: good first issue`
|
||||||
|
|
||||||
#### 1.1.1. Purpose
|
#### 1.1.1. Purpose
|
||||||
|
|
||||||
Identifies issues suitable for contributors who are new to the project.
|
Identifies issues suitable for team members who are learning a new codebase.
|
||||||
|
|
||||||
#### 1.1.2. Characteristics
|
#### 1.1.2. Characteristics
|
||||||
|
|
||||||
Does not require prior knowledge of the codebase. Issues with this label should include a detailed description of the implementation process.
|
Does not require prior knowledge of the codebase. Issues with this label should include a detailed description of the implementation process to help team members get familiar with the project structure.
|
||||||
|
|
||||||
#### 1.1.3. Expectations
|
#### 1.1.3. Expectations
|
||||||
|
|
||||||
Contributors are responsible for ensuring their work complies with the project's licensing terms and contribution guidelines.
|
Team members are responsible for ensuring their work complies with the project's licensing terms and contribution guidelines.
|
||||||
|
|
||||||
### 1.2. `contribute: help wanted`
|
### 1.2. `contribute: help wanted`
|
||||||
|
|
||||||
#### 1.2.1. Purpose
|
#### 1.2.1. Purpose
|
||||||
|
|
||||||
Indicates issues open for contribution from any interested party.
|
Indicates issues open for any team member to grab and work on.
|
||||||
|
|
||||||
#### 1.2.2. Characteristics
|
#### 1.2.2. Characteristics
|
||||||
|
|
||||||
Typically assumes prior experience with the codebase. As such, issues may not include a detailed implementation description.
|
Open to all volunteer staff team members. May assume some familiarity with the codebase, and issues may not include a detailed implementation description.
|
||||||
|
|
||||||
#### 1.2.3. Expectations
|
#### 1.2.3. Expectations
|
||||||
|
|
||||||
Contributors should review and adhere to the project's contribution guidelines and code of conduct before submitting work on these issues.
|
Team members should review and adhere to the project's contribution guidelines and code of conduct before submitting work on these issues.
|
||||||
|
|
||||||
### 1.3. `contribute: staff only`
|
### 1.3. `contribute: staff only`
|
||||||
|
|
||||||
#### 1.3.1. Purpose
|
#### 1.3.1. Purpose
|
||||||
|
|
||||||
Designates issues restricted to project maintainers or staff due to specific access requirements.
|
Designates issues restricted to executive leadership due to specific access requirements or strategic decisions.
|
||||||
|
|
||||||
#### 1.3.2. Characteristics
|
#### 1.3.2. Characteristics
|
||||||
|
|
||||||
Requires access to production infrastructure for proper testing and implementation. As such, limited to authorised project maintainers and staff.
|
Requires executive-level access, decision-making authority, or involves strategic project direction. Limited to authorised executive leadership team members.
|
||||||
|
|
||||||
#### 1.3.3. Expectations
|
#### 1.3.3. Expectations
|
||||||
|
|
||||||
Staff members working on these issues must adhere to all relevant confidentiality agreements, data protection policies, and internal security protocols.
|
Executive leadership members working on these issues must adhere to all relevant confidentiality agreements, data protection policies, and internal security protocols.
|
||||||
|
|
||||||
### 1.4. Disclaimer
|
### 1.4. Disclaimer
|
||||||
|
|
||||||
Labels are assigned based on the project maintainers' best judgement but may not guarantee the exact level of difficulty or access requirements for every contributor. Contributors should use their discretion and communicate with project maintainers if they have any doubts about their ability to address an issue or comply with any associated legal requirements.
|
Labels are assigned based on the project maintainers' best judgement but may not guarantee the exact level of difficulty or access requirements for every team member. Team members should use their discretion and communicate with project maintainers if they have any doubts about their ability to address an issue or comply with any associated legal requirements.
|
||||||
|
|
||||||
## 2. Aspect Labels
|
## 2. Points Labels
|
||||||
|
|
||||||
These labels indicate the scope of the work required to resolve the issue.
|
Points labels indicate the complexity and effort required to resolve an issue. This helps with capacity planning and workload distribution across the team.
|
||||||
|
|
||||||
### 2.1. `aspect: code`
|
### 2.1. `points: 1`
|
||||||
|
|
||||||
#### 2.1.1. Purpose
|
#### 2.1.1. Purpose
|
||||||
|
|
||||||
Identifies issues requiring changes to the project's codebase.
|
Identifies very simple issues that require minimal effort and complexity.
|
||||||
|
|
||||||
#### 2.1.2. Characteristics
|
#### 2.1.2. Characteristics
|
||||||
|
|
||||||
Involves direct modification to the project's source code. Familiarity with the languages and libraries used is expected.
|
Straightforward tasks that can typically be completed quickly. Examples include minor text corrections, simple configuration changes, or very small bug fixes.
|
||||||
|
|
||||||
#### 2.1.3. Expectations
|
#### 2.1.3. Expectations
|
||||||
|
|
||||||
Contributors must ensure their code changes comply with the project's coding standards, license terms, and any applicable software patents or copyrights.
|
Team members should be able to complete these issues with minimal review time. These are ideal for quick wins and maintaining project momentum.
|
||||||
|
|
||||||
### 2.2. `aspect: dx`
|
### 2.2. `points: 2`
|
||||||
|
|
||||||
#### 2.2.1. Purpose
|
#### 2.2.1. Purpose
|
||||||
|
|
||||||
Indicates issues related to improving the project's tooling and development workflow.
|
Designates simple issues that require a bit more thought or investigation.
|
||||||
|
|
||||||
#### 2.2.2. Characteristics
|
#### 2.2.2. Characteristics
|
||||||
|
|
||||||
May include changes to automated tests, development dependencies, build processes, etc. Understanding of the development workflows is expected.
|
Slightly more complex than 1-point issues but still relatively straightforward. May involve understanding a small portion of the codebase or making changes across a few files.
|
||||||
|
|
||||||
#### 2.2.3. Expectations
|
#### 2.2.3. Expectations
|
||||||
|
|
||||||
Changes to tooling or dependencies must be compatible with the project's overall licensing strategy and not introduce conflicts with existing terms.
|
These issues should be approachable for most team members and can serve as good learning opportunities.
|
||||||
|
|
||||||
### 2.3. `aspect: interface`
|
### 2.3. `points: 3`
|
||||||
|
|
||||||
#### 2.3.1. Purpose
|
#### 2.3.1. Purpose
|
||||||
|
|
||||||
Designates issues that affect the end-user's experience with the project.
|
Indicates moderate complexity issues that require more substantial work.
|
||||||
|
|
||||||
#### 2.3.2. Characteristics
|
#### 2.3.2. Characteristics
|
||||||
|
|
||||||
May require changes in the code, particularly in front-end components. Can include visual modifications like CSS changes or image updates. Understanding of the end-user experience expected.
|
Requires understanding multiple parts of the codebase or implementing features with several components. May involve testing, documentation, and coordination with other parts of the system.
|
||||||
|
|
||||||
#### 2.3.3. Expectations
|
#### 2.3.3. Expectations
|
||||||
|
|
||||||
Contributors must ensure they have the necessary rights to any visual assets introduced or modified. Changes should comply with accessibility standards and regulations where applicable.
|
Team members should have some familiarity with the codebase before tackling these issues. May require more thorough review and testing.
|
||||||
|
|
||||||
### 2.4. `aspect: text`
|
### 2.4. `points: 5`
|
||||||
|
|
||||||
#### 2.4.1. Purpose
|
#### 2.4.1. Purpose
|
||||||
|
|
||||||
Identifies issues related to the project's documentation.
|
Identifies complex issues that require significant effort and expertise.
|
||||||
|
|
||||||
#### 2.4.2. Characteristics
|
#### 2.4.2. Characteristics
|
||||||
|
|
||||||
Typically does not require code changes. Proficiency in technical writing is a must.
|
Involves substantial changes to the codebase, multiple components, or deep understanding of system architecture. May require refactoring, architectural decisions, or integration with external systems.
|
||||||
|
|
||||||
#### 2.4.3. Expectations
|
#### 2.4.3. Expectations
|
||||||
|
|
||||||
Contributors must ensure the accuracy of the information provided in documentation updates. Documentation changes should adhere to any applicable style guides and licensing terms.
|
These issues typically require experienced team members and may involve multiple review cycles. Proper planning and discussion may be necessary before implementation.
|
||||||
|
|
||||||
### 2.5. Disclaimer
|
### 2.5. `points: 8`
|
||||||
|
|
||||||
Aspect labels are assigned based on the primary focus of the issue but may not encompass all potential areas of impact. Contributors are encouraged to consider potential cross-aspect effects of their work and discuss these with project maintainers when in doubt. The project maintainers reserve the right to reassign aspect labels or request additional changes if the submitted work does not align with the intended scope of the issue.
|
#### 2.5.1. Purpose
|
||||||
|
|
||||||
## 3. Goal Labels
|
Designates very complex issues that require extensive work and deep expertise.
|
||||||
|
|
||||||
These labels indicate the primary objective of the issue, reflecting our project's modular approach. They help contributors understand the nature and scope of the changes they'll be making.
|
#### 2.5.2. Characteristics
|
||||||
|
|
||||||
### 3.1. `goal: addition`
|
Major features, significant refactoring, or complex architectural changes. Often involves multiple team members or requires breaking down into smaller sub-tasks.
|
||||||
|
|
||||||
|
#### 2.5.3. Expectations
|
||||||
|
|
||||||
|
These issues should be carefully planned and may need to be broken down into smaller, manageable pieces. Typically assigned to experienced team members with relevant expertise.
|
||||||
|
|
||||||
|
### 2.6. `points: 13`
|
||||||
|
|
||||||
|
#### 2.6.1. Purpose
|
||||||
|
|
||||||
|
Indicates extremely complex issues that represent major undertakings.
|
||||||
|
|
||||||
|
#### 2.6.2. Characteristics
|
||||||
|
|
||||||
|
Epic-level work that significantly impacts the project. Often requires breaking down into multiple smaller issues or involves substantial architectural changes.
|
||||||
|
|
||||||
|
#### 2.6.3. Expectations
|
||||||
|
|
||||||
|
These issues should always be broken down into smaller, trackable pieces. Requires careful planning, coordination, and likely involvement from multiple team members or executive leadership.
|
||||||
|
|
||||||
|
### 2.7. Disclaimer
|
||||||
|
|
||||||
|
Points are assigned based on the project maintainers' assessment of complexity and effort required. Actual time and effort may vary based on individual team member experience, unexpected complications, or changing requirements. Points should be used as a guide for planning and capacity management, not as strict time estimates.
|
||||||
|
|
||||||
|
## 3. Time Labels
|
||||||
|
|
||||||
|
Time labels indicate the expected number of days a developer should allocate for working on an issue. These help with sprint planning and workload management.
|
||||||
|
|
||||||
|
### 3.1. `time: <1 day`
|
||||||
|
|
||||||
#### 3.1.1. Purpose
|
#### 3.1.1. Purpose
|
||||||
|
|
||||||
Identifies issues that involve adding a new feature to the project.
|
Identifies issues that can be completed in less than one day of focused work.
|
||||||
|
|
||||||
#### 3.1.2. Characteristics
|
#### 3.1.2. Characteristics
|
||||||
|
|
||||||
Typically involves creating new code files. Understanding of how different modules in the project integrate with each other is expected.
|
Quick fixes, minor updates, or simple tasks that don't require extensive development time. Typically aligns with 1-2 point issues.
|
||||||
|
|
||||||
#### 3.1.3. Expectations
|
#### 3.1.3. Expectations
|
||||||
|
|
||||||
Contributors must ensure that new features do not infringe on existing patents or copyrights. New code should be compatible with the project's existing license. If introducing third-party libraries or dependencies, their licenses must be compatible with the project's license.
|
These issues should be completable within a single work session. Ideal for maintaining project momentum and addressing quick wins.
|
||||||
|
|
||||||
### 3.2. `goal: fix`
|
### 3.2. `time: 1 day`
|
||||||
|
|
||||||
#### 3.2.1. Purpose
|
#### 3.2.1. Purpose
|
||||||
|
|
||||||
Designates issues aimed at fixing bugs in the project.
|
Designates issues that require approximately one full day of development work.
|
||||||
|
|
||||||
#### 3.2.2. Characteristics
|
#### 3.2.2. Characteristics
|
||||||
|
|
||||||
Typically involves editing code within existing files. Scope should be kept to the specific bug - separate contributions should be made for unrelated bugs.
|
Moderate tasks that can be completed in a focused day of work. May include some investigation, implementation, and basic testing.
|
||||||
|
|
||||||
#### 3.2.3. Expectations
|
#### 3.2.3. Expectations
|
||||||
|
|
||||||
Bug fixes should not introduce new legal issues or licensing conflicts. Contributors should document the nature of the bug and the fix for future reference and potential legal compliance (e.g., security vulnerabilities).
|
Team members should be able to complete these issues within a single day, accounting for review time and potential minor revisions.
|
||||||
|
|
||||||
### 3.3. `goal: improvement`
|
### 3.3. `time: 2-3 days`
|
||||||
|
|
||||||
#### 3.3.1. Purpose
|
#### 3.3.1. Purpose
|
||||||
|
|
||||||
Indicates issues that expand upon or enhance existing features.
|
Indicates issues requiring two to three days of development effort.
|
||||||
|
|
||||||
#### 3.3.2. Characteristics
|
#### 3.3.2. Characteristics
|
||||||
|
|
||||||
Usually involves adding code to existing files. Scope should be kept to the existing feature.
|
More substantial work that involves multiple components, thorough testing, or deeper investigation. May require coordination with other team members.
|
||||||
|
|
||||||
#### 3.3.3. Expectations
|
#### 3.3.3. Expectations
|
||||||
|
|
||||||
Improvements should maintain compatibility with existing licenses and legal obligations. If the improvement significantly changes the functionality, consider if additional legal reviews or updates to user agreements are necessary.
|
These issues should be planned across multiple days, allowing time for implementation, testing, review cycles, and potential revisions.
|
||||||
|
|
||||||
### 3.4. Disclaimer
|
### 3.4. `time: 4-5 days`
|
||||||
|
|
||||||
While goal labels provide guidance on the nature of the task, the actual work required may vary or expand beyond the initial scope. Contributors are encouraged to communicate with project maintainers if they believe a different approach or additional changes are necessary to achieve the goal. The project maintainers reserve the right to request modifications or additional work to ensure that contributions align with the project's goals, standards, and legal requirements.
|
#### 3.4.1. Purpose
|
||||||
|
|
||||||
## 4. Priority Labels
|
Identifies issues that require approximately one week of development work.
|
||||||
|
|
||||||
Priority labels indicate the importance assigned to specific issues by the project maintainers. These labels help guide resource allocation and set expectations for resolution timeframes.
|
#### 3.4.2. Characteristics
|
||||||
|
|
||||||
### 4.1. `priority: critical`
|
Complex features or significant changes that require careful implementation, extensive testing, and multiple review cycles.
|
||||||
|
|
||||||
|
#### 3.4.3. Expectations
|
||||||
|
|
||||||
|
These issues should be allocated sufficient time for thorough development and review. May benefit from breaking down into smaller sub-tasks for better tracking.
|
||||||
|
|
||||||
|
### 3.5. `time: 1-2 weeks`
|
||||||
|
|
||||||
|
#### 3.5.1. Purpose
|
||||||
|
|
||||||
|
Designates issues requiring one to two weeks of focused development effort.
|
||||||
|
|
||||||
|
#### 3.5.2. Characteristics
|
||||||
|
|
||||||
|
Major features or substantial refactoring that requires careful planning, implementation across multiple areas, and comprehensive testing.
|
||||||
|
|
||||||
|
#### 3.5.3. Expectations
|
||||||
|
|
||||||
|
These issues should be carefully planned and may need to be broken down into smaller, trackable milestones. Requires coordination and regular check-ins with the team.
|
||||||
|
|
||||||
|
### 3.6. `time: >2 weeks`
|
||||||
|
|
||||||
|
#### 3.6.1. Purpose
|
||||||
|
|
||||||
|
Indicates issues that require more than two weeks of development work.
|
||||||
|
|
||||||
|
#### 3.6.2. Characteristics
|
||||||
|
|
||||||
|
Epic-level work or major architectural changes that significantly impact the project. Often involves multiple team members and extensive planning.
|
||||||
|
|
||||||
|
#### 3.6.3. Expectations
|
||||||
|
|
||||||
|
These issues must be broken down into smaller, manageable pieces. Require careful project management, regular milestones, and coordination across the team.
|
||||||
|
|
||||||
|
### 3.7. Disclaimer
|
||||||
|
|
||||||
|
Time estimates are based on typical development scenarios and may vary based on individual team member experience, unexpected complications, review cycles, or changing requirements. Time labels should be used as a guide for planning and should be adjusted based on actual progress and circumstances.
|
||||||
|
|
||||||
|
## 4. Aspect Labels
|
||||||
|
|
||||||
|
These labels indicate the scope of the work required to resolve the issue.
|
||||||
|
|
||||||
|
### 4.1. `aspect: code`
|
||||||
|
|
||||||
#### 4.1.1. Purpose
|
#### 4.1.1. Purpose
|
||||||
|
|
||||||
Identifies issues requiring immediate attention due to their severe impact on project usability.
|
Identifies issues requiring changes to the project's codebase.
|
||||||
|
|
||||||
#### 4.1.2. Characteristics
|
#### 4.1.2. Characteristics
|
||||||
|
|
||||||
Require urgent resolution to restore project functionality. Experience with the project is a must, to avoid delays from long review processes.
|
Involves direct modification to the project's source code. Familiarity with the languages and libraries used is expected.
|
||||||
|
|
||||||
#### 4.1.3. Expectations
|
#### 4.1.3. Expectations
|
||||||
|
|
||||||
May involve security vulnerabilities or critical bugs that could lead to legal liabilities if not addressed promptly. Resolution of these issues may need to be reported to relevant stakeholders or authorities in certain cases (e.g., data protection regulators for security breaches).
|
Contributors must ensure their code changes comply with the project's coding standards, license terms, and any applicable software patents or copyrights.
|
||||||
|
|
||||||
### 4.2. `priority: high`
|
### 4.2. `aspect: dx`
|
||||||
|
|
||||||
#### 4.2.1. Purpose
|
#### 4.2.1. Purpose
|
||||||
|
|
||||||
Designates important issues that, while not preventing basic functionality, are impeding further development.
|
Indicates issues related to improving the project's tooling and development workflow.
|
||||||
|
|
||||||
#### 4.2.2. Characteristics
|
#### 4.2.2. Characteristics
|
||||||
|
|
||||||
Not critical for current project operation but blocking future progress. Require prompt attention to unblock development efforts.
|
May include changes to automated tests, development dependencies, build processes, etc. Understanding of the development workflows is expected.
|
||||||
|
|
||||||
#### 4.2.3. Expectations
|
#### 4.2.3. Expectations
|
||||||
|
|
||||||
May involve compliance deadlines or contractual obligations that need to be met. Could impact project timelines, potentially affecting agreements with stakeholders or clients.
|
Changes to tooling or dependencies must be compatible with the project's overall licensing strategy and not introduce conflicts with existing terms.
|
||||||
|
|
||||||
### 4.3. `priority: medium`
|
### 4.3. `aspect: interface`
|
||||||
|
|
||||||
#### 4.3.1. Purpose
|
#### 4.3.1. Purpose
|
||||||
|
|
||||||
Indicates issues that need resolution as soon as possible but are not blocking other development.
|
Designates issues that affect the end-user's experience with the project.
|
||||||
|
|
||||||
#### 4.3.2. Characteristics
|
#### 4.3.2. Characteristics
|
||||||
|
|
||||||
Important for project improvement but not critical for current functionality. Should be addressed in a timely manner but with less urgency than high-priority issues.
|
May require changes in the code, particularly in front-end components. Can include visual modifications like CSS changes or image updates. Understanding of the end-user experience expected.
|
||||||
|
|
||||||
#### 4.3.3. Expectations
|
#### 4.3.3. Expectations
|
||||||
|
|
||||||
May involve improvements to user experience or accessibility, which could have legal implications if neglected long-term. Could relate to optimisations that affect performance guarantees or service level agreements.
|
Contributors must ensure they have the necessary rights to any visual assets introduced or modified. Changes should comply with accessibility standards and regulations where applicable.
|
||||||
|
|
||||||
### 4.4. `priority: low`
|
### 4.4. `aspect: text`
|
||||||
|
|
||||||
#### 4.4.1. Purpose
|
#### 4.4.1. Purpose
|
||||||
|
|
||||||
Represents issues that should be resolved but are not considered urgent.
|
Identifies issues related to the project's documentation.
|
||||||
|
|
||||||
#### 4.4.2. Characteristics
|
#### 4.4.2. Characteristics
|
||||||
|
|
||||||
Desirable improvements or minor issues that don't significantly impact project functionality.
|
Typically does not require code changes. Proficiency in technical writing is a must.
|
||||||
|
|
||||||
#### 4.4.3. Expectations
|
#### 4.4.3. Expectations
|
||||||
|
|
||||||
While not urgent, neglecting these issues over time could lead to technical debt or gradual degradation of project quality, potentially affecting long-term compliance or user satisfaction.
|
Contributors must ensure the accuracy of the information provided in documentation updates. Documentation changes should adhere to any applicable style guides and licensing terms.
|
||||||
|
|
||||||
### 4.5. `priority: none`
|
### 4.5. Disclaimer
|
||||||
|
|
||||||
#### 4.5.1. Purpose
|
Aspect labels are assigned based on the primary focus of the issue but may not encompass all potential areas of impact. Contributors are encouraged to consider potential cross-aspect effects of their work and discuss these with project maintainers when in doubt. The project maintainers reserve the right to reassign aspect labels or request additional changes if the submitted work does not align with the intended scope of the issue.
|
||||||
|
|
||||||
Identifies "nice-to-have" issues that are not essential for project functionality or immediate development goals.
|
## 5. Goal Labels
|
||||||
|
|
||||||
#### 4.5.2. Characteristics
|
These labels indicate the primary objective of the issue, reflecting our project's modular approach. They help contributors understand the nature and scope of the changes they'll be making.
|
||||||
|
|
||||||
Not critical enough to dedicate maintainer time for resolution. Often left for community contributors or future consideration.
|
### 5.1. `goal: addition`
|
||||||
|
|
||||||
#### 4.5.3. Expectations
|
|
||||||
|
|
||||||
While not prioritised, maintainers should periodically review these issues to ensure they haven't become more significant over time, potentially accruing legal or compliance risks.
|
|
||||||
|
|
||||||
### 4.6. Disclaimer
|
|
||||||
|
|
||||||
Priority labels reflect the project maintainers' current assessment and may be subject to change. The presence of a lower-priority label does not diminish the importance of the issue or the value of contributions addressing it. Contributors should communicate with maintainers if they believe an issue's priority should be reassessed due to new information or changing circumstances.
|
|
||||||
|
|
||||||
## 5. Status Labels
|
|
||||||
|
|
||||||
Status labels indicate the current stage of an issue in the project lifecycle. These labels help manage workflow and set expectations for contributors and users.
|
|
||||||
|
|
||||||
### 5.1. `status: awaiting triage`
|
|
||||||
|
|
||||||
#### 5.1.1. Purpose
|
#### 5.1.1. Purpose
|
||||||
|
|
||||||
Identifies newly created issues that have not yet been reviewed by the maintainer team.
|
Identifies issues that involve adding a new feature to the project.
|
||||||
|
|
||||||
#### 5.1.2. Characteristics
|
#### 5.1.2. Characteristics
|
||||||
|
|
||||||
Should be applied to issues when they are opened.
|
Typically involves creating new code files. Understanding of how different modules in the project integrate with each other is expected.
|
||||||
|
|
||||||
#### 5.1.3. Expectations
|
#### 5.1.3. Expectations
|
||||||
|
|
||||||
Contributors should be aware that engaging with these issues is at their own discretion, as the project team has not yet evaluated them. Maintainers should establish a reasonable timeframe for initial triage to manage expectations and potential liability.
|
Contributors must ensure that new features do not infringe on existing patents or copyrights. New code should be compatible with the project's existing license. If introducing third-party libraries or dependencies, their licenses must be compatible with the project's license.
|
||||||
|
|
||||||
### 5.2. `status: blocked`
|
### 5.2. `goal: fix`
|
||||||
|
|
||||||
#### 5.2.1. Purpose
|
#### 5.2.1. Purpose
|
||||||
|
|
||||||
Indicates issues with a planned resolution that depend on the completion of another issue.
|
Designates issues aimed at fixing bugs in the project.
|
||||||
|
|
||||||
#### 5.2.2. Characteristics
|
#### 5.2.2. Characteristics
|
||||||
|
|
||||||
Not yet ready for work but expected to be addressed in the future.
|
Typically involves editing code within existing files. Scope should be kept to the specific bug - separate contributions should be made for unrelated bugs.
|
||||||
|
|
||||||
#### 5.2.3. Expectations
|
#### 5.2.3. Expectations
|
||||||
|
|
||||||
Maintainers should clearly document dependencies to avoid potential conflicts or misunderstandings. Regular review of blocked issues is advisable to prevent indefinite delays that could impact project timelines or contractual obligations.
|
Bug fixes should not introduce new legal issues or licensing conflicts. Contributors should document the nature of the bug and the fix for future reference and potential legal compliance (e.g., security vulnerabilities).
|
||||||
|
|
||||||
### 5.3. `status: discarded`
|
### 5.3. `goal: improvement`
|
||||||
|
|
||||||
#### 5.3.1. Purpose
|
#### 5.3.1. Purpose
|
||||||
|
|
||||||
Designates issues that the project team does not intend to resolve.
|
Indicates issues that expand upon or enhance existing features.
|
||||||
|
|
||||||
#### 5.3.2. Characteristics
|
#### 5.3.2. Characteristics
|
||||||
|
|
||||||
Typically applied to feature requests that don't align with project goals.
|
Usually involves adding code to existing files. Scope should be kept to the existing feature.
|
||||||
|
|
||||||
#### 5.3.3. Expectations
|
#### 5.3.3. Expectations
|
||||||
|
|
||||||
Clearly communicate the rationale for discarding issues to manage user expectations and maintain transparency. Ensure that discarded issues don't conflict with any promised features or contractual obligations.
|
Improvements should maintain compatibility with existing licenses and legal obligations. If the improvement significantly changes the functionality, consider if additional legal reviews or updates to user agreements are necessary.
|
||||||
|
|
||||||
### 5.4. `status: discontinued`
|
### 5.4. Disclaimer
|
||||||
|
|
||||||
#### 5.4.1. Purpose
|
While goal labels provide guidance on the nature of the task, the actual work required may vary or expand beyond the initial scope. Contributors are encouraged to communicate with project maintainers if they believe a different approach or additional changes are necessary to achieve the goal. The project maintainers reserve the right to request modifications or additional work to ensure that contributions align with the project's goals, standards, and legal requirements.
|
||||||
|
|
||||||
Applies to feature requests for projects in maintenance mode.
|
## 6. Priority Labels
|
||||||
|
|
||||||
#### 5.4.2. Characteristics
|
Priority labels indicate the importance assigned to specific issues by the project maintainers. These labels help guide resource allocation and set expectations for resolution timeframes.
|
||||||
|
|
||||||
Indicates no new features will be added, but bug fixes and support continue.
|
### 6.1. `priority: critical`
|
||||||
|
|
||||||
#### 5.4.3. Expectations
|
|
||||||
|
|
||||||
Clearly communicate the project's maintenance status to manage user expectations and potential liability. Ensure that discontinuation doesn't breach any ongoing support agreements or licenses.
|
|
||||||
|
|
||||||
### 5.5. `status: label work required`
|
|
||||||
|
|
||||||
#### 5.5.1. Purpose
|
|
||||||
|
|
||||||
Indicates issues that need proper labelling and categorisation.
|
|
||||||
|
|
||||||
#### 5.5.2. Characteristics
|
|
||||||
|
|
||||||
May have ongoing discussions but lack appropriate classification.
|
|
||||||
|
|
||||||
#### 5.5.3. Expectations
|
|
||||||
|
|
||||||
Proper labelling is crucial for efficient project management and may have implications for compliance tracking and reporting. Establish clear guidelines for labelling to ensure consistency and avoid potential misunderstandings.
|
|
||||||
|
|
||||||
### 5.6. `status: ready for dev`
|
|
||||||
|
|
||||||
#### 5.6.1. Purpose
|
|
||||||
|
|
||||||
Signifies issues that are ready for contribution.
|
|
||||||
|
|
||||||
#### 5.6.2. Characteristics
|
|
||||||
|
|
||||||
May have an assigned contributor who has expressed interest.
|
|
||||||
|
|
||||||
#### 5.6.3. Expectations
|
|
||||||
|
|
||||||
Clearly communicate contribution guidelines and any legal requirements (e.g., Contributor Covenant) to potential contributors. Ensure that collaborative efforts are managed in compliance with project licenses and contributor agreements.
|
|
||||||
|
|
||||||
### 5.7. `status: ticket work required`
|
|
||||||
|
|
||||||
#### 5.7.1. Purpose
|
|
||||||
|
|
||||||
Indicates issues lacking sufficient information for proper triage.
|
|
||||||
|
|
||||||
#### 5.7.2. Characteristics
|
|
||||||
|
|
||||||
Often paired with Conversation Labels for further clarification.
|
|
||||||
|
|
||||||
#### 5.7.3. Expectations
|
|
||||||
|
|
||||||
Establish clear guidelines for required information to avoid potential misunderstandings or misdirected efforts. Be mindful of data privacy when requesting additional information from issue reporters.
|
|
||||||
|
|
||||||
### 5.8. Disclaimer
|
|
||||||
|
|
||||||
Status labels reflect the current assessment of the project team and may change as circumstances evolve. While the project team strives to maintain accurate status labels, contributors and users should communicate with maintainers if they notice any discrepancies or have questions about an issue's status.
|
|
||||||
|
|
||||||
## 6. Conversation Labels
|
|
||||||
|
|
||||||
Conversation labels indicate that an issue has received initial maintainer attention but requires further discussion or information before proceeding. These labels help manage communication and ensure all necessary information is gathered before taking action.
|
|
||||||
|
|
||||||
### 6.1. `talk: discussion`
|
|
||||||
|
|
||||||
#### 6.1.1. Purpose
|
#### 6.1.1. Purpose
|
||||||
|
|
||||||
Identifies issues that are under active discussion but have not yet been accepted for resolution.
|
Identifies issues requiring immediate attention due to their severe impact on project usability.
|
||||||
|
|
||||||
#### 6.1.2. Characteristics
|
#### 6.1.2. Characteristics
|
||||||
|
|
||||||
Ongoing dialogue between maintainers, contributors, and/or users. May involve debates about feature requests, implementation strategies, or project direction.
|
Require urgent resolution to restore project functionality. Experience with the project is a must, to avoid delays from long review processes.
|
||||||
|
|
||||||
#### 6.1.3. Expectations
|
#### 6.1.3. Expectations
|
||||||
|
|
||||||
Ensure discussions remain constructive and adhere to the project's code of conduct. Be cautious about making commitments or promises during discussions that could create legal obligations. Document key decisions and rationales to maintain transparency and provide a record for future reference.
|
May involve security vulnerabilities or critical bugs that could lead to legal liabilities if not addressed promptly. Resolution of these issues may need to be reported to relevant stakeholders or authorities in certain cases (e.g., data protection regulators for security breaches).
|
||||||
|
|
||||||
### 6.2. `talk: question`
|
### 6.2. `priority: high`
|
||||||
|
|
||||||
#### 6.2.1. Purpose
|
#### 6.2.1. Purpose
|
||||||
|
|
||||||
Indicates issues waiting on additional information from the author for proper triage.
|
Designates important issues that, while not preventing basic functionality, are impeding further development.
|
||||||
|
|
||||||
#### 6.2.2. Characteristics
|
#### 6.2.2. Characteristics
|
||||||
|
|
||||||
Requires clarification or more details from the issue creator. Cannot proceed with triage or resolution until the requested information is provided.
|
Not critical for current project operation but blocking future progress. Require prompt attention to unblock development efforts.
|
||||||
|
|
||||||
#### 6.2.3. Expectations
|
#### 6.2.3. Expectations
|
||||||
|
|
||||||
Clearly communicate what information is needed and why it's necessary. Be mindful of data privacy when requesting additional information. Establish and communicate timeframes for expected responses to manage the issue lifecycle efficiently.
|
May involve compliance deadlines or contractual obligations that need to be met. Could impact project timelines, potentially affecting agreements with stakeholders or clients.
|
||||||
|
|
||||||
### 6.3. Disclaimer
|
### 6.3. `priority: medium`
|
||||||
|
|
||||||
Conversation labels indicate ongoing dialogue and do not guarantee that an issue will be implemented or resolved in a specific manner. Participants should understand that project priorities and decisions may change based on new information or project direction.
|
#### 6.3.1. Purpose
|
||||||
|
|
||||||
## 7. Pull Request Labels
|
Indicates issues that need resolution as soon as possible but are not blocking other development.
|
||||||
|
|
||||||
Pull Request (PR) labels are used to indicate the current status of pull requests and guide contributors through the review and merge process.
|
#### 6.3.2. Characteristics
|
||||||
|
|
||||||
### 7.1. `pull: merge conflict`
|
Important for project improvement but not critical for current functionality. Should be addressed in a timely manner but with less urgency than high-priority issues.
|
||||||
|
|
||||||
|
#### 6.3.3. Expectations
|
||||||
|
|
||||||
|
May involve improvements to user experience or accessibility, which could have legal implications if neglected long-term. Could relate to optimisations that affect performance guarantees or service level agreements.
|
||||||
|
|
||||||
|
### 6.4. `priority: low`
|
||||||
|
|
||||||
|
#### 6.4.1. Purpose
|
||||||
|
|
||||||
|
Represents issues that should be resolved but are not considered urgent.
|
||||||
|
|
||||||
|
#### 6.4.2. Characteristics
|
||||||
|
|
||||||
|
Desirable improvements or minor issues that don't significantly impact project functionality.
|
||||||
|
|
||||||
|
#### 6.4.3. Expectations
|
||||||
|
|
||||||
|
While not urgent, neglecting these issues over time could lead to technical debt or gradual degradation of project quality, potentially affecting long-term compliance or user satisfaction.
|
||||||
|
|
||||||
|
### 6.5. `priority: none`
|
||||||
|
|
||||||
|
#### 6.5.1. Purpose
|
||||||
|
|
||||||
|
Identifies "nice-to-have" issues that are not essential for project functionality or immediate development goals.
|
||||||
|
|
||||||
|
#### 6.5.2. Characteristics
|
||||||
|
|
||||||
|
Not critical enough to dedicate maintainer time for resolution. Often left for future consideration or when team capacity allows.
|
||||||
|
|
||||||
|
#### 6.5.3. Expectations
|
||||||
|
|
||||||
|
While not prioritised, maintainers should periodically review these issues to ensure they haven't become more significant over time, potentially accruing legal or compliance risks.
|
||||||
|
|
||||||
|
### 6.6. Disclaimer
|
||||||
|
|
||||||
|
Priority labels reflect the project maintainers' current assessment and may be subject to change. The presence of a lower-priority label does not diminish the importance of the issue or the value of contributions addressing it. Contributors should communicate with maintainers if they believe an issue's priority should be reassessed due to new information or changing circumstances.
|
||||||
|
|
||||||
|
## 7. Status Labels
|
||||||
|
|
||||||
|
Status labels indicate the current stage of an issue in the project lifecycle. These labels help manage workflow and set expectations for contributors and users.
|
||||||
|
|
||||||
|
### 7.1. `status: awaiting triage`
|
||||||
|
|
||||||
#### 7.1.1. Purpose
|
#### 7.1.1. Purpose
|
||||||
|
|
||||||
Indicates that the pull request has conflicts with the target branch.
|
Identifies newly created issues that have not yet been reviewed by the maintainer team.
|
||||||
|
|
||||||
#### 7.1.2. Characteristics
|
#### 7.1.2. Characteristics
|
||||||
|
|
||||||
Conflicts need to be resolved before the PR can be reviewed or merged. May require action from the original contributor or project maintainers.
|
Should be applied to issues when they are opened.
|
||||||
|
|
||||||
#### 7.1.3. Expectations
|
#### 7.1.3. Expectations
|
||||||
|
|
||||||
Clearly communicate the responsibility for resolving conflicts (e.g., whether it's the contributor's or maintainer's role). Ensure that conflict resolution doesn't introduce unintended changes or legal issues (e.g., license conflicts).
|
Contributors should be aware that engaging with these issues is at their own discretion, as the project team has not yet evaluated them. Maintainers should establish a reasonable timeframe for initial triage to manage expectations and potential liability.
|
||||||
|
|
||||||
### 7.2. `pull: ready for review`
|
### 7.2. `status: blocked`
|
||||||
|
|
||||||
#### 7.2.1. Purpose
|
#### 7.2.1. Purpose
|
||||||
|
|
||||||
Signifies that the pull request is not in draft mode and is awaiting maintainer review.
|
Indicates issues with a planned resolution that depend on the completion of another issue.
|
||||||
|
|
||||||
#### 7.2.2. Characteristics
|
#### 7.2.2. Characteristics
|
||||||
|
|
||||||
PR has been submitted as complete and ready for evaluation. Maintainers should prioritise reviewing these PRs.
|
Not yet ready for work but expected to be addressed in the future.
|
||||||
|
|
||||||
#### 7.2.3. Expectations
|
#### 7.2.3. Expectations
|
||||||
|
|
||||||
Ensure contributors understand that "ready for review" doesn't guarantee acceptance or merging. Maintain clear review criteria and communicate them to contributors.
|
Maintainers should clearly document dependencies to avoid potential conflicts or misunderstandings. Regular review of blocked issues is advisable to prevent indefinite delays that could impact project timelines or contractual obligations.
|
||||||
|
|
||||||
### 7.3. `pull: requires update`
|
### 7.3. `status: discarded`
|
||||||
|
|
||||||
#### 7.3.1. Purpose
|
#### 7.3.1. Purpose
|
||||||
|
|
||||||
Indicates that the maintainer team has requested changes to the pull request.
|
Designates issues that the project team does not intend to resolve.
|
||||||
|
|
||||||
#### 7.3.2. Characteristics
|
#### 7.3.2. Characteristics
|
||||||
|
|
||||||
Feedback has been provided, and updates are needed before further review or merging. Requires action from the contributor to address the requested changes.
|
Typically applied to feature requests that don't align with project goals.
|
||||||
|
|
||||||
#### 7.3.3. Expectations
|
#### 7.3.3. Expectations
|
||||||
|
|
||||||
|
Clearly communicate the rationale for discarding issues to manage user expectations and maintain transparency. Ensure that discarded issues don't conflict with any promised features or contractual obligations.
|
||||||
|
|
||||||
|
### 7.4. `status: discontinued`
|
||||||
|
|
||||||
|
#### 7.4.1. Purpose
|
||||||
|
|
||||||
|
Applies to feature requests for projects in maintenance mode.
|
||||||
|
|
||||||
|
#### 7.4.2. Characteristics
|
||||||
|
|
||||||
|
Indicates no new features will be added, but bug fixes and support continue.
|
||||||
|
|
||||||
|
#### 7.4.3. Expectations
|
||||||
|
|
||||||
|
Clearly communicate the project's maintenance status to manage user expectations and potential liability. Ensure that discontinuation doesn't breach any ongoing support agreements or licenses.
|
||||||
|
|
||||||
|
### 7.5. `status: label work required`
|
||||||
|
|
||||||
|
#### 7.5.1. Purpose
|
||||||
|
|
||||||
|
Indicates issues that need proper labelling and categorisation.
|
||||||
|
|
||||||
|
#### 7.5.2. Characteristics
|
||||||
|
|
||||||
|
May have ongoing discussions but lack appropriate classification.
|
||||||
|
|
||||||
|
#### 7.5.3. Expectations
|
||||||
|
|
||||||
|
Proper labelling is crucial for efficient project management and may have implications for compliance tracking and reporting. Establish clear guidelines for labelling to ensure consistency and avoid potential misunderstandings.
|
||||||
|
|
||||||
|
### 7.6. `status: ready for dev`
|
||||||
|
|
||||||
|
#### 7.6.1. Purpose
|
||||||
|
|
||||||
|
Signifies issues that are ready for contribution.
|
||||||
|
|
||||||
|
#### 7.6.2. Characteristics
|
||||||
|
|
||||||
|
May have an assigned contributor who has expressed interest.
|
||||||
|
|
||||||
|
#### 7.6.3. Finding Ready-to-Work Tickets
|
||||||
|
|
||||||
|
All properly triaged tickets with the `status: ready for dev` label are available on our **Staff Tickets** project board: https://git.nhcarrigan.com/nhcarrigan/-/projects/2
|
||||||
|
|
||||||
|
Team members should refer to this project board to find tickets that are ready to be worked on.
|
||||||
|
|
||||||
|
#### 7.6.4. Expectations
|
||||||
|
|
||||||
|
Clearly communicate contribution guidelines and any legal requirements (e.g., Contributor Covenant) to potential contributors. Ensure that collaborative efforts are managed in compliance with project licenses and contributor agreements.
|
||||||
|
|
||||||
|
### 7.7. `status: ticket work required`
|
||||||
|
|
||||||
|
#### 7.7.1. Purpose
|
||||||
|
|
||||||
|
Indicates issues lacking sufficient information for proper triage.
|
||||||
|
|
||||||
|
#### 7.7.2. Characteristics
|
||||||
|
|
||||||
|
Often paired with Conversation Labels for further clarification.
|
||||||
|
|
||||||
|
#### 7.7.3. Expectations
|
||||||
|
|
||||||
|
Establish clear guidelines for required information to avoid potential misunderstandings or misdirected efforts. Be mindful of data privacy when requesting additional information from issue reporters.
|
||||||
|
|
||||||
|
### 7.8. Disclaimer
|
||||||
|
|
||||||
|
Status labels reflect the current assessment of the project team and may change as circumstances evolve. While the project team strives to maintain accurate status labels, contributors and users should communicate with maintainers if they notice any discrepancies or have questions about an issue's status.
|
||||||
|
|
||||||
|
## 8. Conversation Labels
|
||||||
|
|
||||||
|
Conversation labels indicate that an issue has received initial maintainer attention but requires further discussion or information before proceeding. These labels help manage communication and ensure all necessary information is gathered before taking action.
|
||||||
|
|
||||||
|
### 8.1. `talk: discussion`
|
||||||
|
|
||||||
|
#### 8.1.1. Purpose
|
||||||
|
|
||||||
|
Identifies issues that are under active discussion but have not yet been accepted for resolution.
|
||||||
|
|
||||||
|
#### 8.1.2. Characteristics
|
||||||
|
|
||||||
|
Ongoing dialogue between maintainers, contributors, and/or users. May involve debates about feature requests, implementation strategies, or project direction.
|
||||||
|
|
||||||
|
#### 8.1.3. Expectations
|
||||||
|
|
||||||
|
Ensure discussions remain constructive and adhere to the project's code of conduct. Be cautious about making commitments or promises during discussions that could create legal obligations. Document key decisions and rationales to maintain transparency and provide a record for future reference.
|
||||||
|
|
||||||
|
### 8.2. `talk: question`
|
||||||
|
|
||||||
|
#### 8.2.1. Purpose
|
||||||
|
|
||||||
|
Indicates issues waiting on additional information from the author for proper triage.
|
||||||
|
|
||||||
|
#### 8.2.2. Characteristics
|
||||||
|
|
||||||
|
Requires clarification or more details from the issue creator. Cannot proceed with triage or resolution until the requested information is provided.
|
||||||
|
|
||||||
|
#### 8.2.3. Expectations
|
||||||
|
|
||||||
|
Clearly communicate what information is needed and why it's necessary. Be mindful of data privacy when requesting additional information. Establish and communicate timeframes for expected responses to manage the issue lifecycle efficiently.
|
||||||
|
|
||||||
|
### 8.3. Disclaimer
|
||||||
|
|
||||||
|
Conversation labels indicate ongoing dialogue and do not guarantee that an issue will be implemented or resolved in a specific manner. Participants should understand that project priorities and decisions may change based on new information or project direction.
|
||||||
|
|
||||||
|
## 9. Pull Request Labels
|
||||||
|
|
||||||
|
Pull Request (PR) labels are used to indicate the current status of pull requests and guide contributors through the review and merge process.
|
||||||
|
|
||||||
|
### 9.1. `pull: merge conflict`
|
||||||
|
|
||||||
|
#### 9.1.1. Purpose
|
||||||
|
|
||||||
|
Indicates that the pull request has conflicts with the target branch.
|
||||||
|
|
||||||
|
#### 9.1.2. Characteristics
|
||||||
|
|
||||||
|
Conflicts need to be resolved before the PR can be reviewed or merged. May require action from the original contributor or project maintainers.
|
||||||
|
|
||||||
|
#### 9.1.3. Expectations
|
||||||
|
|
||||||
|
Clearly communicate the responsibility for resolving conflicts (e.g., whether it's the contributor's or maintainer's role). Ensure that conflict resolution doesn't introduce unintended changes or legal issues (e.g., license conflicts).
|
||||||
|
|
||||||
|
### 9.2. `pull: ready for review`
|
||||||
|
|
||||||
|
#### 9.2.1. Purpose
|
||||||
|
|
||||||
|
Signifies that the pull request is not in draft mode and is awaiting maintainer review.
|
||||||
|
|
||||||
|
#### 9.2.2. Characteristics
|
||||||
|
|
||||||
|
PR has been submitted as complete and ready for evaluation. Maintainers should prioritise reviewing these PRs.
|
||||||
|
|
||||||
|
#### 9.2.3. Expectations
|
||||||
|
|
||||||
|
Ensure contributors understand that "ready for review" doesn't guarantee acceptance or merging. Maintain clear review criteria and communicate them to contributors.
|
||||||
|
|
||||||
|
### 9.3. `pull: requires update`
|
||||||
|
|
||||||
|
#### 9.3.1. Purpose
|
||||||
|
|
||||||
|
Indicates that the maintainer team has requested changes to the pull request.
|
||||||
|
|
||||||
|
#### 9.3.2. Characteristics
|
||||||
|
|
||||||
|
Feedback has been provided, and updates are needed before further review or merging. Requires action from the contributor to address the requested changes.
|
||||||
|
|
||||||
|
#### 9.3.3. Expectations
|
||||||
|
|
||||||
Clearly document requested changes to maintain transparency and avoid misunderstandings. Consider setting timeframes for updates to manage the PR lifecycle effectively.
|
Clearly document requested changes to maintain transparency and avoid misunderstandings. Consider setting timeframes for updates to manage the PR lifecycle effectively.
|
||||||
|
|
||||||
### 7.4. Disclaimer
|
### 9.4. Disclaimer
|
||||||
|
|
||||||
The presence of these labels does not guarantee that a pull request will be merged. All contributions must still meet the project's quality standards, guidelines, and legal requirements.
|
The presence of these labels does not guarantee that a pull request will be merged. All contributions must still meet the project's quality standards, guidelines, and legal requirements.
|
||||||
|
|
||||||
## 8. Continuous Improvement
|
## 10. Continuous Improvement
|
||||||
|
|
||||||
We encourage all project participants to provide feedback on our labelling system. If you have suggestions for improvements or notice any inconsistencies, please reach out to us in our [Discord community](https://chat.nhcarrigan.com).
|
We encourage all project participants to provide feedback on our labelling system. If you have suggestions for improvements or notice any inconsistencies, please reach out to us in our [Discord community](https://chat.nhcarrigan.com).
|
||||||
|
|
||||||
## 9. Legal Notice
|
## 11. Legal Notice
|
||||||
|
|
||||||
This labels documentation is provided for informational purposes and to facilitate project management. It does not constitute a legal agreement. All contributions to the project must comply with the project's license, contributor agreement (if applicable), and relevant laws and regulations.
|
This labels documentation is provided for informational purposes and to facilitate project management. It does not constitute a legal agreement. All contributions to the project must comply with the project's license, contributor agreement (if applicable), and relevant laws and regulations.
|
||||||
|
|
||||||
|
|||||||
@@ -1,428 +0,0 @@
|
|||||||
---
|
|
||||||
title: Server Setup
|
|
||||||
---
|
|
||||||
|
|
||||||
**ESTABLISHING SERVER CONFIGURATION STANDARDS AND SECURITY REQUIREMENTS**
|
|
||||||
|
|
||||||
## 1. INTRODUCTION AND LEGAL FRAMEWORK
|
|
||||||
|
|
||||||
### 1.1. Policy Overview
|
|
||||||
|
|
||||||
This Server Setup Documentation (hereinafter referred to as "the Documentation") establishes mandatory standards, procedures, and security requirements for configuring remote servers used to host projects maintained by our organisation. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Security Policy, and all applicable legal protections by reference.
|
|
||||||
|
|
||||||
### 1.2. Scope and Applicability
|
|
||||||
|
|
||||||
This Documentation applies to all remote servers used to host projects, services, or infrastructure maintained by our organisation. All personnel responsible for server configuration, deployment, or maintenance must comply with the standards set forth in this Documentation.
|
|
||||||
|
|
||||||
**IMPORTANT: Non-compliance with server security and configuration standards set forth in this Documentation may result in security vulnerabilities, service disruptions, or other serious consequences. All server administrators must strictly adhere to these requirements.**
|
|
||||||
|
|
||||||
### 1.3. Security and Compliance Requirements
|
|
||||||
|
|
||||||
Server configuration must comply with:
|
|
||||||
- Our Security Policy and security standards
|
|
||||||
- Applicable data protection and privacy regulations
|
|
||||||
- Industry best practices for server security
|
|
||||||
- All relevant legal and regulatory requirements
|
|
||||||
|
|
||||||
## 2. PROVISIONING A SERVER
|
|
||||||
|
|
||||||
We use DigitalOcean as our provider. Regardless of your choice, provision a new VPS using the **latest Ubuntu LTS version**. Add your `ssh` key AND Naomi's `ssh` key in the setup process.
|
|
||||||
|
|
||||||
## 3. SETTING UP USER ACCOUNTS
|
|
||||||
|
|
||||||
You should never run applications on root. SSH into the new VPS to prepare your user.
|
|
||||||
|
|
||||||
### 3.1. Creating the User Account
|
|
||||||
|
|
||||||
You'll need to set a password for the `root` account first.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
passwd
|
|
||||||
```
|
|
||||||
|
|
||||||
Once you have set a password, ensure that you have provided it to Naomi to store in the vault.
|
|
||||||
|
|
||||||
Create an `NHCarrigan` user for our organisation.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
adduser NHCarrigan
|
|
||||||
```
|
|
||||||
|
|
||||||
Set a **different** password, and provide that to Naomi as well. For all of the user information, use the default blank values.
|
|
||||||
|
|
||||||
Add the new user to the sudoers file.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
usermod -aG sudo NHCarrigan
|
|
||||||
```
|
|
||||||
|
|
||||||
Then sync the SSH keys so we can authenticate as that user.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rsync --archive --chown=NHCarrigan:NHCarrigan ~/.ssh /home/NHCarrigan
|
|
||||||
```
|
|
||||||
|
|
||||||
While you are there, set the timezone for the server to our business' local timezone.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo timedatectl set-timezone America/Los_Angeles
|
|
||||||
```
|
|
||||||
|
|
||||||
## 4. PREPARING FOR WEB REQUESTS
|
|
||||||
|
|
||||||
To prepare the server to receive web requests, you'll need to follow a few steps.
|
|
||||||
|
|
||||||
### 4.1. SSL Certificate Configuration
|
|
||||||
|
|
||||||
:::note
|
|
||||||
If the Firewall has been set up, you'll need to temporarily allow port 80 for the certificate to generate.
|
|
||||||
:::
|
|
||||||
|
|
||||||
We use LetsEncrypt to provision our SSL certificates. If it is not installed, install it with:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo snap install --classic certbot
|
|
||||||
```
|
|
||||||
|
|
||||||
Then link the snap to our `usr` directory.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
|
||||||
```
|
|
||||||
|
|
||||||
Generate a certificate with:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo certbot certonly --standalone
|
|
||||||
```
|
|
||||||
|
|
||||||
And allow applications to read it:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo chmod -R a+rwx /etc/letsencrypt
|
|
||||||
```
|
|
||||||
|
|
||||||
When you need to renew the certificate:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo certbot renew
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4.2. NGINX Configuration
|
|
||||||
|
|
||||||
All requests should be routed through NGINX. At no point should an application run directly on ports 80 or 443.
|
|
||||||
|
|
||||||
Install NGINX:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt-get install nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
Edit the configuration file:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo emacs /etc/nginx/conf.d/server.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
Use this template to set up a reverse proxy on the standard HTTPS port 443:
|
|
||||||
|
|
||||||
```nginx
|
|
||||||
server {
|
|
||||||
listen 443 ssl;
|
|
||||||
server_name subdomain.domain.tld;
|
|
||||||
ssl_certificate /etc/letsencrypt/live/subdomain.domain.tld/fullchain.pem;
|
|
||||||
ssl_certificate_key /etc/letsencrypt/live/subdomain.domain.tld/privkey.pem;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_pass https://127.0.0.1:port;
|
|
||||||
proxy_redirect off;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Validate that the config is correct with:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo nginx -t
|
|
||||||
```
|
|
||||||
|
|
||||||
If so, restart NGINX to apply the changes:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo systemctl restart nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
## 5. SECURING THE SERVER
|
|
||||||
|
|
||||||
We have a minimum level of security that is required on ALL of our servers. This section should not be treated as the best effort, but as the minimal requirements to comply with our policies.
|
|
||||||
|
|
||||||
### 5.1. Firewall Configuration
|
|
||||||
|
|
||||||
We use `ufw` as our firewall. First, enable the SSH port.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo ufw allow "OpenSSH"
|
|
||||||
```
|
|
||||||
|
|
||||||
Then, allow the standard HTTPS port and **deny** the standard HTTP port.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo ufw deny http
|
|
||||||
sudo ufw allow https
|
|
||||||
```
|
|
||||||
|
|
||||||
Enable the firewall. You may get dropped from the SSH connection.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo ufw enable
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5.2. Fail2Ban Configuration
|
|
||||||
|
|
||||||
We also use Fail2Ban to block IP addresses which fail to make requests too often.
|
|
||||||
|
|
||||||
Install the tool:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt-get install fail2ban
|
|
||||||
```
|
|
||||||
|
|
||||||
Configure the NGINX jail in `/etc/fail2ban/jail.d/nginx-auth.conf`:
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[nginx-auth]
|
|
||||||
enabled = true
|
|
||||||
filter = nginx-auth
|
|
||||||
logpath = /var/log/nginx/access.log
|
|
||||||
maxretry = 3
|
|
||||||
findtime = 86400
|
|
||||||
bantime = 86400
|
|
||||||
```
|
|
||||||
|
|
||||||
Configure the NGINX filter in `/etc/fail2ban/filter.d/nginx-auth.conf`:
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[Definition]
|
|
||||||
failregex = ^<HOST> - .* \[.*\] ".*" (4\d{2}) .*$
|
|
||||||
```
|
|
||||||
|
|
||||||
Because we use Cloudflare, you'll need to grab the original IP for all requests. Start by creating a file to store Cloudflare's IPs.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo touch /etc/nginx/cloudflare_ips.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
Then create your script:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nano ~/update_cf_ips.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Create a temporary file
|
|
||||||
temp_file=$(mktemp)
|
|
||||||
|
|
||||||
# Download IPv4 ranges and format each line
|
|
||||||
curl -s https://www.cloudflare.com/ips-v4 | while read ip; do
|
|
||||||
echo "set_real_ip_from $ip;" >> "$temp_file"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Download IPv6 ranges and format each line
|
|
||||||
curl -s https://www.cloudflare.com/ips-v6 | while read ip; do
|
|
||||||
echo "set_real_ip_from $ip;" >> "$temp_file"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Add the real_ip_header directive
|
|
||||||
echo "real_ip_header CF-Connecting-IP;" >> "$temp_file"
|
|
||||||
|
|
||||||
# Replace the old file with the new one
|
|
||||||
sudo mv "$temp_file" /etc/nginx/cloudflare_ips.conf
|
|
||||||
|
|
||||||
# Test Nginx configuration
|
|
||||||
sudo nginx -t
|
|
||||||
|
|
||||||
# If the test is successful, reload Nginx
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
sudo systemctl reload nginx
|
|
||||||
echo "Nginx configuration updated and reloaded successfully."
|
|
||||||
else
|
|
||||||
echo "Nginx configuration test failed. Please check your configuration."
|
|
||||||
fi
|
|
||||||
```
|
|
||||||
|
|
||||||
Make it executable and run it:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo chmod +x update_cf_ips.sh
|
|
||||||
sudo ./update_cf_ips.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
If it runs as expected, set it up to run on a CRON.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo crontab -e
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
0 3 * * 1 ~/update_cf_ips.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
Then, update the `/etc/nginx/nginx.conf` to use all of this new logic. This goes at the end of your `http` directive block.
|
|
||||||
|
|
||||||
```nginx
|
|
||||||
# Look at the real IP, not the cloudflare IP.
|
|
||||||
include /etc/nginx/cloudflare_ips.conf;
|
|
||||||
|
|
||||||
log_format custom_format '$remote_addr - $remote_user [$time_local] '
|
|
||||||
'"$request" $status $body_bytes_sent '
|
|
||||||
'"$http_referer" "$http_user_agent" '
|
|
||||||
'"$http_x_forwarded_for"';
|
|
||||||
|
|
||||||
access_log /var/log/nginx/access.log custom_format;
|
|
||||||
```
|
|
||||||
|
|
||||||
Confirm the NGINX configuration is correct:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo nginx -t
|
|
||||||
```
|
|
||||||
|
|
||||||
Then restart everything.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo systemctl restart nginx
|
|
||||||
sudo systemctl restart fail2ban
|
|
||||||
```
|
|
||||||
|
|
||||||
To view banned IPs:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo fail2ban-client status nginx-auth
|
|
||||||
```
|
|
||||||
|
|
||||||
And to unban them:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo fail2ban-client set nginx-auth unbanip <ip>
|
|
||||||
```
|
|
||||||
|
|
||||||
## 6. UPLOADING PROJECTS
|
|
||||||
|
|
||||||
To upload a project, you should **not** use `git` to clone the project to the machine. Instead, start by cloning the project to your local environment and navigating to the directory:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone <url>
|
|
||||||
cd /path/to/project
|
|
||||||
```
|
|
||||||
|
|
||||||
Then sync the project up to the machine, ignoring any installed packages.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rsync -av --exclude='node_modules' ./ <server name>:/home/NHCarrigan/<project directory>
|
|
||||||
```
|
|
||||||
|
|
||||||
## 7. RUNNING PROJECTS
|
|
||||||
|
|
||||||
Now you are ready to start running the project.
|
|
||||||
|
|
||||||
### 7.1. Node.js Setup
|
|
||||||
|
|
||||||
Most of our projects will run on Node. For a new machine, you'll need to set that up.
|
|
||||||
|
|
||||||
We use `nvm` to manage Node versions. Fetch and run the install script:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
|
|
||||||
```
|
|
||||||
|
|
||||||
The script will automatically update the `.bashrc` file to load `nvm` into the PATH. Reload that:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
source ~/.bashrc
|
|
||||||
```
|
|
||||||
|
|
||||||
Install the long-term support Node version.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nvm install --lts
|
|
||||||
```
|
|
||||||
|
|
||||||
This should automatically set it as the default. When updating, be sure to remove any older versions!
|
|
||||||
|
|
||||||
Finally, install `pnpm` as the package manager.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm i -g pnpm
|
|
||||||
```
|
|
||||||
|
|
||||||
### 7.2. PM2 Process Management
|
|
||||||
|
|
||||||
All of our processes run with PM2 to allow for monitoring and auto-restarts. You'll need to install it.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm i -g pm2
|
|
||||||
```
|
|
||||||
|
|
||||||
To start a project, use this template:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pm2 start '<script>' --name '<name>'
|
|
||||||
```
|
|
||||||
|
|
||||||
Then run `pm2 save` to save the application list.
|
|
||||||
|
|
||||||
## 8. LIMITATION OF LIABILITY AND DISCLAIMERS
|
|
||||||
|
|
||||||
### 8.1. Reference to Comprehensive Liability Framework
|
|
||||||
|
|
||||||
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
|
|
||||||
|
|
||||||
### 8.2. Server Configuration Disclaimer
|
|
||||||
|
|
||||||
This Documentation establishes mandatory security and configuration standards. However, compliance with these standards does not guarantee:
|
|
||||||
|
|
||||||
- Complete protection against all security threats or vulnerabilities
|
|
||||||
- Uninterrupted service availability or performance
|
|
||||||
- Compatibility with all applications or use cases
|
|
||||||
- Protection against all forms of attack or compromise
|
|
||||||
|
|
||||||
### 8.3. Security Disclaimer
|
|
||||||
|
|
||||||
While this Documentation establishes security requirements, server administrators are responsible for:
|
|
||||||
|
|
||||||
- Implementing additional security measures appropriate to their specific threat environment
|
|
||||||
- Regularly updating and patching all software and dependencies
|
|
||||||
- Monitoring server logs and security alerts
|
|
||||||
- Responding promptly to security incidents
|
|
||||||
- Maintaining compliance with all applicable security regulations and standards
|
|
||||||
|
|
||||||
### 8.4. Third-Party Services and Tools
|
|
||||||
|
|
||||||
This Documentation references various third-party services, tools, and software packages. Our organisation:
|
|
||||||
|
|
||||||
- Does not guarantee the security, availability, or functionality of third-party services
|
|
||||||
- Is not responsible for issues arising from the use of third-party tools or services
|
|
||||||
- Recommends that administrators review third-party licenses, terms of service, and security practices
|
|
||||||
- Does not provide support for third-party tools beyond what is necessary for project functionality
|
|
||||||
|
|
||||||
### 8.5. Technical Accuracy Disclaimer
|
|
||||||
|
|
||||||
While we strive to maintain accurate and current information in this Documentation, technical standards, software versions, and security best practices evolve continuously. Server administrators are responsible for:
|
|
||||||
|
|
||||||
- Verifying current software versions and compatibility
|
|
||||||
- Adapting configurations to their specific system requirements
|
|
||||||
- Ensuring compliance with current security standards and regulations
|
|
||||||
- Consulting additional resources for the most current security recommendations
|
|
||||||
|
|
||||||
## 9. CONCLUSION
|
|
||||||
|
|
||||||
This Server Setup Documentation establishes mandatory standards and procedures for configuring remote servers used to host projects maintained by our organisation. Strict adherence to these requirements is essential for maintaining security, reliability, and compliance with our organisational policies and legal obligations.
|
|
||||||
|
|
||||||
All personnel responsible for server configuration, deployment, or maintenance must familiarise themselves with and comply with the requirements set forth in this Documentation. Questions about server configuration requirements or security standards should be directed to appropriate technical leadership through designated communication channels.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
*For questions about server configuration requirements or to suggest improvements, please contact technical leadership through the designated channels outlined in our Security Policy.*
|
|
||||||
@@ -12,10 +12,12 @@ This Style Guide (hereinafter referred to as "the Guide") establishes mandatory
|
|||||||
|
|
||||||
### 1.2. Scope and Applicability
|
### 1.2. Scope and Applicability
|
||||||
|
|
||||||
This Guide applies to all code contributions, regardless of contributor status, project type, or development context. All contributors are required to comply with the standards set forth in this Guide.
|
This Guide applies to all code contributions to NHCarrigan-maintained repositories, regardless of contributor status. All contributors to our projects are required to comply with the standards set forth in this Guide.
|
||||||
|
|
||||||
**IMPORTANT: Non-compliance with this Guide may result in rejection of contributions, requests for modification, or other appropriate actions as determined by project maintainers.**
|
**IMPORTANT: Non-compliance with this Guide may result in rejection of contributions, requests for modification, or other appropriate actions as determined by project maintainers.**
|
||||||
|
|
||||||
|
**Note for Mentorship Programme Participants:** This Guide governs contributions to NHCarrigan-maintained repositories only. It does not apply to your flagship project. Your flagship project is your own intellectual property, and you are entirely free to set your own style standards, choose your own licence, and use your own copyright attribution.
|
||||||
|
|
||||||
### 1.3. Legal Compliance and Intellectual Property
|
### 1.3. Legal Compliance and Intellectual Property
|
||||||
|
|
||||||
All code contributions must comply with:
|
All code contributions must comply with:
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
---
|
|
||||||
title: Naomi's VTubing Setup
|
|
||||||
---
|
|
||||||
|
|
||||||
Naomi uses her VTuber model for all of her client meetings, as well as streaming. Getting the software to work on Linux is a bit of a nightmare, so this page documents how she does so.
|
|
||||||
|
|
||||||
## 1. OpenSeeFace
|
|
||||||
|
|
||||||
In order to track her webcamera, OpenSeeFace needs to be run independently as a native script.
|
|
||||||
|
|
||||||
### 1.1. Installation
|
|
||||||
|
|
||||||
This should all be done in your home `~` directory.
|
|
||||||
|
|
||||||
- Begin by cloning the repository:
|
|
||||||
- `git clone https://github.com/emilianavt/OpenSeeFace`
|
|
||||||
- `cd OpenSeeFace`
|
|
||||||
- You will need to prepare Python
|
|
||||||
- Install the packages: `yay -Sy python python-virtualenv`
|
|
||||||
- Prepare the environment: `virtualenv -p python3 env`
|
|
||||||
- Source the environment: `source env/bin/activate`
|
|
||||||
- Install the dependencies: `pip3 install onnxruntime opencv-python pillow numpy`
|
|
||||||
|
|
||||||
### 1.2. Running
|
|
||||||
|
|
||||||
```
|
|
||||||
cd OpenSeeFace
|
|
||||||
source env/bin/activate
|
|
||||||
python facetracker.py -c 0 -W 1280 -H 720 --discard-after 0 --scan-every 0 --no-3d-adapt 1 --max-feature-updates 900
|
|
||||||
```
|
|
||||||
|
|
||||||
## 2. VSeeFace
|
|
||||||
|
|
||||||
VSeeFace does not run natively, and will need to run with Wine.
|
|
||||||
|
|
||||||
### 2.1. Installation
|
|
||||||
|
|
||||||
[Download and run the installer](https://www.vseeface.icu/#download). When selecting a directory, put it in `~/VSeeFace`.
|
|
||||||
|
|
||||||
### 2.2. Running
|
|
||||||
|
|
||||||
```bash
|
|
||||||
wine ~/VSeeFace/VSeeFace.exe --background-color "#00FF00"
|
|
||||||
```
|
|
||||||
|
|
||||||
The `--background-color` flag creates a green screen background to be chroma-keyed out by OBS.
|
|
||||||
|
|
||||||
## 3. OBS
|
|
||||||
|
|
||||||
OBS allows for virtual camera, as well as for streaming.
|
|
||||||
|
|
||||||
### 3.1. Installation
|
|
||||||
|
|
||||||
The `obs-studio-git` AUR package is Naomi's current installation.
|
|
||||||
@@ -446,6 +446,12 @@ When handling data through our services:
|
|||||||
|
|
||||||
### 8.1. Monitoring and Detection
|
### 8.1. Monitoring and Detection
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
We employ various methods to monitor compliance with this AUP:
|
We employ various methods to monitor compliance with this AUP:
|
||||||
|
|
||||||
**(a)** **Automated Monitoring**: Automated systems to detect prohibited activities;
|
**(a)** **Automated Monitoring**: Automated systems to detect prohibited activities;
|
||||||
@@ -664,6 +670,8 @@ For questions about this AUP:
|
|||||||
|
|
||||||
To report policy violations:
|
To report policy violations:
|
||||||
|
|
||||||
|
**Incident Report Form** (Preferred): Submit reports through our official Incident Report Form: https://forms.nhcarrigan.com/o/docs/forms/t7CYeYS4uyUuLiKFatoEvs/4
|
||||||
|
|
||||||
**Email:** abuse@nhcarrigan.com
|
**Email:** abuse@nhcarrigan.com
|
||||||
|
|
||||||
**Subject Line:** Policy Violation Report - [Service/Platform]
|
**Subject Line:** Policy Violation Report - [Service/Platform]
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ This policy applies to all forms of support exchange within our community platfo
|
|||||||
- Assistance with community projects and initiatives
|
- Assistance with community projects and initiatives
|
||||||
- Collaborative problem-solving on shared challenges
|
- Collaborative problem-solving on shared challenges
|
||||||
- Skill sharing and mentorship opportunities
|
- Skill sharing and mentorship opportunities
|
||||||
- Accessibility assistance and accommodation support
|
- Accessibility assistance and accommodation support (request accommodations via our [Accessibility Accommodation Request Form](https://forms.nhcarrigan.com/o/docs/forms/2FXY87PB6aaMHspcnXYCZX/4))
|
||||||
- Platform-specific guidance and orientation
|
- Platform-specific guidance and orientation
|
||||||
|
|
||||||
#### 2.1.2. Specialised Support Areas
|
#### 2.1.2. Specialised Support Areas
|
||||||
@@ -100,7 +100,6 @@ This policy applies to all forms of support exchange within our community platfo
|
|||||||
#### 2.2.1. Identifying Appropriate Support Channels
|
#### 2.2.1. Identifying Appropriate Support Channels
|
||||||
|
|
||||||
**Platform-Specific Guidelines:**
|
**Platform-Specific Guidelines:**
|
||||||
- **Discord**: Use designated support channels (#general-support, #tech-help) or reach out to trusted community members
|
|
||||||
- **Discord Forums**: Create posts in appropriate forum channels with clear, descriptive titles
|
- **Discord Forums**: Create posts in appropriate forum channels with clear, descriptive titles
|
||||||
- **Reddit**: Utilise community-specific support threads and appropriate flair
|
- **Reddit**: Utilise community-specific support threads and appropriate flair
|
||||||
- **GitHub**: Use issue templates for bug reports, feature requests, and technical support
|
- **GitHub**: Use issue templates for bug reports, feature requests, and technical support
|
||||||
@@ -136,6 +135,12 @@ This policy applies to all forms of support exchange within our community platfo
|
|||||||
|
|
||||||
#### 2.2.3. Emergency and Crisis Support
|
#### 2.2.3. Emergency and Crisis Support
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
**Important Limitations:**
|
**Important Limitations:**
|
||||||
- Community members are **NOT** mental health professionals
|
- Community members are **NOT** mental health professionals
|
||||||
- Peer support does **NOT** replace professional mental health services
|
- Peer support does **NOT** replace professional mental health services
|
||||||
@@ -311,7 +316,7 @@ This policy applies to all forms of support exchange within our community platfo
|
|||||||
**Designated Support Channels:**
|
**Designated Support Channels:**
|
||||||
- **#support**: General questions and peer support requests
|
- **#support**: General questions and peer support requests
|
||||||
- **#support-ticket**: Technical assistance and troubleshooting
|
- **#support-ticket**: Technical assistance and troubleshooting
|
||||||
- **#accessibility**: Accessibility-related assistance and resources
|
- **#accessibility**: Accessibility-related assistance and resources (for accommodation requests, use our [Accessibility Accommodation Request Form](https://forms.nhcarrigan.com/o/docs/forms/2FXY87PB6aaMHspcnXYCZX/4))
|
||||||
- **Identity-specific channels**: Support spaces for specific communities and identities
|
- **Identity-specific channels**: Support spaces for specific communities and identities
|
||||||
|
|
||||||
**Direct Message Guidelines:**
|
**Direct Message Guidelines:**
|
||||||
|
|||||||
@@ -242,6 +242,12 @@ Prohibited misinformation and deceptive practices include:
|
|||||||
|
|
||||||
### 4.1. Multi-Layered Moderation System
|
### 4.1. Multi-Layered Moderation System
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
Our moderation approach employs multiple layers:
|
Our moderation approach employs multiple layers:
|
||||||
|
|
||||||
**(a)** **Automated Detection**: AI and machine learning systems for initial content screening;
|
**(a)** **Automated Detection**: AI and machine learning systems for initial content screening;
|
||||||
@@ -454,7 +460,7 @@ Effective reports should include:
|
|||||||
|
|
||||||
### 6.3. Community Moderation Programme
|
### 6.3. Community Moderation Programme
|
||||||
|
|
||||||
We may establish community moderation programmes that include:
|
We establish community moderation programmes that include:
|
||||||
|
|
||||||
**(a)** **Volunteer Moderators**: Community volunteers who help with content moderation;
|
**(a)** **Volunteer Moderators**: Community volunteers who help with content moderation;
|
||||||
|
|
||||||
@@ -578,6 +584,12 @@ Appeal decisions may result in:
|
|||||||
|
|
||||||
### 8.1. Transparency Reporting
|
### 8.1. Transparency Reporting
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
We are committed to transparency in our moderation practices through:
|
We are committed to transparency in our moderation practices through:
|
||||||
|
|
||||||
**(a)** **Moderation Reports**: Regular reports on moderation activities and statistics;
|
**(a)** **Moderation Reports**: Regular reports on moderation activities and statistics;
|
||||||
|
|||||||
@@ -276,6 +276,12 @@ Our reporting obligations vary by jurisdiction and may include:
|
|||||||
|
|
||||||
### 4.4. Emergency Contact Protocols
|
### 4.4. Emergency Contact Protocols
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
For immediate emergencies, we maintain:
|
For immediate emergencies, we maintain:
|
||||||
|
|
||||||
**(a)** **Emergency Services:** Direct contact information for emergency services in major jurisdictions;
|
**(a)** **Emergency Services:** Direct contact information for emergency services in major jurisdictions;
|
||||||
@@ -296,6 +302,12 @@ For immediate emergencies, we maintain:
|
|||||||
|
|
||||||
## 5. RESOURCES AND REFERRALS
|
## 5. RESOURCES AND REFERRALS
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
### 5.1. Crisis Resources Database
|
### 5.1. Crisis Resources Database
|
||||||
|
|
||||||
We maintain an up-to-date database of:
|
We maintain an up-to-date database of:
|
||||||
|
|||||||
@@ -618,7 +618,7 @@ Changes to this Policy will be communicated through:
|
|||||||
|
|
||||||
**(b)** Email notifications to registered users;
|
**(b)** Email notifications to registered users;
|
||||||
|
|
||||||
**(c)** Community forum announcements and discussions;
|
**(c)** Community announcements and discussions;
|
||||||
|
|
||||||
**(d)** Documentation updates with clear change logs.
|
**(d)** Documentation updates with clear change logs.
|
||||||
|
|
||||||
|
|||||||
@@ -402,6 +402,12 @@ For cloud and remote service provision:
|
|||||||
|
|
||||||
### 6.1. Automated Monitoring Systems
|
### 6.1. Automated Monitoring Systems
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
We employ automated systems for compliance monitoring including:
|
We employ automated systems for compliance monitoring including:
|
||||||
|
|
||||||
**(a)** **Real-Time Screening**: Real-time screening of all user registrations and transactions against sanctions lists;
|
**(a)** **Real-Time Screening**: Real-time screening of all user registrations and transactions against sanctions lists;
|
||||||
|
|||||||
@@ -290,6 +290,12 @@ This report is updated according to the following schedule:
|
|||||||
|
|
||||||
### 7.4. Verification and Accuracy
|
### 7.4. Verification and Accuracy
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
We ensure report accuracy through:
|
We ensure report accuracy through:
|
||||||
|
|
||||||
**(a)** **Multi-Source Verification:** Cross-referencing multiple internal sources;
|
**(a)** **Multi-Source Verification:** Cross-referencing multiple internal sources;
|
||||||
|
|||||||
@@ -1877,7 +1877,7 @@ When We elect to provide notice of termination, such notice may be delivered thr
|
|||||||
|
|
||||||
**(a)** Email to Your last known email address;
|
**(a)** Email to Your last known email address;
|
||||||
|
|
||||||
**(b)** Posting on Our website or repository;
|
**(b)** Posting on Our website, repository, or community forums;
|
||||||
|
|
||||||
**(c)** Direct communication through any platform or service You use to access Our Software;
|
**(c)** Direct communication through any platform or service You use to access Our Software;
|
||||||
|
|
||||||
@@ -1927,7 +1927,7 @@ We reserve the unrestricted right to modify, amend, update, or replace any terms
|
|||||||
|
|
||||||
When We make changes to this Licence, We will make reasonable efforts to notify affected users through:
|
When We make changes to this Licence, We will make reasonable efforts to notify affected users through:
|
||||||
|
|
||||||
**(a)** Announcements in Our chat channels;
|
**(a)** Announcements in Our community forums and chat channels;
|
||||||
|
|
||||||
**(b)** Updates and notifications in Our software repositories;
|
**(b)** Updates and notifications in Our software repositories;
|
||||||
|
|
||||||
@@ -2047,7 +2047,7 @@ For questions, clarifications, or other matters related to this Licence, We may
|
|||||||
|
|
||||||
### 17.1. Primary Communication Channels
|
### 17.1. Primary Communication Channels
|
||||||
|
|
||||||
#### 17.1.1. Community Forum
|
#### 17.1.1. Discord Community
|
||||||
|
|
||||||
Our primary venue for Licence-related discussions and inquiries:
|
Our primary venue for Licence-related discussions and inquiries:
|
||||||
|
|
||||||
|
|||||||
@@ -192,13 +192,15 @@ Regardless of your location, you have the following rights regarding your person
|
|||||||
|
|
||||||
To exercise any of these rights:
|
To exercise any of these rights:
|
||||||
|
|
||||||
**(a)** Submit requests to **privacy@nhcarrigan.com** from the email address associated with your account;
|
**(a)** Submit requests through our **Privacy Request Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4
|
||||||
|
|
||||||
**(b)** Provide sufficient information to verify your identity;
|
**(b)** Alternatively, submit requests to **privacy@nhcarrigan.com** from the email address associated with your account;
|
||||||
|
|
||||||
**(c)** Specify clearly which right you wish to exercise;
|
**(c)** Provide sufficient information to verify your identity;
|
||||||
|
|
||||||
**(d)** Include any relevant details or documentation to support your request.
|
**(d)** Specify clearly which right you wish to exercise;
|
||||||
|
|
||||||
|
**(e)** Include any relevant details or documentation to support your request.
|
||||||
|
|
||||||
### 5.3. Response Timeframes
|
### 5.3. Response Timeframes
|
||||||
|
|
||||||
@@ -242,6 +244,12 @@ General retention periods include:
|
|||||||
|
|
||||||
### 6.3. Automated Deletion
|
### 6.3. Automated Deletion
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
Where technically feasible, we implement automated systems to:
|
Where technically feasible, we implement automated systems to:
|
||||||
|
|
||||||
**(a)** Delete information that has exceeded its retention period;
|
**(a)** Delete information that has exceeded its retention period;
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ This Policy is designed to operate within the framework of applicable laws and r
|
|||||||
|
|
||||||
If you discover a security vulnerability within any of our systems or applications, please report it exclusively through our designated secure reporting channel:
|
If you discover a security vulnerability within any of our systems or applications, please report it exclusively through our designated secure reporting channel:
|
||||||
|
|
||||||
|
**Security Vulnerability Report Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4
|
||||||
|
|
||||||
**Primary Contact:** security@nhcarrigan.com
|
**Primary Contact:** security@nhcarrigan.com
|
||||||
|
|
||||||
**Subject Line Format:** [SECURITY] Brief description of vulnerability
|
**Subject Line Format:** [SECURITY] Brief description of vulnerability
|
||||||
@@ -172,7 +174,7 @@ Our standard coordinated disclosure timeline follows this process:
|
|||||||
|
|
||||||
**(c)** **Remediation Period:** Development and deployment of fixes (30-90 days depending on complexity);
|
**(c)** **Remediation Period:** Development and deployment of fixes (30-90 days depending on complexity);
|
||||||
|
|
||||||
**(d)** **Public Disclosure:** Joint announcement of vulnerability and resolution (after fix deployment and reasonable notice period).
|
**(d)** **Public Disclosure:** Joint announcement of vulnerability and resolution (after fix deployment and reasonable notice period). Aggregated and sanitized vulnerability reports are published at: https://security.nhcarrigan.com/report/
|
||||||
|
|
||||||
### 4.3. Public Acknowledgement
|
### 4.3. Public Acknowledgement
|
||||||
|
|
||||||
@@ -272,7 +274,7 @@ While we do not currently offer financial rewards, we deeply appreciate security
|
|||||||
|
|
||||||
**(a)** **Hall of Fame Recognition:** Public acknowledgement in our security contributors hall of fame;
|
**(a)** **Hall of Fame Recognition:** Public acknowledgement in our security contributors hall of fame;
|
||||||
|
|
||||||
**(b)** **Community Recognition:** Acknowledgement in our social media channels;
|
**(b)** **Community Recognition:** Acknowledgement in our community forums and social media channels;
|
||||||
|
|
||||||
**(c)** **Professional References:** With your consent, we may serve as a reference for your security research activities;
|
**(c)** **Professional References:** With your consent, we may serve as a reference for your security research activities;
|
||||||
|
|
||||||
@@ -388,13 +390,15 @@ We utilise a comprehensive suite of security tools integrated into our developme
|
|||||||
|
|
||||||
We maintain transparency about our security posture through publicly accessible security reports and dashboards:
|
We maintain transparency about our security posture through publicly accessible security reports and dashboards:
|
||||||
|
|
||||||
**(a)** **Quality Dashboard:** Real-time security and quality metrics available at https://quality.NHCarrigan.link;
|
**(a)** **Security Vulnerability Reports:** Aggregated and sanitized security vulnerability reports for all our products are published at: https://security.nhcarrigan.com/report/
|
||||||
|
|
||||||
**(b)** **Security Reports:** Comprehensive security scan results published at https://security.nhcarrigan.com;
|
**(b)** **Quality Dashboard:** Real-time security and quality metrics available;
|
||||||
|
|
||||||
**(c)** **Regular Updates:** Weekly scanning cycles ensure up-to-date security information;
|
**(c)** **Security Reports:** Comprehensive security scan results published;
|
||||||
|
|
||||||
**(d)** **Trend Analysis:** Historical data tracking to identify and address security trends over time.
|
**(d)** **Regular Updates:** Weekly scanning cycles ensure up-to-date security information;
|
||||||
|
|
||||||
|
**(e)** **Trend Analysis:** Historical data tracking to identify and address security trends over time.
|
||||||
|
|
||||||
### 8.5. Security Development Lifecycle
|
### 8.5. Security Development Lifecycle
|
||||||
|
|
||||||
@@ -464,6 +468,8 @@ If vulnerability research reveals potential regulatory compliance issues or lega
|
|||||||
|
|
||||||
For all security-related matters, including vulnerability reports, questions about this Policy, and general security inquiries:
|
For all security-related matters, including vulnerability reports, questions about this Policy, and general security inquiries:
|
||||||
|
|
||||||
|
**Security Vulnerability Report Form** (Preferred for vulnerability reports): https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4
|
||||||
|
|
||||||
**Email:** security@nhcarrigan.com
|
**Email:** security@nhcarrigan.com
|
||||||
|
|
||||||
**Response Time:** We aim to respond to all security inquiries within 7-10 business days
|
**Response Time:** We aim to respond to all security inquiries within 7-10 business days
|
||||||
@@ -510,9 +516,11 @@ Additional resources available to security researchers:
|
|||||||
|
|
||||||
**(a)** **Documentation:** Comprehensive security policy documentation and guidelines;
|
**(a)** **Documentation:** Comprehensive security policy documentation and guidelines;
|
||||||
|
|
||||||
**(b)** **Educational Resources:** Links to security research best practices and legal guidelines;
|
**(b)** **Community Support:** Access to our community forums for general security discussions;
|
||||||
|
|
||||||
**(c)** **Feedback Mechanisms:** Opportunities to provide feedback on our security policies and procedures.
|
**(c)** **Educational Resources:** Links to security research best practices and legal guidelines;
|
||||||
|
|
||||||
|
**(d)** **Feedback Mechanisms:** Opportunities to provide feedback on our security policies and procedures.
|
||||||
|
|
||||||
## 11. POLICY UPDATES AND MAINTENANCE
|
## 11. POLICY UPDATES AND MAINTENANCE
|
||||||
|
|
||||||
@@ -534,7 +542,7 @@ Changes to this Policy will be communicated through:
|
|||||||
|
|
||||||
**(a)** **Direct Notification:** Email notification to researchers who have previously submitted reports;
|
**(a)** **Direct Notification:** Email notification to researchers who have previously submitted reports;
|
||||||
|
|
||||||
**(b)** **Public Announcement:** Updates posted on our website;
|
**(b)** **Public Announcement:** Updates posted on our website and community forums;
|
||||||
|
|
||||||
**(c)** **Documentation Updates:** Version-controlled updates to our official documentation;
|
**(c)** **Documentation Updates:** Version-controlled updates to our official documentation;
|
||||||
|
|
||||||
|
|||||||
@@ -300,7 +300,7 @@ We maintain comprehensive service monitoring including:
|
|||||||
|
|
||||||
Service status information is communicated through:
|
Service status information is communicated through:
|
||||||
|
|
||||||
**(a)** **Status Page**: Real-time service status available at designated status page;
|
**(a)** **Status Page**: Real-time service status available at designated status page at https://uptime.nhcarrigan.com;
|
||||||
|
|
||||||
**(b)** **Incident Updates**: Regular updates during service disruptions or maintenance;
|
**(b)** **Incident Updates**: Regular updates during service disruptions or maintenance;
|
||||||
|
|
||||||
@@ -310,6 +310,12 @@ Service status information is communicated through:
|
|||||||
|
|
||||||
### 8.3. Transparency Reports
|
### 8.3. Transparency Reports
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
We publish regular transparency reports including:
|
We publish regular transparency reports including:
|
||||||
|
|
||||||
**(a)** **Monthly Availability Reports**: Summary of availability statistics for each service category;
|
**(a)** **Monthly Availability Reports**: Summary of availability statistics for each service category;
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ Regarding data processed by subprocessors, users may:
|
|||||||
|
|
||||||
To exercise rights regarding subprocessor data processing:
|
To exercise rights regarding subprocessor data processing:
|
||||||
|
|
||||||
**(a)** **Primary Contact:** Contact us at privacy@nhcarrigan.com for coordination;
|
**(a)** **Primary Contact:** Submit requests through our **Privacy Request Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4 or contact us at privacy@nhcarrigan.com for coordination;
|
||||||
|
|
||||||
**(b)** **Direct Contact:** Contact subprocessors directly using their provided channels;
|
**(b)** **Direct Contact:** Contact subprocessors directly using their provided channels;
|
||||||
|
|
||||||
@@ -384,6 +384,8 @@ We will notify users of changes to subprocessor arrangements through:
|
|||||||
|
|
||||||
**(c)** **Service Notifications:** In-app notifications where technically feasible;
|
**(c)** **Service Notifications:** In-app notifications where technically feasible;
|
||||||
|
|
||||||
|
**(d)** **Community Announcements:** Public announcements in community forums.
|
||||||
|
|
||||||
### 7.2. Types of Changes Requiring Notification
|
### 7.2. Types of Changes Requiring Notification
|
||||||
|
|
||||||
Changes requiring advance notification include:
|
Changes requiring advance notification include:
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ This FAQ addresses common questions and concerns regarding programme participati
|
|||||||
|
|
||||||
**Response Time Guidelines:**
|
**Response Time Guidelines:**
|
||||||
- Most programme activities can be completed independently using provided documentation
|
- Most programme activities can be completed independently using provided documentation
|
||||||
- If you have questions, feel free to ask in the #mentee-chat channel
|
- If you have questions, feel free to ask in the #⚗️│alchemy-lab channel
|
||||||
- If you have not received a response within 10 business days, you may send a gentle reminder
|
- If you have not received a response within 10 business days, you may send a gentle reminder
|
||||||
- Repeated communications at intervals of less than 10 business days may result in disciplinary action
|
- Repeated communications at intervals of less than 10 business days may result in disciplinary action
|
||||||
- We appreciate your patience and understanding regarding response timelines
|
- We appreciate your patience and understanding regarding response timelines
|
||||||
@@ -140,7 +140,7 @@ All expulsion decisions are made in accordance with our Mentorship Programme Ter
|
|||||||
|
|
||||||
- Review the comprehensive mentorship documentation (01-10) for detailed guidance on each programme stage
|
- Review the comprehensive mentorship documentation (01-10) for detailed guidance on each programme stage
|
||||||
- Check the resource library for templates, examples, and additional materials
|
- Check the resource library for templates, examples, and additional materials
|
||||||
- Contact programme leadership through the designated #mentee-chat channel in our Discord community
|
- Contact programme leadership through the designated #⚗️│alchemy-lab channel in our Discord community
|
||||||
- Ask community members and alumni for peer support and guidance
|
- Ask community members and alumni for peer support and guidance
|
||||||
- Programme leadership is available to answer questions when asked, but most activities can be completed independently
|
- Programme leadership is available to answer questions when asked, but most activities can be completed independently
|
||||||
- Additional information is available in our comprehensive [Mentorship Programme Terms and Conditions](/about/mentorship)
|
- Additional information is available in our comprehensive [Mentorship Programme Terms and Conditions](/about/mentorship)
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Goal-setting procedures must be initiated following completion of onboarding pro
|
|||||||
|
|
||||||
### 2.2. Goal-Setting Forum Post Creation
|
### 2.2. Goal-Setting Forum Post Creation
|
||||||
|
|
||||||
**Required Action:** Create a thread in the #goal-setting forum channel on our Discord community.
|
**Required Action:** Create a thread in the #🎯│oaths forum channel on our Discord community.
|
||||||
|
|
||||||
**Thread Naming Convention:**
|
**Thread Naming Convention:**
|
||||||
```markdown
|
```markdown
|
||||||
@@ -63,7 +63,7 @@ Goal-setting procedures must be initiated following completion of onboarding pro
|
|||||||
### 2.4. Optional Feedback and Clarification
|
### 2.4. Optional Feedback and Clarification
|
||||||
|
|
||||||
If you would like feedback on your goal-setting post or have questions about creating your roadmap, you can:
|
If you would like feedback on your goal-setting post or have questions about creating your roadmap, you can:
|
||||||
- Ask questions in the #mentee-chat channel in Discord
|
- Ask questions in the #⚗️│alchemy-lab channel in Discord
|
||||||
- Request feedback from programme leadership or community members
|
- Request feedback from programme leadership or community members
|
||||||
- Review roadmap templates and examples in the resource library
|
- Review roadmap templates and examples in the resource library
|
||||||
- Proceed independently if you feel confident in your goals and plan
|
- Proceed independently if you feel confident in your goals and plan
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Project planning procedures must be initiated following completion of goal-setti
|
|||||||
|
|
||||||
### 2.2. Project Planning Forum Post Creation
|
### 2.2. Project Planning Forum Post Creation
|
||||||
|
|
||||||
**Required Action:** Create a post in the #project-plan forum channel on our Discord community.
|
**Required Action:** Create a post in the #🗺️│quest-board forum channel on our Discord community.
|
||||||
|
|
||||||
**Post Naming Convention:**
|
**Post Naming Convention:**
|
||||||
```markdown
|
```markdown
|
||||||
@@ -51,7 +51,7 @@ Project planning procedures must be initiated following completion of goal-setti
|
|||||||
**Project Idea Assistance:**
|
**Project Idea Assistance:**
|
||||||
- If you do not yet have a project idea, create your post with a statement such as: "I need help brainstorming a project idea"
|
- If you do not yet have a project idea, create your post with a statement such as: "I need help brainstorming a project idea"
|
||||||
- Review project idea examples in the resource library for inspiration
|
- Review project idea examples in the resource library for inspiration
|
||||||
- Ask for help in the #mentee-chat channel if you'd like community input
|
- Ask for help in the #⚗️│alchemy-lab channel if you'd like community input
|
||||||
- Programme leadership and community members can provide feedback if requested
|
- Programme leadership and community members can provide feedback if requested
|
||||||
- You can also proceed independently by researching project ideas online or adapting examples
|
- You can also proceed independently by researching project ideas online or adapting examples
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ Once your project planning post is created, you will develop your project plan i
|
|||||||
- Create a detailed project plan ready for development work
|
- Create a detailed project plan ready for development work
|
||||||
|
|
||||||
**Optional Support:**
|
**Optional Support:**
|
||||||
- If you need help brainstorming or refining your project idea, ask in the #mentee-chat channel
|
- If you need help brainstorming or refining your project idea, ask in the #⚗️│alchemy-lab channel
|
||||||
- Community members and programme leadership can provide feedback if requested
|
- Community members and programme leadership can provide feedback if requested
|
||||||
- You can proceed independently once you have a project concept you're happy with
|
- You can proceed independently once you have a project concept you're happy with
|
||||||
|
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ Separate issues provide:
|
|||||||
|
|
||||||
**Optional Review:**
|
**Optional Review:**
|
||||||
- If you would like feedback on your user stories, you can:
|
- If you would like feedback on your user stories, you can:
|
||||||
- Request review in the #mentee-chat channel in Discord
|
- Request review in the #⚗️│alchemy-lab channel in Discord
|
||||||
- Ask community members or alumni for peer review
|
- Ask community members or alumni for peer review
|
||||||
- Review user story examples in the resource library for comparison
|
- Review user story examples in the resource library for comparison
|
||||||
- Reviews are optional and available upon request, not required
|
- Reviews are optional and available upon request, not required
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ Complete the technical breakdown template for each user story. Completion includ
|
|||||||
|
|
||||||
**Optional Review:**
|
**Optional Review:**
|
||||||
- If you would like feedback on your technical breakdowns, you can:
|
- If you would like feedback on your technical breakdowns, you can:
|
||||||
- Request review in the #mentee-chat channel in Discord
|
- Request review in the #⚗️│alchemy-lab channel in Discord
|
||||||
- Ask community members or alumni for peer review
|
- Ask community members or alumni for peer review
|
||||||
- Review technical breakdown examples in the resource library for comparison
|
- Review technical breakdown examples in the resource library for comparison
|
||||||
|
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ The purpose of applying effort labels is to help plan work timelines and resourc
|
|||||||
|
|
||||||
**Optional Review:**
|
**Optional Review:**
|
||||||
- If you would like feedback on your priority and effort assignments, you can:
|
- If you would like feedback on your priority and effort assignments, you can:
|
||||||
- Request review in the #mentee-chat channel in Discord
|
- Request review in the #⚗️│alchemy-lab channel in Discord
|
||||||
- Ask community members or alumni for peer review
|
- Ask community members or alumni for peer review
|
||||||
- Review priority and effort examples in the resource library for comparison
|
- Review priority and effort examples in the resource library for comparison
|
||||||
- Reviews are optional and available upon request, not required
|
- Reviews are optional and available upon request, not required
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ This Writing Code Documentation (hereinafter referred to as "the Documentation")
|
|||||||
|
|
||||||
This Documentation applies to all participants in our Mentorship Programme following completion of priority and effort assignment procedures. All participants should comply with the code development procedures set forth in this Documentation.
|
This Documentation applies to all participants in our Mentorship Programme following completion of priority and effort assignment procedures. All participants should comply with the code development procedures set forth in this Documentation.
|
||||||
|
|
||||||
**IMPORTANT: Code development should comply with our Style Guide, Contributor Covenant, and all applicable development standards. Code reviews are optional and available upon request, not mandatory.**
|
**IMPORTANT: Whilst developing your flagship project, you must comply with our [Community Code of Conduct](/community/coc) and [Community Guidelines](/community/guide). Your mentorship repository must not be used for any code or non-code content or behaviour that is illegal, harmful to others, discriminatory, or bigoted. See Section 7.3 for details on intellectual property and style standards. Code reviews are optional and available upon request, not mandatory.**
|
||||||
|
|
||||||
## 2. DEVELOPMENT WORKFLOW REQUIREMENTS
|
## 2. DEVELOPMENT WORKFLOW REQUIREMENTS
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ Before writing code, participants must consider and address the requirements set
|
|||||||
- Community members and alumni may also provide peer reviews if requested
|
- Community members and alumni may also provide peer reviews if requested
|
||||||
|
|
||||||
**Requesting Reviews:**
|
**Requesting Reviews:**
|
||||||
- If you would like a code review, request one in the #mentee-chat channel or tag programme leadership on your PR
|
- If you would like a code review, request one in the #⚗️│alchemy-lab channel or tag programme leadership on your PR
|
||||||
- Reviews are provided when available, not guaranteed immediately
|
- Reviews are provided when available, not guaranteed immediately
|
||||||
- You can proceed with development while waiting for reviews
|
- You can proceed with development while waiting for reviews
|
||||||
|
|
||||||
@@ -169,9 +169,11 @@ This Documentation establishes code development procedures and requirements. How
|
|||||||
- Programme leadership is not responsible for participants' ability to complete development work
|
- Programme leadership is not responsible for participants' ability to complete development work
|
||||||
- Individual results may vary based on participant skill, effort, and other factors
|
- Individual results may vary based on participant skill, effort, and other factors
|
||||||
|
|
||||||
### 7.3. Intellectual Property Considerations
|
### 7.3. Intellectual Property Ownership
|
||||||
|
|
||||||
All code developed as part of the Mentorship Programme is subject to our Mentorship Programme Terms and Conditions regarding intellectual property rights. Participants should familiarise themselves with these terms before beginning development work.
|
**Your flagship project belongs to you.** NHCarrigan makes no claim to intellectual property rights over projects developed during the Mentorship Programme. You own your project outright and are free to licence it however you choose.
|
||||||
|
|
||||||
|
**Regarding style standards:** Our Style Guide applies only to contributions to NHCarrigan-maintained repositories — it does not apply to your flagship project. You are entirely free to choose your own coding style, linting tools, licence, and copyright attribution for your own project.
|
||||||
|
|
||||||
## 8. CONCLUSION
|
## 8. CONCLUSION
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ When you believe your flagship project has reached a state where it can be proud
|
|||||||
- Begin addressing items on the checklist independently
|
- Begin addressing items on the checklist independently
|
||||||
|
|
||||||
**Optional Support:**
|
**Optional Support:**
|
||||||
- If you would like feedback on project readiness, ask in the #mentee-chat channel
|
- If you would like feedback on project readiness, ask in the #⚗️│alchemy-lab channel
|
||||||
- Programme leadership or community members can provide guidance if requested
|
- Programme leadership or community members can provide guidance if requested
|
||||||
- You can proceed independently using the provided resources
|
- You can proceed independently using the provided resources
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ Use the provided documentation templates and examples in the resource library to
|
|||||||
- End user documentation examples
|
- End user documentation examples
|
||||||
|
|
||||||
**Optional Support:**
|
**Optional Support:**
|
||||||
- If you need help with documentation, ask in the #mentee-chat channel
|
- If you need help with documentation, ask in the #⚗️│alchemy-lab channel
|
||||||
- Programme leadership or community members can provide guidance if requested
|
- Programme leadership or community members can provide guidance if requested
|
||||||
- You can proceed independently using the provided templates
|
- You can proceed independently using the provided templates
|
||||||
|
|
||||||
@@ -163,7 +163,7 @@ You should deploy a live version of your application for professional presentati
|
|||||||
- Free options may not always be viable depending on project requirements
|
- Free options may not always be viable depending on project requirements
|
||||||
|
|
||||||
**Optional Support:**
|
**Optional Support:**
|
||||||
- If you encounter issues during deployment, ask for help in the #mentee-chat channel
|
- If you encounter issues during deployment, ask for help in the #⚗️│alchemy-lab channel
|
||||||
- Programme leadership or community members can provide guidance if requested
|
- Programme leadership or community members can provide guidance if requested
|
||||||
- Most deployment can be completed independently using the provided guides
|
- Most deployment can be completed independently using the provided guides
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ Upon reaching the career preparation stage, you have access to comprehensive res
|
|||||||
- Present your project effectively on your resume
|
- Present your project effectively on your resume
|
||||||
|
|
||||||
**Optional Review:**
|
**Optional Review:**
|
||||||
- If you would like feedback on your resume, request a review in the #mentee-chat channel
|
- If you would like feedback on your resume, request a review in the #⚗️│alchemy-lab channel
|
||||||
- Programme leadership or community members can provide feedback if requested
|
- Programme leadership or community members can provide feedback if requested
|
||||||
- Reviews are optional and available upon request
|
- Reviews are optional and available upon request
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ LinkedIn profile preparation should focus on:
|
|||||||
- Optimizing profile for recruiter visibility
|
- Optimizing profile for recruiter visibility
|
||||||
|
|
||||||
**Optional Review:**
|
**Optional Review:**
|
||||||
- If you would like feedback on your LinkedIn profile, request a review in the #mentee-chat channel
|
- If you would like feedback on your LinkedIn profile, request a review in the #⚗️│alchemy-lab channel
|
||||||
- Programme leadership or community members can provide feedback if requested
|
- Programme leadership or community members can provide feedback if requested
|
||||||
- Reviews are optional and available upon request
|
- Reviews are optional and available upon request
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ LinkedIn profile preparation should focus on:
|
|||||||
- Review application content using provided checklists
|
- Review application content using provided checklists
|
||||||
|
|
||||||
**Optional Support:**
|
**Optional Support:**
|
||||||
- If you would like feedback on your applications, request a review in the #mentee-chat channel
|
- If you would like feedback on your applications, request a review in the #⚗️│alchemy-lab channel
|
||||||
- Programme leadership or community members can provide feedback if requested
|
- Programme leadership or community members can provide feedback if requested
|
||||||
- Support is limited to guidance and feedback on application content
|
- Support is limited to guidance and feedback on application content
|
||||||
- You are responsible for submitting your own applications
|
- You are responsible for submitting your own applications
|
||||||
@@ -153,7 +153,7 @@ LinkedIn profile preparation should focus on:
|
|||||||
|
|
||||||
**Mock Interview Availability:**
|
**Mock Interview Availability:**
|
||||||
- Mock interviews are available upon request when programme leadership or community members are available
|
- Mock interviews are available upon request when programme leadership or community members are available
|
||||||
- Request mock interviews in the #mentee-chat channel
|
- Request mock interviews in the #⚗️│alchemy-lab channel
|
||||||
- Mock interviews prepare you for real interview situations
|
- Mock interviews prepare you for real interview situations
|
||||||
- Feedback and coaching on interview performance may be provided
|
- Feedback and coaching on interview performance may be provided
|
||||||
|
|
||||||
|
|||||||
@@ -1,94 +0,0 @@
|
|||||||
---
|
|
||||||
title: Managing Local Music
|
|
||||||
---
|
|
||||||
|
|
||||||
**DOCUMENTING LOCAL MUSIC LIBRARY MANAGEMENT PROCEDURES**
|
|
||||||
|
|
||||||
## 1. INTRODUCTION AND LEGAL FRAMEWORK
|
|
||||||
|
|
||||||
### 1.1. Policy Overview
|
|
||||||
|
|
||||||
This Music Management Documentation (hereinafter referred to as "the Documentation") provides technical procedures and instructions for managing local music libraries on Linux systems. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, and all applicable legal protections by reference.
|
|
||||||
|
|
||||||
### 1.2. Purpose and Scope
|
|
||||||
|
|
||||||
This Documentation describes technical procedures for managing local music libraries. This information is provided for informational purposes and personal use only.
|
|
||||||
|
|
||||||
**IMPORTANT: Users are solely responsible for ensuring that all music acquisition, storage, and management activities comply with applicable copyright laws, licensing agreements, and legal requirements. Our organisation does not condone or support any illegal activities, including copyright infringement or piracy.**
|
|
||||||
|
|
||||||
### 1.3. Legal Compliance Disclaimer
|
|
||||||
|
|
||||||
All users must ensure that their music acquisition and management activities comply with:
|
|
||||||
|
|
||||||
- Applicable copyright laws and regulations
|
|
||||||
- Terms of service of music platforms and services
|
|
||||||
- Licensing agreements for music content
|
|
||||||
- All relevant intellectual property laws
|
|
||||||
|
|
||||||
Our organisation assumes no responsibility for any illegal activities conducted using information from this Documentation.
|
|
||||||
|
|
||||||
## 2. ACQUIRING MUSIC
|
|
||||||
|
|
||||||
You are welcome to use any method you wish to *LEGALLY* acquire music. We would never encourage the criminal act of piracy. But maybe you're an artist and you want to archive or back up your own music - in that case, here you go:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yt-dlp -x --audio-format mp3 <url> --cookies-from-browser firefox
|
|
||||||
```
|
|
||||||
|
|
||||||
Omit the `--cookies-from-browser firefox` if you do not need authentication (auth is required for age-restricted content, for example).
|
|
||||||
|
|
||||||
## 3. EDITING METADATA
|
|
||||||
|
|
||||||
The specific meta tags you may need to set will vary depending on the music software you use. We have confirmed that `TIT2` is read as the title and `TPE1` is read as the artist when using Amberol on Linux and Musicolet on Android. Using `-t` and `-a` might work.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
id3v2 "/path/to/song" --TIT2 "Song Title" --TPE1 "Song Artist"
|
|
||||||
```
|
|
||||||
|
|
||||||
## 4. ADDING COVER IMAGES
|
|
||||||
|
|
||||||
Download the image (we have confirmed JPEGs work) that you want to apply to the song, then run:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
eyeD3 --add-image="/path/to/img":FRONT_COVER "/path/to/mp3"
|
|
||||||
```
|
|
||||||
|
|
||||||
## 5. COPYING TO ANDROID DEVICES
|
|
||||||
|
|
||||||
You'll need to replace your paths and your device ID to match your local setup, but:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
adb -s 192.168.12.105:5555 push music/* /storage/self/primary/Music
|
|
||||||
```
|
|
||||||
|
|
||||||
## 6. LIMITATION OF LIABILITY AND DISCLAIMERS
|
|
||||||
|
|
||||||
### 6.1. Reference to Comprehensive Liability Framework
|
|
||||||
|
|
||||||
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
|
|
||||||
|
|
||||||
### 6.2. Legal Compliance Disclaimer
|
|
||||||
|
|
||||||
This Documentation provides technical procedures only. Our organisation:
|
|
||||||
|
|
||||||
- Does not provide legal advice regarding music acquisition or copyright compliance
|
|
||||||
- Does not endorse or support any illegal activities, including copyright infringement
|
|
||||||
- Assumes no responsibility for users' compliance with copyright laws or licensing agreements
|
|
||||||
- Recommends that users consult qualified legal counsel for questions about copyright compliance
|
|
||||||
|
|
||||||
### 6.3. Technical Accuracy Disclaimer
|
|
||||||
|
|
||||||
While we strive to maintain accurate and current information in this Documentation, software tools, commands, and procedures may change over time. Users are responsible for:
|
|
||||||
|
|
||||||
- Verifying current software versions and compatibility
|
|
||||||
- Adapting procedures to their specific system configurations
|
|
||||||
- Ensuring their technical setup meets the requirements for these procedures
|
|
||||||
- Consulting additional resources for the most current technical information
|
|
||||||
|
|
||||||
## 7. CONCLUSION
|
|
||||||
|
|
||||||
This Music Management Documentation provides technical procedures for managing local music libraries on Linux systems. All users must ensure that their use of these procedures complies with applicable copyright laws, licensing agreements, and legal requirements.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
*For questions about music management procedures or legal compliance, please consult qualified legal counsel.*
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
---
|
|
||||||
title: AI Prompts
|
|
||||||
---
|
|
||||||
|
|
||||||
**DOCUMENTING STANDARD AI PROMPTS AND WORKFLOW TEMPLATES**
|
|
||||||
|
|
||||||
## 1. INTRODUCTION AND LEGAL FRAMEWORK
|
|
||||||
|
|
||||||
### 1.1. Policy Overview
|
|
||||||
|
|
||||||
This AI Prompts Documentation (hereinafter referred to as "the Documentation") provides standard prompts, templates, and workflow instructions for using artificial intelligence tools in our organisational workflows. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, and all applicable legal protections by reference.
|
|
||||||
|
|
||||||
### 1.2. Purpose and Scope
|
|
||||||
|
|
||||||
This Documentation serves as a reference for standardised AI prompts used in various organisational contexts. These prompts are provided for convenience and consistency but may require customisation for specific use cases.
|
|
||||||
|
|
||||||
**IMPORTANT: These prompts are provided as starting points and may require modification to meet specific requirements. Users are responsible for ensuring that any use of AI tools complies with applicable laws, regulations, and organisational policies.**
|
|
||||||
|
|
||||||
### 1.3. AI Tool Usage Disclaimer
|
|
||||||
|
|
||||||
Our organisation does not guarantee the accuracy, reliability, or appropriateness of outputs generated using these prompts. Users are responsible for:
|
|
||||||
|
|
||||||
- Reviewing and validating all AI-generated content
|
|
||||||
- Ensuring compliance with applicable laws and regulations
|
|
||||||
- Maintaining appropriate oversight of AI tool usage
|
|
||||||
- Protecting sensitive or confidential information when using AI tools
|
|
||||||
|
|
||||||
## 2. AI PROMPTS
|
|
||||||
|
|
||||||
### 2.1. Documentation Generation Prompt
|
|
||||||
|
|
||||||
Open Claude Code in your project directory, then provide this prompt:
|
|
||||||
|
|
||||||
```md
|
|
||||||
Please go through the entire `src` directory and use the codebase to generate documentation for me, given the following template:
|
|
||||||
|
|
||||||
---
|
|
||||||
title: <app name>
|
|
||||||
---
|
|
||||||
|
|
||||||
<app name> (hereinafter the "Application") is <description>
|
|
||||||
|
|
||||||
## 1. User Documentation
|
|
||||||
|
|
||||||
This section is for those interacting with a live instance of the Application.
|
|
||||||
|
|
||||||
## 2. Technical Documentation
|
|
||||||
|
|
||||||
This section is for those interested in running their own instance of the Application.
|
|
||||||
|
|
||||||
## 3. Legal Documentation
|
|
||||||
|
|
||||||
This section is for expansions to our legal policies specific to the Application.
|
|
||||||
|
|
||||||
## 4. Contributing Documentation
|
|
||||||
|
|
||||||
This section is for documentation related to contributing to the Application's codebase.
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.2. Comprehension Question Generation Prompt
|
|
||||||
|
|
||||||
We use this for some of our client work, but this is great for creating questions to quiz yourself on any document you've read.
|
|
||||||
|
|
||||||
````md
|
|
||||||
You must create three comprehension check questions for the lecture script the user provides. Do not include any other information. Format the response as a code block so the user can easily copy the syntax.
|
|
||||||
|
|
||||||
Here is the format:
|
|
||||||
|
|
||||||
```
|
|
||||||
### Question 1:
|
|
||||||
|
|
||||||
Which of the following is a key characteristic of relational databases?
|
|
||||||
|
|
||||||
**A.** Flexible schema
|
|
||||||
|
|
||||||
**B.** Document-based structure
|
|
||||||
|
|
||||||
**C.** Key-value pairs
|
|
||||||
|
|
||||||
**D.** Structured data in tables
|
|
||||||
|
|
||||||
Hint: Think about how data is organised in relational databases.
|
|
||||||
|
|
||||||
Answer: **D.** Structured data in tables
|
|
||||||
|
|
||||||
### Question 2:
|
|
||||||
|
|
||||||
Which of the following is a key characteristic of relational databases?
|
|
||||||
|
|
||||||
**A.** Flexible schema
|
|
||||||
|
|
||||||
**B.** Document-based structure
|
|
||||||
|
|
||||||
**C.** Key-value pairs
|
|
||||||
|
|
||||||
**D.** Structured data in tables
|
|
||||||
|
|
||||||
Hint: Think about how data is organised in relational databases.
|
|
||||||
|
|
||||||
Answer: **D.** Structured data in tables
|
|
||||||
|
|
||||||
### Question 3:
|
|
||||||
|
|
||||||
Which of the following is a key characteristic of relational databases?
|
|
||||||
|
|
||||||
**A.** Flexible schema
|
|
||||||
|
|
||||||
**B.** Document-based structure
|
|
||||||
|
|
||||||
**C.** Key-value pairs
|
|
||||||
|
|
||||||
**D.** Structured data in tables
|
|
||||||
|
|
||||||
Hint: Think about how data is organised in relational databases.
|
|
||||||
|
|
||||||
Answer: **D.** Structured data in tables
|
|
||||||
```
|
|
||||||
````
|
|
||||||
|
|
||||||
## 3. LIMITATION OF LIABILITY AND DISCLAIMERS
|
|
||||||
|
|
||||||
### 3.1. Reference to Comprehensive Liability Framework
|
|
||||||
|
|
||||||
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
|
|
||||||
|
|
||||||
### 3.2. AI Tool Usage Disclaimer
|
|
||||||
|
|
||||||
These prompts are provided for informational purposes only. Our organisation:
|
|
||||||
|
|
||||||
- Does not guarantee the accuracy, reliability, or appropriateness of outputs generated using these prompts
|
|
||||||
- Does not warrant that these prompts will produce desired results in all contexts
|
|
||||||
- Assumes no responsibility for outcomes resulting from the use of these prompts with AI tools
|
|
||||||
- Recommends that users review and validate all AI-generated content
|
|
||||||
|
|
||||||
### 3.3. User Responsibilities
|
|
||||||
|
|
||||||
Users are responsible for:
|
|
||||||
|
|
||||||
- Reviewing and validating all AI-generated content before use
|
|
||||||
- Ensuring compliance with applicable laws, regulations, and organisational policies
|
|
||||||
- Protecting sensitive or confidential information when using AI tools
|
|
||||||
- Maintaining appropriate oversight and quality control of AI tool usage
|
|
||||||
- Adapting prompts to meet specific requirements and contexts
|
|
||||||
|
|
||||||
## 4. CONCLUSION
|
|
||||||
|
|
||||||
This AI Prompts Documentation provides standardised prompts and workflow templates for using artificial intelligence tools in our organisational workflows. All users are responsible for ensuring that their use of these prompts complies with applicable laws, regulations, and organisational policies, and for maintaining appropriate oversight of AI tool usage.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
*For questions about AI prompt usage or to suggest improvements, please contact appropriate organisational leadership through designated communication channels.*
|
|
||||||
@@ -1,823 +0,0 @@
|
|||||||
---
|
|
||||||
title: Templates
|
|
||||||
---
|
|
||||||
|
|
||||||
**PROVIDING STANDARD TEMPLATES AND DOCUMENTATION FORMS**
|
|
||||||
|
|
||||||
## 1. INTRODUCTION AND LEGAL FRAMEWORK
|
|
||||||
|
|
||||||
### 1.1. Policy Overview
|
|
||||||
|
|
||||||
This Templates Documentation (hereinafter referred to as "the Documentation") provides standard templates, forms, and documentation formats used throughout our organisation. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, and all applicable legal protections by reference.
|
|
||||||
|
|
||||||
### 1.2. Purpose and Scope
|
|
||||||
|
|
||||||
This Documentation serves as a reference for standardised templates used in various organisational contexts. These templates are provided for convenience and consistency but may require customisation for specific use cases.
|
|
||||||
|
|
||||||
**IMPORTANT: These templates are provided as starting points and may require modification to meet specific legal, regulatory, or contextual requirements. Users are responsible for ensuring that any use of these templates complies with applicable laws and regulations.**
|
|
||||||
|
|
||||||
### 1.3. Disclaimer
|
|
||||||
|
|
||||||
Our organisation does not provide legal advice. These templates are provided for informational purposes only. Users should consult with qualified legal counsel when using these templates for legal matters or when compliance with specific regulations is required.
|
|
||||||
|
|
||||||
## 2. TEMPLATES
|
|
||||||
|
|
||||||
### 2.1. Legal Templates
|
|
||||||
|
|
||||||
#### 2.1.1. DMCA Takedown Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
To whom it may concern:
|
|
||||||
|
|
||||||
We are writing to notify you of the copyright infringement and unlawful use of our copyrighted material that appear on the service for which you are the designated agent.
|
|
||||||
|
|
||||||
The infringing material, which we contend belong to us, includes our original visual assets.
|
|
||||||
|
|
||||||
The infringing material appears at the following location(s):
|
|
||||||
|
|
||||||
<url>
|
|
||||||
|
|
||||||
The original material is available at the following location(s):
|
|
||||||
|
|
||||||
<url>
|
|
||||||
|
|
||||||
This letter is the official notification under Section 512(c) of the Digital Millennium Copyright Act of 1998 ("DMCA") and we request the immediate removal of the aforementioned infringing materials from your servers.
|
|
||||||
|
|
||||||
We also request that you immediately notify the infringer of this notice and inform them to cease any further posting of the infringing material to your server in the future.
|
|
||||||
|
|
||||||
We are providing this notice in good faith and with the reasonable belief that we are the copyright holder of the material, and that the use of the described material in the manner complained is not authorised by us, our agents, or the law.
|
|
||||||
|
|
||||||
We swear, under penalty of perjury, that the information in this notification is accurate and that we are the owner of the copyrighted material involved.
|
|
||||||
|
|
||||||
If you have any questions, please feel free to reach out to us.
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.2. LinkedIn Templates
|
|
||||||
|
|
||||||
#### 2.2.1. LinkedIn Cold Outreach Response Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
I would be more than happy to chat! You can schedule time directly on my calendar:
|
|
||||||
|
|
||||||
https://zcal.co/nhcarrigan/meet
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.2.2. LinkedIn Post-Event Recommendation Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
I had the absolute pleasure of working with [Participant's Name] during our [event name], where [they] consistently impressed me with [their] dedication, technical growth, and collaborative spirit.
|
|
||||||
|
|
||||||
From the start, [Participant's Name] dove into the challenge with enthusiasm, applying [their] skills in [tech stack] to build real, impactful solutions. Whether working independently or as part of a team, [they] brought thoughtful ideas, clear communication, and a passion for learning that elevated everyone around [them].
|
|
||||||
|
|
||||||
The value of [Participant's Name]'s contributions are immeasurable. Throughout the event, they [explain loads of goals here].
|
|
||||||
|
|
||||||
By the end of the [event name], [Participant's Name] had delivered an outstanding project: [project name or brief description]. More than the final product, what stood out was [their] journey—embracing feedback, overcoming obstacles, and supporting others along the way.
|
|
||||||
|
|
||||||
I wholeheartedly recommend [Participant's Name] for any opportunity in tech. [They] bring not just technical ability, but the kind of energy and curiosity that makes any team stronger.
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.2.3. LinkedIn Mentorship Recommendation Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
I had the privilege of mentoring [Mentee's Name] through my 1:1 mentorship programme, and from our very first session, it was clear that [they] approached learning with curiosity, determination, and an eagerness to grow.
|
|
||||||
|
|
||||||
Over the course of the programme, [Mentee's Name] set clear goals and worked diligently towards them—building both technical skills in [specific tech stack, tools, or concepts] and the professional confidence to apply those skills in real-world scenarios. [They] embraced feedback, sought out challenges, and consistently demonstrated the resilience needed to push past obstacles.
|
|
||||||
|
|
||||||
What impressed me most was [their] commitment to personal and professional growth—not just in terms of technical ability, but also in communication, collaboration, and problem-solving. By the end of the mentorship, [Mentee's Name] had successfully delivered [describe final project or achievement], showing not only technical proficiency but also the ability to think critically and adapt to new situations.
|
|
||||||
|
|
||||||
I am confident that [Mentee's Name] will continue to excel in their career. They bring the kind of focus, curiosity, and dedication that make them a valuable asset to any team, and I am proud to have played a part in their journey.
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.3. Form Response Email Templates
|
|
||||||
|
|
||||||
#### 2.3.1. Appeals Form - Approval Email Template
|
|
||||||
|
|
||||||
Subject Line: `Appeal Decision - [Sanction Type] Appeal Upheld`
|
|
||||||
|
|
||||||
```md
|
|
||||||
Dear [Appellant's Name],
|
|
||||||
|
|
||||||
Thank you for submitting your appeal regarding the disciplinary sanction imposed on [date of original sanction]. We acknowledge receipt of your appeal and have conducted a thorough review in accordance with our Community Disciplinary Appeals Policy.
|
|
||||||
|
|
||||||
After careful consideration by the Appeals Panel, which included examination of all evidence and documentation, review of the original decision and its rationale, and assessment of your submissions and arguments, we have determined that your appeal has merit and meets the grounds for appeal as established in our policy.
|
|
||||||
|
|
||||||
**Decision**: Your appeal has been upheld. The original disciplinary sanction has been [overturned/modified/reduced] as follows: [Insert specific details about the new decision].
|
|
||||||
|
|
||||||
**Reasoning**: [Insert detailed reasoning here, addressing the specific grounds raised in the appeal and explaining why the appeal was successful. This should reference procedural compliance, proportionality of the sanction, factual accuracy, evidence considered, and correct application of community policies.]
|
|
||||||
|
|
||||||
As outlined in Section 8.1 of our Community Disciplinary Appeals Policy, decisions of the Appeals Panel are final and binding. The decision outlined above is effective immediately.
|
|
||||||
|
|
||||||
We appreciate your engagement with our appeals process and your respect for our community standards. We look forward to your continued positive participation in our community.
|
|
||||||
|
|
||||||
Regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.2. Appeals Form - Rejection Email Template
|
|
||||||
|
|
||||||
Subject Line: `Appeal Decision - [Sanction Type] Appeal Dismissed`
|
|
||||||
|
|
||||||
```md
|
|
||||||
Dear [Appellant's Name],
|
|
||||||
|
|
||||||
Thank you for submitting your appeal regarding the disciplinary sanction imposed on [date of original sanction]. We acknowledge receipt of your appeal and have conducted a thorough review in accordance with our Community Disciplinary Appeals Policy.
|
|
||||||
|
|
||||||
After careful consideration by the Appeals Panel, which included examination of all evidence and documentation, review of the original decision and its rationale, and assessment of your submissions and arguments, we have determined that your appeal does not meet the grounds for appeal as established in our policy.
|
|
||||||
|
|
||||||
**Decision**: Your appeal has been dismissed. The original disciplinary sanction remains in full effect.
|
|
||||||
|
|
||||||
**Reasoning**: [Insert detailed reasoning here, addressing the specific grounds raised in the appeal and explaining why the original decision was appropriate. This should reference procedural compliance, proportionality of the sanction, factual accuracy, evidence considered, and correct application of community policies.]
|
|
||||||
|
|
||||||
As outlined in Section 8.1 of our Community Disciplinary Appeals Policy, decisions of the Appeals Panel are final and binding. No further appeals or reviews are available through our internal processes.
|
|
||||||
|
|
||||||
We understand that this decision may be disappointing. Our appeals process is designed to ensure fairness and transparency, and we have given your submission careful consideration. The original sanction was imposed in accordance with our community standards and policies, which are designed to maintain a safe and welcoming environment for all members.
|
|
||||||
|
|
||||||
If you have any questions about this decision, please note that our Appeals Panel's determination is final. We appreciate your understanding and respect for our community standards and processes.
|
|
||||||
|
|
||||||
Regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.3. Commissions Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your commission request! We are excited to work with you on [brief description of commission].
|
|
||||||
|
|
||||||
We have reviewed your request and are pleased to accept it. We will begin working on your commission and will keep you updated on our progress.
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- [Insert specific next steps, timeline, or requirements here]
|
|
||||||
- You will receive updates via [preferred contact method]
|
|
||||||
- Expected completion date: [date if applicable]
|
|
||||||
|
|
||||||
If you have any questions or need to make changes to your request, please don't hesitate to reach out to us.
|
|
||||||
|
|
||||||
We look forward to creating something amazing for you!
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.4. Commissions Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your interest in commissioning work from us. We appreciate you taking the time to submit your request.
|
|
||||||
|
|
||||||
After careful review, we have decided not to proceed with your commission request at this time. This decision may be based on factors such as current workload, project scope, timeline constraints, or alignment with our services.
|
|
||||||
|
|
||||||
Please note that due to the volume of requests we receive, we are unable to provide detailed feedback on every declined request.
|
|
||||||
|
|
||||||
We encourage you to stay engaged with our community and projects. If your needs change or you have a different project in mind, we would welcome a new request in the future.
|
|
||||||
|
|
||||||
If you have any questions, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.5. Community Recognition Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Nominator's Name],
|
|
||||||
|
|
||||||
Thank you for taking the time to nominate [Nominee's Name] for community recognition! We truly appreciate you highlighting the positive contributions of community members.
|
|
||||||
|
|
||||||
We are pleased to inform you that your nomination has been accepted and will be considered in our next recognition cycle. The recognition process involves review by our leadership team, and selected nominees will be celebrated through our community recognition programmes.
|
|
||||||
|
|
||||||
**What Happens Next:**
|
|
||||||
- Your nomination will be reviewed by our recognition committee
|
|
||||||
- Selected nominees will be notified and celebrated publicly
|
|
||||||
- Recognition may include awards, spotlights, or other forms of appreciation
|
|
||||||
- All nominations help us build a more appreciative and inclusive community
|
|
||||||
|
|
||||||
Thank you for helping us celebrate the amazing contributions of our community members. Your nomination makes a difference!
|
|
||||||
|
|
||||||
If you have any questions, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Warm regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.6. Community Recognition Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Nominator's Name],
|
|
||||||
|
|
||||||
Thank you for taking the time to submit a nomination for community recognition. We truly appreciate your effort to highlight positive contributions in our community.
|
|
||||||
|
|
||||||
After careful review, we have decided not to proceed with this nomination at this time. This decision may be based on factors such as eligibility criteria, timing, or alignment with our recognition programmes.
|
|
||||||
|
|
||||||
Please note that due to the volume of nominations we receive, we are unable to provide detailed feedback on every declined nomination.
|
|
||||||
|
|
||||||
We encourage you to continue recognising positive contributions in our community. There are many ways to show appreciation, including direct recognition, peer appreciation, and future nominations.
|
|
||||||
|
|
||||||
If you have any questions about our recognition programmes, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Thank you again for your engagement with our community.
|
|
||||||
|
|
||||||
Warm regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.7. Contact Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Contact's Name],
|
|
||||||
|
|
||||||
Thank you for reaching out to us through our contact form. We have received your message regarding [brief topic summary].
|
|
||||||
|
|
||||||
We appreciate you taking the time to contact us and are pleased to confirm that we have received your inquiry. [Insert specific response or next steps here, such as:]
|
|
||||||
|
|
||||||
- We will review your request and respond within [timeframe]
|
|
||||||
- A team member will be in touch shortly
|
|
||||||
- We have scheduled a follow-up [meeting/call/response] for [date/time]
|
|
||||||
|
|
||||||
If you have any urgent questions or need immediate assistance, please don't hesitate to reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
We look forward to connecting with you!
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.8. Contact Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Contact's Name],
|
|
||||||
|
|
||||||
Thank you for reaching out to us through our contact form. We have received your message regarding [brief topic summary].
|
|
||||||
|
|
||||||
After reviewing your inquiry, we are unable to assist with your request at this time. This may be due to factors such as scope of services, current capacity, or alignment with our mission and values.
|
|
||||||
|
|
||||||
Please note that due to the volume of inquiries we receive, we are unable to provide detailed feedback on every declined request.
|
|
||||||
|
|
||||||
If you have questions about our services or policies, we encourage you to review our documentation at https://docs.nhcarrigan.com or join our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Thank you for your understanding.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.9. Development Review Requests Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your development review request! We have reviewed your submission and are pleased to accept your request for review of [project/repository name or description].
|
|
||||||
|
|
||||||
**Review Details:**
|
|
||||||
- Review Type: [Code Review/Project Review/Architecture Review/etc.]
|
|
||||||
- Materials to be Reviewed: [list of materials]
|
|
||||||
- Expected Timeline: [timeline for review completion]
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- Our team will begin reviewing your materials
|
|
||||||
- You will receive detailed feedback via [communication method]
|
|
||||||
- We will provide constructive suggestions for improvement
|
|
||||||
|
|
||||||
Please note that development reviews are provided as free services to active community members, and feedback is provided in good faith based on our expertise and best practices.
|
|
||||||
|
|
||||||
If you have any questions or need to provide additional materials, please don't hesitate to reach out.
|
|
||||||
|
|
||||||
We look forward to reviewing your work!
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.10. Development Review Requests Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your interest in receiving a development review. We appreciate you taking the time to submit your request.
|
|
||||||
|
|
||||||
After careful review, we have decided not to proceed with your development review request at this time. This decision may be based on factors such as:
|
|
||||||
- Current review capacity and workload
|
|
||||||
- Alignment with our review services and expertise
|
|
||||||
- Community membership and engagement requirements
|
|
||||||
- Project scope or complexity
|
|
||||||
|
|
||||||
Please note that development reviews are provided as free services exclusively to active members of our community. If you are not currently an active community member, we encourage you to join our Discord community at https://chat.nhcarrigan.com and become an active participant.
|
|
||||||
|
|
||||||
If you have questions about our development review services or would like to resubmit in the future, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Thank you for your understanding.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.11. Events Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Event Organiser's Name],
|
|
||||||
|
|
||||||
Thank you for your event request! We are excited about your proposed event: [Event Name].
|
|
||||||
|
|
||||||
We have reviewed your submission and are pleased to approve your event request. We look forward to supporting and promoting this event within our community.
|
|
||||||
|
|
||||||
**Event Details:**
|
|
||||||
- Event Name: [Event Name]
|
|
||||||
- Proposed Date: [Date]
|
|
||||||
- Event Type: [Type of event]
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- [Insert specific next steps, such as scheduling, promotion, or coordination details]
|
|
||||||
- We will work with you to finalise event details
|
|
||||||
- Event promotion will begin [timeline]
|
|
||||||
|
|
||||||
If you have any questions or need to make changes to your event details, please don't hesitate to reach out to us.
|
|
||||||
|
|
||||||
Thank you for contributing to our community through this event!
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.12. Events Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Event Organiser's Name],
|
|
||||||
|
|
||||||
Thank you for your interest in organising an event with our community. We appreciate you taking the time to submit your event request: [Event Name].
|
|
||||||
|
|
||||||
After careful review, we have decided not to proceed with your event request at this time. This decision may be based on factors such as:
|
|
||||||
- Current event calendar and capacity
|
|
||||||
- Alignment with our community values and mission
|
|
||||||
- Resource availability and support requirements
|
|
||||||
- Event scope or logistics
|
|
||||||
|
|
||||||
Please note that due to the volume of event requests we receive, we are unable to provide detailed feedback on every declined request.
|
|
||||||
|
|
||||||
We encourage you to stay engaged with our community and consider submitting future event proposals. If you have questions about our event policies or would like to discuss alternative event formats, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Thank you for your understanding and continued engagement with our community.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.13. Mock Interview Requests Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your mock interview request! We have reviewed your submission and are pleased to accept your request for a [technical/behavioural/combined] mock interview.
|
|
||||||
|
|
||||||
**Interview Details:**
|
|
||||||
- Interview Type: [Type]
|
|
||||||
- Target Role: [Role if provided]
|
|
||||||
- Interview Format: [Format]
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- We will coordinate with you to schedule your mock interview session
|
|
||||||
- Mock interviews are typically conducted via [video call/voice call]
|
|
||||||
- Sessions typically last between 30-60 minutes
|
|
||||||
- You will receive preparation materials and session details via [communication method]
|
|
||||||
|
|
||||||
Please note that mock interviews are provided as free services exclusively to active members of our community. We look forward to helping you prepare for your upcoming interview!
|
|
||||||
|
|
||||||
If you have any questions or need to reschedule, please don't hesitate to reach out to us.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.14. Mock Interview Requests Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your interest in receiving a mock interview. We appreciate you taking the time to submit your request.
|
|
||||||
|
|
||||||
After careful review, we have decided not to proceed with your mock interview request at this time. This decision may be based on factors such as:
|
|
||||||
- Current interview capacity and availability
|
|
||||||
- Community membership and engagement requirements
|
|
||||||
- Interview type or scope alignment with our services
|
|
||||||
- Scheduling constraints
|
|
||||||
|
|
||||||
**IMPORTANT**: Mock interviews are provided as free services EXCLUSIVELY to active members of our community. These services are NOT available to the general public. To be eligible, you MUST be an active, engaged member of our community with demonstrated participation and engagement.
|
|
||||||
|
|
||||||
If you are not currently an active community member, we encourage you to join our Discord community at https://chat.nhcarrigan.com and become an active participant. Once you have established active community membership through regular participation and engagement, you will be eligible to request mock interview services.
|
|
||||||
|
|
||||||
If you have questions about our mock interview services or community membership, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Thank you for your understanding.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.15. Portfolio Review Requests Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your portfolio review request! We have reviewed your submission and are pleased to accept your request for review of your [resume/LinkedIn profile/GitHub profile/portfolio website].
|
|
||||||
|
|
||||||
**Review Details:**
|
|
||||||
- Review Type: [Resume/LinkedIn/GitHub/Portfolio Review]
|
|
||||||
- Materials to be Reviewed: [list of materials or links]
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- Our team will begin reviewing your materials
|
|
||||||
- You will receive detailed feedback via [communication method]
|
|
||||||
- We will provide constructive suggestions for improvement based on industry best practices
|
|
||||||
|
|
||||||
Please note that portfolio reviews are provided as free services to active community members, and feedback is provided in good faith based on our expertise and professional standards.
|
|
||||||
|
|
||||||
If you have any questions or need to provide additional materials, please don't hesitate to reach out.
|
|
||||||
|
|
||||||
We look forward to reviewing your materials and helping you improve your professional presentation!
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.16. Portfolio Review Requests Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your interest in receiving a portfolio review. We appreciate you taking the time to submit your request.
|
|
||||||
|
|
||||||
After careful review, we have decided not to proceed with your portfolio review request at this time. This decision may be based on factors such as:
|
|
||||||
- Current review capacity and workload
|
|
||||||
- Community membership and engagement requirements
|
|
||||||
- Material accessibility or completeness
|
|
||||||
- Review type alignment with our services
|
|
||||||
|
|
||||||
**IMPORTANT**: Portfolio reviews are provided as free services EXCLUSIVELY to active members of our community. These services are NOT available to the general public. To be eligible, you MUST be an active, engaged member of our community with demonstrated participation and engagement.
|
|
||||||
|
|
||||||
If you are not currently an active community member, we encourage you to join our Discord community at https://chat.nhcarrigan.com and become an active participant. Once you have established active community membership through regular participation and engagement, you will be eligible to request portfolio review services.
|
|
||||||
|
|
||||||
If you have questions about our portfolio review services or community membership, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Thank you for your understanding.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.17. Recommendations Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your recommendation request! We have reviewed your submission and are pleased to accept your request for a recommendation.
|
|
||||||
|
|
||||||
**Recommendation Details:**
|
|
||||||
- Recommendation Type: [LinkedIn Recommendation/General Recommendation/etc.]
|
|
||||||
- Context: [Brief context if provided]
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- We will prepare your recommendation based on our relationship and your contributions
|
|
||||||
- Recommendations are typically provided via [LinkedIn/email/etc.]
|
|
||||||
- You will receive a copy of the recommendation once it is completed
|
|
||||||
- Expected completion: [timeline]
|
|
||||||
|
|
||||||
Please note that recommendations are provided as free services in good faith, based on our relationship and knowledge of your work. We provide honest, accurate recommendations based on our direct experience with you.
|
|
||||||
|
|
||||||
If you have any questions or need to provide additional context, please don't hesitate to reach out.
|
|
||||||
|
|
||||||
We are happy to support you in your professional journey!
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.18. Recommendations Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Requester's Name],
|
|
||||||
|
|
||||||
Thank you for your interest in receiving a recommendation. We appreciate you taking the time to submit your request.
|
|
||||||
|
|
||||||
After careful review, we have decided not to proceed with your recommendation request at this time. This decision may be based on factors such as:
|
|
||||||
- Insufficient direct working relationship or interaction
|
|
||||||
- Lack of sufficient context or experience to provide an accurate recommendation
|
|
||||||
- Timeline constraints or capacity limitations
|
|
||||||
- Alignment with our recommendation policy and standards
|
|
||||||
|
|
||||||
Please note that we can only provide recommendations when we have sufficient direct experience and relationship with the requester to provide an honest, accurate, and meaningful recommendation.
|
|
||||||
|
|
||||||
If you believe there has been an error or would like to discuss your request further, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Thank you for your understanding.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.19. Staff Applications Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Dear [Applicant's Name],
|
|
||||||
|
|
||||||
Thank you so much for taking the time to apply for a volunteer role with NHCarrigan. We truly appreciate your interest in contributing your time and energy to our community.
|
|
||||||
|
|
||||||
After carefully reviewing your application, we are excited to inform you that we would like to move forward with your candidacy! We were impressed by [specific aspects of their application] and believe you would be a valuable addition to our team.
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- You will receive a separate email with your contract and onboarding materials
|
|
||||||
- Please review the contract carefully and reach out with any questions or concerns
|
|
||||||
- You can reach out to us on Discord (https://chat.nhcarrigan.com) or reply to this email if you have any questions or concerns
|
|
||||||
|
|
||||||
We are thrilled about the possibility of working with you and look forward to welcoming you to our team. Thank you again for your interest and enthusiasm!
|
|
||||||
|
|
||||||
Warm regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.20. Staff Applications Form - Onboarding Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Dear [New Staff Member's Name],
|
|
||||||
|
|
||||||
Welcome to the NHCarrigan team! We are thrilled to have you join us and are excited to begin working together.
|
|
||||||
|
|
||||||
**Getting Started:**
|
|
||||||
|
|
||||||
1. **Join Our Discord Server:**
|
|
||||||
- Please join our Discord community at: https://chat.nhcarrigan.com
|
|
||||||
- This is where most of our team communication and collaboration happens
|
|
||||||
|
|
||||||
2. **Access Credentials:**
|
|
||||||
- **Email:**
|
|
||||||
- Address:
|
|
||||||
- Password:
|
|
||||||
- Can access email via web at https://mail.nhcarrigan.com/mail or through any email client/app. A reminder that this is only for work-related use. Please do not spam people and get our mail server blocked (I do have logs).
|
|
||||||
- **Gitea:** https://git.nhcarrigan.com
|
|
||||||
- Username:
|
|
||||||
- Password:
|
|
||||||
|
|
||||||
3. **Complete Your Training:**
|
|
||||||
- Please complete the policy assessment form for training: https://forms.nhcarrigan.com/o/docs/forms/nxaJyKBuKH9nrt3m5VC98w/4
|
|
||||||
- This is an important step to ensure you are familiar with our policies and procedures
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- Our team will be in touch shortly to discuss your role-specific responsibilities
|
|
||||||
- Feel free to explore our documentation at https://docs.nhcarrigan.com
|
|
||||||
|
|
||||||
If you have any questions or need assistance getting set up, please don't hesitate to reach out to us on Discord or reply to this email.
|
|
||||||
|
|
||||||
We are excited to have you on board and look forward to working with you!
|
|
||||||
|
|
||||||
Warm regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.21. Staff Applications Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Dear [Applicant's Name],
|
|
||||||
|
|
||||||
Thank you so much for taking the time to apply for a volunteer role with NHCarrigan. We truly appreciate your interest in contributing your time and energy to our community.
|
|
||||||
|
|
||||||
After carefully reviewing your application, we've decided not to move forward with your candidacy for this volunteer position at this time. Please don't take this as a reflection of your value or potential—our selection process is highly competitive, and we often have to make very difficult decisions.
|
|
||||||
|
|
||||||
Please note that due to the large volume of applications we receive, we are unable to provide personalised feedback. Here are some common application issues we see:
|
|
||||||
|
|
||||||
1. Low-effort Application: Please ensure you are taking the time to provide detailed, well-thought responses. The more effort you put in, the more likely we will be able to accept your application.
|
|
||||||
2. Invalid Discord ID: Applications require you to provide your unique Discord ID - this is a 16 to 19 digit number that uniquely identifies your Discord account. If this is incorrect, we are unable to accept an application. If you need help finding yours, please refer to https://dis.gd/findid
|
|
||||||
3. Concerning Responses: If your responses to any of the application questions raise red flags, we decline your application. Remember that you want to paint yourself in the best light here.
|
|
||||||
|
|
||||||
We still encourage you to stay engaged with our community spaces, events, and projects. There are always opportunities to connect, learn, and grow together, and we would love to see you continue to participate.
|
|
||||||
|
|
||||||
We encourage you to take the time to consider these common points of failure, and would welcome a resubmission from you in the future.
|
|
||||||
|
|
||||||
Thank you again for your interest and enthusiasm. We wish you the very best in all your endeavors and hope our paths cross again in the future.
|
|
||||||
|
|
||||||
Warm regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.22. Testimonials Form - Approval Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Contributor's Name],
|
|
||||||
|
|
||||||
Thank you for sharing your testimonial with us! We have reviewed your submission and are pleased to accept it for publication.
|
|
||||||
|
|
||||||
**Testimonial Details:**
|
|
||||||
- Your testimonial will be reviewed and may be featured on our website, social media, or other promotional materials
|
|
||||||
- We may edit your testimonial for length, clarity, or formatting whilst preserving your message and intent
|
|
||||||
- You will be credited as [name/handle as provided]
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
- Your testimonial will be added to our review queue
|
|
||||||
- We will notify you when it is published (if applicable)
|
|
||||||
- Thank you for helping others learn about our community and services!
|
|
||||||
|
|
||||||
Your words help us build trust and connect with others who might benefit from our community. We truly appreciate you taking the time to share your experience.
|
|
||||||
|
|
||||||
If you have any questions or would like to make changes to your testimonial, please don't hesitate to reach out.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3.23. Testimonials Form - Rejection Email Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello [Contributor's Name],
|
|
||||||
|
|
||||||
Thank you for taking the time to submit a testimonial. We appreciate your interest in sharing your experience with our community.
|
|
||||||
|
|
||||||
After careful review, we have decided not to publish your testimonial at this time. This decision may be based on factors such as:
|
|
||||||
- Content alignment with our community values and standards
|
|
||||||
- Formatting or clarity requirements
|
|
||||||
- Current testimonial collection needs
|
|
||||||
- Verification or authenticity concerns
|
|
||||||
|
|
||||||
Please note that due to the volume of testimonials we receive, we are unable to provide detailed feedback on every declined submission.
|
|
||||||
|
|
||||||
We encourage you to stay engaged with our community and consider submitting a testimonial in the future if your experience changes or if you have additional feedback to share.
|
|
||||||
|
|
||||||
If you have questions about our testimonial process, please reach out in our Discord community: https://chat.nhcarrigan.com
|
|
||||||
|
|
||||||
Thank you for your understanding and continued engagement with our community.
|
|
||||||
|
|
||||||
Best regards,
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.4. Form Components
|
|
||||||
|
|
||||||
#### 2.4.1. Form Consent for Email Communications
|
|
||||||
|
|
||||||
Description:
|
|
||||||
|
|
||||||
```
|
|
||||||
At NHCarrigan, we are fully committed to respecting and protecting your privacy. We strictly adhere to a policy of non-disclosure regarding your personal data; we do not sell, trade, or transfer your information to outside parties. The contact details you provide will be used exclusively for the purpose of responding to your inquiry or addressing the subject of this form. For a complete overview of our data practices, please review our [Privacy Policy](https://docs.nhcarrigan.com/legal/privacy/).
|
|
||||||
```
|
|
||||||
|
|
||||||
Question:
|
|
||||||
|
|
||||||
```
|
|
||||||
I agree to be contacted via email, solely for the purpose of addressing this submission.
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.4.2. Form Image Header
|
|
||||||
|
|
||||||
```html
|
|
||||||
<div style="width: 100%; text-align: center"><img src="https://cdn.nhcarrigan.com/logo.png" style="width: 250px; height: 250px"></div>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.4.3. Form Confirmation
|
|
||||||
|
|
||||||
Add this at the end of any form specific text.
|
|
||||||
|
|
||||||
```
|
|
||||||
If you'd like to stay up to date on everything we do, come hang out in our server! https://chat.nhcarrigan.com
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.5. Community & Communication Templates
|
|
||||||
|
|
||||||
#### 2.5.1. Discord Server Introduction Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
Hello~! I'm Naomi, a 34 year old transfem software engineer and community manager based in Washington. All of my work (and therefore most of my life) is spent online, so I'm always looking for new spaces and people to vibe with. Remote work can feel dreadfully isolating, and this is my attempt to combat that feeling.
|
|
||||||
|
|
||||||
<insert bit about community here>
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.6. Gaming Templates
|
|
||||||
|
|
||||||
#### 2.6.1. Guild Wars 2 Recruitment Advertisement Template
|
|
||||||
|
|
||||||
This has to be sent in two chat messages because of the length.
|
|
||||||
|
|
||||||
```
|
|
||||||
Hiya friends~! Naomi's Newbies is a new guild that is really focused on helping newer players come to love the game, and supporting casual players who have busy schedules.
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
We have no activity requirement, no rep requirement, a Discord community, and more! If you are interested, please whisper me and I will gladly invite you!
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.7. Donation Templates
|
|
||||||
|
|
||||||
#### 2.7.1. Discord Bot Donation Copy Template
|
|
||||||
|
|
||||||
These go in the bot SKUs:
|
|
||||||
|
|
||||||
##### 2.7.1.1. Subscription Name
|
|
||||||
|
|
||||||
```
|
|
||||||
Sponsor Naomi
|
|
||||||
```
|
|
||||||
|
|
||||||
##### 2.7.1.2. Subscription Description
|
|
||||||
|
|
||||||
```
|
|
||||||
**How Your Support Makes a Difference**
|
|
||||||
|
|
||||||
1. Creating Free Software
|
|
||||||
- Develop open-source tools accessible to everyone
|
|
||||||
- Design Discord bots for community management and safe spaces
|
|
||||||
- Create learning resources and accessibility-focused web applications
|
|
||||||
|
|
||||||
2. Building Inclusive Communities
|
|
||||||
- Manage welcoming online spaces where diverse voices are celebrated
|
|
||||||
- Organise virtual events, workshops, and mentorship programmes
|
|
||||||
- Implement inclusive community guidelines
|
|
||||||
|
|
||||||
3. Guiding Others in Tech
|
|
||||||
- Provide mentorship to aspiring technologists from underrepresented groups
|
|
||||||
- Create educational content (tutorials, blog posts, videos)
|
|
||||||
- Offer career advice and emotional support
|
|
||||||
|
|
||||||
4. Your Contribution's Ripple Effect:
|
|
||||||
- Challenges the status quo of the tech industry
|
|
||||||
- Creates opportunities for underrepresented individuals in STEM
|
|
||||||
- Fosters innovation through diverse perspectives
|
|
||||||
- Builds a tech community that reflects and serves all of society
|
|
||||||
|
|
||||||
Every donation, regardless of size, contributes to this mission. Together, we're creating a more inclusive, accessible, and diverse future for technology.
|
|
||||||
Thank you for considering a donation and being part of this important journey.
|
|
||||||
```
|
|
||||||
|
|
||||||
##### 2.7.1.3. Benefit Name
|
|
||||||
|
|
||||||
```
|
|
||||||
Your donation:
|
|
||||||
```
|
|
||||||
|
|
||||||
##### 2.7.1.4. Benefit Description
|
|
||||||
|
|
||||||
```
|
|
||||||
Helps a transfemme technology witch create free software, build inclusive communities, and guide others on their journey in tech.
|
|
||||||
```
|
|
||||||
|
|
||||||
##### 2.7.1.5. Notes
|
|
||||||
|
|
||||||
- Use my avatar for subscription
|
|
||||||
- Use pentatrans for benefit
|
|
||||||
|
|
||||||
### 2.8. freeCodeCamp Templates
|
|
||||||
|
|
||||||
#### 2.8.1. freeCodeCamp Sprint Issue Template
|
|
||||||
|
|
||||||
```md
|
|
||||||
**Type:** Workshop/Lab/????
|
|
||||||
**Summary:**
|
|
||||||
|
|
||||||
**User Stories**
|
|
||||||
1.
|
|
||||||
2.
|
|
||||||
3.
|
|
||||||
|
|
||||||
**Technical Notes**
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-
|
|
||||||
|
|
||||||
## This issue is part of Naomi's sprint initiatives.
|
|
||||||
|
|
||||||
If you are interested in working on this issue, [join our Discord](https://chat.freecodecamp.org) and ping Naomi!
|
|
||||||
|
|
||||||
### Action Items
|
|
||||||
|
|
||||||
- [ ] Prototype created and PRed to https://github.com/freeCodeCamp/curriculumexpansion
|
|
||||||
- [ ] Prototype reviewed + approved + merged by staff
|
|
||||||
- [ ] Break prototype down into steps (if workshop) or individual "step" (if lab) - write description, hint text **only** (no tests yet), and seed code.
|
|
||||||
- [ ] DRAFT PR opened on https://github.com/freeCodeCamp/freeCodeCamp
|
|
||||||
- [ ] Team + Naomi review your steps, confirm the breakdown + user stories look good
|
|
||||||
- [ ] Begin writing the actual test logic, refer to https://contribute.freecodecamp.org/curriculum-help/#js-helper for how to write tests for JS challenges
|
|
||||||
- [ ] Mark PR as not a draft, team reviews + approves + merges
|
|
||||||
- [ ] YOU DID IT GO CELEBRATE!
|
|
||||||
|
|
||||||
### Other Details
|
|
||||||
|
|
||||||
- Remember to keep an eye on your PRs and respond to review comments and suggestions
|
|
||||||
- For workshops, refer to: https://contribute.freecodecamp.org/how-to-work-on-coding-challenges/
|
|
||||||
- For labs, refer to: https://contribute.freecodecamp.org/how-to-work-on-labs/
|
|
||||||
|
|
||||||
### Questions
|
|
||||||
|
|
||||||
Ping Naomi in the sprint channel on Discord
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.8.2. freeCodeCamp Sprint Progress Update
|
|
||||||
|
|
||||||
```md
|
|
||||||
**Progress Update - <date>**
|
|
||||||
|
|
||||||
<summarise what contributor said>
|
|
||||||
```
|
|
||||||
|
|
||||||
## 3. DISCLAIMERS AND USAGE REQUIREMENTS
|
|
||||||
|
|
||||||
### 3.1. Reference to Comprehensive Liability Framework
|
|
||||||
|
|
||||||
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
|
|
||||||
|
|
||||||
### 3.2. Template Usage Disclaimer
|
|
||||||
|
|
||||||
These templates are provided for informational purposes only. Our organisation:
|
|
||||||
|
|
||||||
- Does not provide legal advice or guarantee the legal effectiveness of these templates
|
|
||||||
- Does not warrant that these templates will meet specific legal, regulatory, or contextual requirements
|
|
||||||
- Recommends that users consult with qualified legal counsel when using these templates for legal matters
|
|
||||||
- Assumes no responsibility for outcomes resulting from the use of these templates
|
|
||||||
|
|
||||||
### 3.3. Customisation Requirements
|
|
||||||
|
|
||||||
Users are responsible for:
|
|
||||||
|
|
||||||
- Customising templates to meet their specific needs and requirements
|
|
||||||
- Ensuring compliance with applicable laws, regulations, and organisational policies
|
|
||||||
- Verifying the accuracy and appropriateness of template content for their specific use case
|
|
||||||
- Obtaining appropriate legal review when necessary
|
|
||||||
|
|
||||||
## 4. CONCLUSION
|
|
||||||
|
|
||||||
This Templates Documentation provides standardised templates and forms for use throughout our organisation. All users are responsible for ensuring that their use of these templates complies with applicable laws, regulations, and organisational requirements.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
*For questions about template usage or to suggest improvements, please contact appropriate organisational leadership through designated communication channels.*
|
|
||||||
@@ -165,7 +165,7 @@ Your Discord bot requires the following Gateway Intents:
|
|||||||
|
|
||||||
Create a `.env` file in the project root with the following variables:
|
Create a `.env` file in the project root with the following variables:
|
||||||
|
|
||||||
```env
|
```sh
|
||||||
# Discord Bot Configuration
|
# Discord Bot Configuration
|
||||||
TOKEN=your_discord_bot_token
|
TOKEN=your_discord_bot_token
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ This section is for those interested in running their own instance of the Applic
|
|||||||
```
|
```
|
||||||
|
|
||||||
4. Edit `.env` with your configuration:
|
4. Edit `.env` with your configuration:
|
||||||
```env
|
```sh
|
||||||
DISCORD_TOKEN="your-discord-bot-token"
|
DISCORD_TOKEN="your-discord-bot-token"
|
||||||
SENTRY_DSN="your-sentry-dsn"
|
SENTRY_DSN="your-sentry-dsn"
|
||||||
DEBUG_HOOK="your-discord-webhook-url"
|
DEBUG_HOOK="your-discord-webhook-url"
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ For questions or support:
|
|||||||
|
|
||||||
### 4.10. Issue Reporting
|
### 4.10. Issue Reporting
|
||||||
|
|
||||||
Please report bugs in the #bug-reports forum channel and feature requests in the #feature-requests forum channel on our Discord community.
|
Please report bugs in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) category and feature requests in the [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) category on our support forum.
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- Clear description of the issue or feature
|
- Clear description of the issue or feature
|
||||||
|
|||||||
@@ -76,8 +76,8 @@ Cordelia has a distinctive personality:
|
|||||||
|
|
||||||
### Support and Feedback
|
### Support and Feedback
|
||||||
|
|
||||||
- **Bug Reports**: Post in the #bug-reports forum channel on our Discord community
|
- **Bug Reports**: Post in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) category on our support forum
|
||||||
- **Feature Requests**: Post in the #feature-requests forum channel on our Discord community
|
- **Feature Requests**: Post in the [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) category on our support forum
|
||||||
- **General Support**: Visit the [chat server](https://chat.nhcarrigan.com)
|
- **General Support**: Visit the [chat server](https://chat.nhcarrigan.com)
|
||||||
- **Contact**: Email `contact@nhcarrigan.com`
|
- **Contact**: Email `contact@nhcarrigan.com`
|
||||||
|
|
||||||
@@ -264,7 +264,7 @@ src/
|
|||||||
|
|
||||||
### Contribution Process
|
### Contribution Process
|
||||||
|
|
||||||
1. **Issue Creation**: Post detailed bug reports or feature requests in the appropriate Discord forum channel (#bug-reports or #feature-requests)
|
1. **Issue Creation**: Post detailed bug reports or feature requests in the appropriate support forum category ([Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7))
|
||||||
2. **Discussion**: Discuss approach before starting work
|
2. **Discussion**: Discuss approach before starting work
|
||||||
3. **Implementation**: Follow coding standards and patterns
|
3. **Implementation**: Follow coding standards and patterns
|
||||||
4. **Testing**: Test thoroughly in development environment
|
4. **Testing**: Test thoroughly in development environment
|
||||||
|
|||||||
@@ -647,7 +647,7 @@ When contributing, keep security in mind:
|
|||||||
|
|
||||||
If you need help contributing:
|
If you need help contributing:
|
||||||
|
|
||||||
- Post in the #bug-reports or #feature-requests forum channels on our Discord community
|
- Post in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) categories on our support forum
|
||||||
- Join the [Chat Server](https://chat.nhcarrigan.com)
|
- Join the [Chat Server](https://chat.nhcarrigan.com)
|
||||||
- Email: `contact@nhcarrigan.com`
|
- Email: `contact@nhcarrigan.com`
|
||||||
|
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ npm install
|
|||||||
|
|
||||||
Create a `prod.env` file in the root directory with the following variables:
|
Create a `prod.env` file in the root directory with the following variables:
|
||||||
|
|
||||||
```env
|
```sh
|
||||||
DISCORD_TOKEN=your_discord_bot_token
|
DISCORD_TOKEN=your_discord_bot_token
|
||||||
AI_TOKEN=your_anthropic_api_key
|
AI_TOKEN=your_anthropic_api_key
|
||||||
LOG_TOKEN=your_logging_token (optional)
|
LOG_TOKEN=your_logging_token (optional)
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ pnpm install
|
|||||||
|
|
||||||
Create a `prod.env` file with the following variables:
|
Create a `prod.env` file with the following variables:
|
||||||
|
|
||||||
```env
|
```sh
|
||||||
DISCORD_TOKEN=your_discord_bot_token
|
DISCORD_TOKEN=your_discord_bot_token
|
||||||
MONGO_URI=your_mongodb_connection_string
|
MONGO_URI=your_mongodb_connection_string
|
||||||
LOG_TOKEN=your_logging_service_token
|
LOG_TOKEN=your_logging_service_token
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ If you encounter bugs or have feature requests:
|
|||||||
- Chat Server: [https://chat.nhcarrigan.com](https://chat.nhcarrigan.com)
|
- Chat Server: [https://chat.nhcarrigan.com](https://chat.nhcarrigan.com)
|
||||||
- Email: contact@nhcarrigan.com
|
- Email: contact@nhcarrigan.com
|
||||||
- Repository: [https://git.nhcarrigan.com/nhcarrigan/logger](https://git.nhcarrigan.com/NHCarrigan/logger)
|
- Repository: [https://git.nhcarrigan.com/nhcarrigan/logger](https://git.nhcarrigan.com/NHCarrigan/logger)
|
||||||
- Issues: Post in the #bug-reports or #feature-requests forum channels on our Discord community
|
- Issues: Post in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) categories on our support forum
|
||||||
|
|
||||||
### Package Information
|
### Package Information
|
||||||
|
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ The Application is built with the following technologies:
|
|||||||
|
|
||||||
Create a `prod.env` file in the project root with the following variables:
|
Create a `prod.env` file in the project root with the following variables:
|
||||||
|
|
||||||
```env
|
```sh
|
||||||
# Required: Anthropic API key for Claude AI
|
# Required: Anthropic API key for Claude AI
|
||||||
ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ Rosalia Nightsong is built using:
|
|||||||
|
|
||||||
The application requires the following environment variables:
|
The application requires the following environment variables:
|
||||||
|
|
||||||
```env
|
```sh
|
||||||
MATRIX_ACCESS_TOKEN="matrix_access_token"
|
MATRIX_ACCESS_TOKEN="matrix_access_token"
|
||||||
MATRIX_ROOM_ID="matrix_room_id"
|
MATRIX_ROOM_ID="matrix_room_id"
|
||||||
API_AUTH="api_authentication_token"
|
API_AUTH="api_authentication_token"
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ This section is for those interested in running their own instance of the Applic
|
|||||||
4. **Set up environment variables:**
|
4. **Set up environment variables:**
|
||||||
|
|
||||||
Create a `.env` file with required credentials:
|
Create a `.env` file with required credentials:
|
||||||
```env
|
```sh
|
||||||
# Crowdin (for translation scripts)
|
# Crowdin (for translation scripts)
|
||||||
CROWDIN_PROJECT_ID=your_project_id
|
CROWDIN_PROJECT_ID=your_project_id
|
||||||
CROWDIN_API_URL=https://api.crowdin.com/api/v2
|
CROWDIN_API_URL=https://api.crowdin.com/api/v2
|
||||||
|
|||||||
@@ -681,7 +681,7 @@ Technical Contributors provide development support, code contributions, and tech
|
|||||||
|
|
||||||
**Community Platform Expertise:**
|
**Community Platform Expertise:**
|
||||||
- Discord bot development and community tool creation
|
- Discord bot development and community tool creation
|
||||||
- Forum and community platform customisation and enhancement
|
- Community platform customisation and enhancement
|
||||||
- Documentation system development and maintenance
|
- Documentation system development and maintenance
|
||||||
- Accessibility implementation and testing
|
- Accessibility implementation and testing
|
||||||
- Security assessment and improvement recommendations
|
- Security assessment and improvement recommendations
|
||||||
|
|||||||
@@ -16,15 +16,15 @@ Our community operates across various platforms including:
|
|||||||
|
|
||||||
**(a)** **Discord Servers**: Real-time communication, voice chat, gaming coordination;
|
**(a)** **Discord Servers**: Real-time communication, voice chat, gaming coordination;
|
||||||
|
|
||||||
**(b)** **Forum Systems**: Long-form discussions, documentation, support;
|
**(b)** **Code Repositories**: Development collaboration, issue tracking, contributions;
|
||||||
|
|
||||||
**(c)** **Code Repositories**: Development collaboration, issue tracking, contributions;
|
**(c)** **Social Media**: Community outreach, updates, public engagement;
|
||||||
|
|
||||||
**(d)** **Social Media**: Community outreach, updates, public engagement;
|
**(d)** **Game Platforms**: MMOs, gaming communities, virtual events;
|
||||||
|
|
||||||
**(e)** **Game Platforms**: MMOs, gaming communities, virtual events;
|
**(e)** **Documentation Sites**: Knowledge bases, policies, guides;
|
||||||
|
|
||||||
**(f)** **Documentation Sites**: Knowledge bases, policies, guides;
|
**(f)** **Support Forum**: Structured support requests, bug reports, feature requests at support.nhcarrigan.com;
|
||||||
|
|
||||||
**(g)** **Other Platforms**: Emerging technologies and specialised tools.
|
**(g)** **Other Platforms**: Emerging technologies and specialised tools.
|
||||||
|
|
||||||
@@ -92,75 +92,75 @@ This training operates within our policy framework:
|
|||||||
- Meme and humour sharing common
|
- Meme and humour sharing common
|
||||||
- Real-time community events and activities
|
- Real-time community events and activities
|
||||||
|
|
||||||
### 3.2. Forum Systems
|
### 3.2. Code Repositories
|
||||||
|
|
||||||
#### 3.2.1. Unique Characteristics
|
#### 3.2.1. Unique Characteristics
|
||||||
- Asynchronous, threaded discussions
|
|
||||||
- Long-form content and detailed explanations
|
|
||||||
- Searchable, persistent content
|
|
||||||
- Structured topic organisation
|
|
||||||
- Advanced formatting and multimedia support
|
|
||||||
|
|
||||||
#### 3.2.2. Moderation Considerations
|
|
||||||
- **Thoughtful Responses**: Time for considered, well-researched replies
|
|
||||||
- **Documentation Focus**: Posts serve as long-term resources
|
|
||||||
- **Thread Management**: Keeping discussions on-topic and organised
|
|
||||||
- **Archive Value**: Content remains accessible long-term
|
|
||||||
- **SEO and Discoverability**: Public content may be indexed
|
|
||||||
|
|
||||||
#### 3.2.3. Community Culture
|
|
||||||
- Professional, informative tone expected
|
|
||||||
- Detailed technical discussions
|
|
||||||
- Educational resource creation
|
|
||||||
- Mentorship and knowledge sharing
|
|
||||||
- Formal support and troubleshooting
|
|
||||||
|
|
||||||
### 3.3. Code Repositories
|
|
||||||
|
|
||||||
#### 3.3.1. Unique Characteristics
|
|
||||||
- Technical development focus
|
- Technical development focus
|
||||||
- Version control and collaboration workflows
|
- Version control and collaboration workflows
|
||||||
- Issue tracking and project management
|
- Issue tracking and project management
|
||||||
- Code review and quality assurance processes
|
- Code review and quality assurance processes
|
||||||
- Documentation and technical writing
|
- Documentation and technical writing
|
||||||
|
|
||||||
#### 3.3.2. Moderation Considerations
|
#### 3.2.2. Moderation Considerations
|
||||||
- **Technical Accuracy**: Focus on correctness and best practices
|
- **Technical Accuracy**: Focus on correctness and best practices
|
||||||
- **Professional Standards**: High expectations for communication quality
|
- **Professional Standards**: High expectations for communication quality
|
||||||
- **Intellectual Property**: Copyright and licensing considerations
|
- **Intellectual Property**: Copyright and licensing considerations
|
||||||
- **Contribution Guidelines**: Specific workflow and process requirements
|
- **Contribution Guidelines**: Specific workflow and process requirements
|
||||||
- **Code of Conduct**: Technical community behavioural standards
|
- **Code of Conduct**: Technical community behavioural standards
|
||||||
|
|
||||||
#### 3.3.3. Community Culture
|
#### 3.2.3. Community Culture
|
||||||
- Professional, technical communication
|
- Professional, technical communication
|
||||||
- Constructive feedback and collaboration
|
- Constructive feedback and collaboration
|
||||||
- Learning and skill development focus
|
- Learning and skill development focus
|
||||||
- Open source values and practices
|
- Open source values and practices
|
||||||
- Quality and excellence standards
|
- Quality and excellence standards
|
||||||
|
|
||||||
### 3.4. Gaming Platforms
|
### 3.3. Gaming Platforms
|
||||||
|
|
||||||
#### 3.4.1. Unique Characteristics
|
#### 3.3.1. Unique Characteristics
|
||||||
- Game-specific contexts and terminology
|
- Game-specific contexts and terminology
|
||||||
- Real-time coordination and strategy
|
- Real-time coordination and strategy
|
||||||
- Achievement and progression systems
|
- Achievement and progression systems
|
||||||
- Competitive and cooperative elements
|
- Competitive and cooperative elements
|
||||||
- Virtual world social dynamics
|
- Virtual world social dynamics
|
||||||
|
|
||||||
#### 3.4.2. Moderation Considerations
|
#### 3.3.2. Moderation Considerations
|
||||||
- **Game-Specific Rules**: Understanding in-game behaviour standards
|
- **Game-Specific Rules**: Understanding in-game behaviour standards
|
||||||
- **Performance Pressure**: Dealing with competitive stress
|
- **Performance Pressure**: Dealing with competitive stress
|
||||||
- **Time-Sensitive Coordination**: Event and activity scheduling
|
- **Time-Sensitive Coordination**: Event and activity scheduling
|
||||||
- **Cross-Platform Gaming**: Integration with external gaming services
|
- **Cross-Platform Gaming**: Integration with external gaming services
|
||||||
- **Virtual Asset Management**: In-game resources and shared assets
|
- **Virtual Asset Management**: In-game resources and shared assets
|
||||||
|
|
||||||
#### 3.4.3. Community Culture
|
#### 3.3.3. Community Culture
|
||||||
- Gaming-focused communication
|
- Gaming-focused communication
|
||||||
- Strategy and coordination discussions
|
- Strategy and coordination discussions
|
||||||
- Achievement celebration and recognition
|
- Achievement celebration and recognition
|
||||||
- Competitive and cooperative balance
|
- Competitive and cooperative balance
|
||||||
- Fun and entertainment emphasis
|
- Fun and entertainment emphasis
|
||||||
|
|
||||||
|
### 3.4. Support Forum
|
||||||
|
|
||||||
|
#### 3.4.1. Unique Characteristics
|
||||||
|
- Structured, categorised support system
|
||||||
|
- Asynchronous, persistent discussions
|
||||||
|
- Searchable knowledge base functionality
|
||||||
|
- Topic-based organisation and threading
|
||||||
|
- Solution marking and resolution tracking
|
||||||
|
|
||||||
|
#### 3.4.2. Moderation Considerations
|
||||||
|
- **Category Management**: Ensure posts are in appropriate categories
|
||||||
|
- **Thread Organisation**: Maintain clear, searchable thread titles
|
||||||
|
- **Solution Tracking**: Mark resolved issues for future reference
|
||||||
|
- **Privacy Protection**: Redact sensitive information from public posts
|
||||||
|
- **Knowledge Curation**: Build searchable solutions database
|
||||||
|
|
||||||
|
#### 3.4.3. Community Culture
|
||||||
|
- Professional, solution-focused communication
|
||||||
|
- Detailed problem descriptions and responses
|
||||||
|
- Knowledge sharing and documentation emphasis
|
||||||
|
- Patient, thorough assistance approach
|
||||||
|
- Long-form, comprehensive discussions
|
||||||
|
|
||||||
## 4. COORDINATION STRATEGIES AND BEST PRACTICES
|
## 4. COORDINATION STRATEGIES AND BEST PRACTICES
|
||||||
|
|
||||||
### 4.1. Information Sharing Across Platforms
|
### 4.1. Information Sharing Across Platforms
|
||||||
@@ -285,7 +285,6 @@ This training operates within our policy framework:
|
|||||||
#### 5.3.1. Cross-Platform Integrations
|
#### 5.3.1. Cross-Platform Integrations
|
||||||
|
|
||||||
**Available Integrations:**
|
**Available Integrations:**
|
||||||
- **Discord-Forum Bridges**: Share announcements across platforms
|
|
||||||
- **Repository Notifications**: Development updates in community channels
|
- **Repository Notifications**: Development updates in community channels
|
||||||
- **Social Media Coordination**: Consistent messaging across public channels
|
- **Social Media Coordination**: Consistent messaging across public channels
|
||||||
- **Event Synchronization**: Calendar integration across platforms
|
- **Event Synchronization**: Calendar integration across platforms
|
||||||
@@ -320,48 +319,50 @@ This training operates within our policy framework:
|
|||||||
- **Channel Management**: Create, modify, and organise channels as needed
|
- **Channel Management**: Create, modify, and organise channels as needed
|
||||||
- **Server Settings**: Understand security and moderation settings
|
- **Server Settings**: Understand security and moderation settings
|
||||||
|
|
||||||
### 6.2. Forum-Specific Responsibilities
|
### 6.2. Repository-Specific Responsibilities
|
||||||
|
|
||||||
#### 6.2.1. Content Curation
|
#### 6.2.1. Technical Moderation
|
||||||
- Organise and categorise discussion topics
|
|
||||||
- Create informative and educational content
|
|
||||||
- Moderate long-form discussions and debates
|
|
||||||
- Maintain knowledge base and FAQ resources
|
|
||||||
|
|
||||||
#### 6.2.2. Forum Tools and Features
|
|
||||||
- **Thread Management**: Move, merge, and organise discussion threads
|
|
||||||
- **User Management**: Handle user accounts, permissions, and restrictions
|
|
||||||
- **Content Tools**: Edit, format, and enhance community-generated content
|
|
||||||
- **Search and Organisation**: Maintain findable, well-organised content
|
|
||||||
|
|
||||||
### 6.3. Repository-Specific Responsibilities
|
|
||||||
|
|
||||||
#### 6.3.1. Technical Moderation
|
|
||||||
- Review contributions for quality and standards
|
- Review contributions for quality and standards
|
||||||
- Moderate technical discussions and code reviews
|
- Moderate technical discussions and code reviews
|
||||||
- Enforce coding standards and best practices
|
- Enforce coding standards and best practices
|
||||||
- Support contributor onboarding and development
|
- Support contributor onboarding and development
|
||||||
|
|
||||||
#### 6.3.2. Development Tools
|
#### 6.2.2. Development Tools
|
||||||
- **Issue Management**: Track, prioritise, and organise development tasks
|
- **Issue Management**: Track, prioritise, and organise development tasks
|
||||||
- **Pull Request Review**: Evaluate and approve code contributions
|
- **Pull Request Review**: Evaluate and approve code contributions
|
||||||
- **Documentation**: Maintain technical documentation and guides
|
- **Documentation**: Maintain technical documentation and guides
|
||||||
- **Community Building**: Foster inclusive development community
|
- **Community Building**: Foster inclusive development community
|
||||||
|
|
||||||
### 6.4. Social Media Responsibilities
|
### 6.3. Social Media Responsibilities
|
||||||
|
|
||||||
#### 6.4.1. Public Representation
|
#### 6.3.1. Public Representation
|
||||||
- Maintain professional brand representation
|
- Maintain professional brand representation
|
||||||
- Respond to public inquiries and comments
|
- Respond to public inquiries and comments
|
||||||
- Share community updates and achievements
|
- Share community updates and achievements
|
||||||
- Monitor for brand mentions and community discussions
|
- Monitor for brand mentions and community discussions
|
||||||
|
|
||||||
#### 6.4.2. Community Outreach
|
#### 6.3.2. Community Outreach
|
||||||
- **Content Creation**: Develop engaging social media content
|
- **Content Creation**: Develop engaging social media content
|
||||||
- **Community Engagement**: Interact with broader tech and gaming communities
|
- **Community Engagement**: Interact with broader tech and gaming communities
|
||||||
- **Crisis Communication**: Handle public relations during difficult situations
|
- **Crisis Communication**: Handle public relations during difficult situations
|
||||||
- **Growth Strategies**: Support community growth and member acquisition
|
- **Growth Strategies**: Support community growth and member acquisition
|
||||||
|
|
||||||
|
### 6.4. Support Forum Responsibilities
|
||||||
|
|
||||||
|
#### 6.4.1. Thread Management
|
||||||
|
- Monitor new posts and ensure proper categorisation
|
||||||
|
- Merge duplicate threads while preserving context
|
||||||
|
- Mark solutions when issues are resolved
|
||||||
|
- Pin important announcements and guides
|
||||||
|
- Archive outdated or resolved discussions
|
||||||
|
|
||||||
|
#### 6.4.2. Knowledge Base Development
|
||||||
|
- **Content Curation**: Build comprehensive solution documentation
|
||||||
|
- **FAQ Maintenance**: Update frequently asked questions regularly
|
||||||
|
- **Category Organisation**: Maintain logical, searchable structure
|
||||||
|
- **Cross-Reference**: Link related topics and solutions
|
||||||
|
- **Quality Control**: Ensure accuracy of technical information
|
||||||
|
|
||||||
## 7. COORDINATION CHALLENGES AND SOLUTIONS
|
## 7. COORDINATION CHALLENGES AND SOLUTIONS
|
||||||
|
|
||||||
### 7.1. Common Coordination Problems
|
### 7.1. Common Coordination Problems
|
||||||
@@ -442,12 +443,6 @@ This training operates within our policy framework:
|
|||||||
- Quick community communications and updates
|
- Quick community communications and updates
|
||||||
- Voice chat crisis intervention if needed
|
- Voice chat crisis intervention if needed
|
||||||
|
|
||||||
**Forum Crisis Response:**
|
|
||||||
- Detailed written responses and explanations
|
|
||||||
- Long-form crisis resources and support
|
|
||||||
- Archived information for future reference
|
|
||||||
- Community discussion facilitation
|
|
||||||
|
|
||||||
**Repository Crisis Response:**
|
**Repository Crisis Response:**
|
||||||
- Technical issue assessment and response
|
- Technical issue assessment and response
|
||||||
- Code security and integrity protection
|
- Code security and integrity protection
|
||||||
@@ -548,7 +543,7 @@ This training operates within our policy framework:
|
|||||||
|
|
||||||
### 10.1. Scenario 1: Cross-Platform Crisis Coordination
|
### 10.1. Scenario 1: Cross-Platform Crisis Coordination
|
||||||
|
|
||||||
**Situation**: A crisis situation occurs that affects multiple platforms simultaneously. The crisis involves a safety threat that's being discussed across Discord, and social media. Information is spreading rapidly and inconsistently across platforms.
|
**Situation**: A crisis situation occurs that affects multiple platforms simultaneously. The crisis involves a safety threat that's being discussed across Discord and social media. Information is spreading rapidly and inconsistently across platforms.
|
||||||
|
|
||||||
**Your Response:**
|
**Your Response:**
|
||||||
1. How do you coordinate response across all platforms?
|
1. How do you coordinate response across all platforms?
|
||||||
@@ -562,7 +557,7 @@ This training operates within our policy framework:
|
|||||||
|
|
||||||
### 10.2. Scenario 2: Policy Inconsistency Report
|
### 10.2. Scenario 2: Policy Inconsistency Report
|
||||||
|
|
||||||
**Situation**: A community member reports that the same behaviour resulted in different moderation actions on different platforms. They received a warning on Discord but were banned on the forum for the same behaviour. They're confused and feel the moderation is inconsistent.
|
**Situation**: A community member reports that the same behaviour resulted in different moderation actions on different platforms. They received a warning on Discord but were banned on another platform for the same behaviour. They're confused and feel the moderation is inconsistent.
|
||||||
|
|
||||||
**Your Response:**
|
**Your Response:**
|
||||||
1. How do you investigate this inconsistency?
|
1. How do you investigate this inconsistency?
|
||||||
@@ -576,7 +571,7 @@ This training operates within our policy framework:
|
|||||||
|
|
||||||
### 10.3. Scenario 3: Cross-Platform Event Coordination
|
### 10.3. Scenario 3: Cross-Platform Event Coordination
|
||||||
|
|
||||||
**Situation**: The community is planning a major event that will happen across multiple platforms simultaneously. The event involves Discord voice channels, forum discussions, social media promotion, and GitHub collaboration. Coordination is complex and requires seamless experience.
|
**Situation**: The community is planning a major event that will happen across multiple platforms simultaneously. The event involves Discord voice channels, social media promotion, and GitHub collaboration. Coordination is complex and requires seamless experience.
|
||||||
|
|
||||||
**Your Response:**
|
**Your Response:**
|
||||||
1. How do you coordinate event logistics across platforms?
|
1. How do you coordinate event logistics across platforms?
|
||||||
@@ -613,4 +608,3 @@ This training document is part of the comprehensive mandatory training curriculu
|
|||||||
---
|
---
|
||||||
|
|
||||||
*This Cross-Platform Coordination Training document is part of our comprehensive staff development programme designed to create seamless community experiences across all platforms. For questions about cross-platform coordination techniques or to report training completion, please contact leadership through designated staff channels.*
|
*This Cross-Platform Coordination Training document is part of our comprehensive staff development programme designed to create seamless community experiences across all platforms. For questions about cross-platform coordination techniques or to report training completion, please contact leadership through designated staff channels.*
|
||||||
|
|
||||||
|
|||||||
@@ -287,6 +287,12 @@ This training provides comprehensive guidance for Team members serving as Data a
|
|||||||
|
|
||||||
### 6.1. Data Analytics Infrastructure
|
### 6.1. Data Analytics Infrastructure
|
||||||
|
|
||||||
|
:::tip[Heads Up!]{icon=pen}
|
||||||
|
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
|
||||||
|
|
||||||
|
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
|
||||||
|
:::
|
||||||
|
|
||||||
#### 6.1.1. Data Collection and Storage
|
#### 6.1.1. Data Collection and Storage
|
||||||
|
|
||||||
**Data Collection Systems:**
|
**Data Collection Systems:**
|
||||||
@@ -321,7 +327,6 @@ This training provides comprehensive guidance for Team members serving as Data a
|
|||||||
|
|
||||||
**Cross-Platform Analytics:**
|
**Cross-Platform Analytics:**
|
||||||
- **Discord Analytics**: Integration with Discord for community server analytics
|
- **Discord Analytics**: Integration with Discord for community server analytics
|
||||||
- **Forum Analytics**: Analysis of forum participation and engagement patterns
|
|
||||||
- **Social Media Analytics**: Integration with social media platforms for broader community insights
|
- **Social Media Analytics**: Integration with social media platforms for broader community insights
|
||||||
- **Event Analytics**: Integration of event participation and satisfaction data
|
- **Event Analytics**: Integration of event participation and satisfaction data
|
||||||
|
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ This training operates within our comprehensive framework:
|
|||||||
```
|
```
|
||||||
**Incident Type**: [Policy violation category]
|
**Incident Type**: [Policy violation category]
|
||||||
**Date/Time**: [Exact timestamp]
|
**Date/Time**: [Exact timestamp]
|
||||||
**Platform**: [Discord/Forum/Repository/etc.]
|
**Platform**: [Discord/Repository/etc.]
|
||||||
**User(s) Involved**: [Anonymized identifiers]
|
**User(s) Involved**: [Anonymized identifiers]
|
||||||
**Team Member**: [Your name/identifier]
|
**Team Member**: [Your name/identifier]
|
||||||
**Policy Violated**: [Specific policy section]
|
**Policy Violated**: [Specific policy section]
|
||||||
|
|||||||
@@ -0,0 +1,337 @@
|
|||||||
|
---
|
||||||
|
title: Support Forum Moderation Training for Staff
|
||||||
|
---
|
||||||
|
|
||||||
|
**ESSENTIAL TRAINING FOR FORUM MODERATION TEAM**
|
||||||
|
|
||||||
|
## 1. INTRODUCTION AND SCOPE
|
||||||
|
|
||||||
|
### 1.1. Purpose of This Training
|
||||||
|
|
||||||
|
This training document provides comprehensive guidance for Team members responsible for moderating our Support Forum at [support.nhcarrigan.com](https://support.nhcarrigan.com). The Support Forum serves as our primary platform for structured support requests, bug reports, feature requests, and community feedback.
|
||||||
|
|
||||||
|
### 1.2. Forum Structure and Categories
|
||||||
|
|
||||||
|
Our Support Forum is organised into the following categories:
|
||||||
|
|
||||||
|
**(a)** **Technical Support** (ID: 5): Platform and product assistance;
|
||||||
|
|
||||||
|
**(b)** **Bug Reports** (ID: 6): Software issues and defect reporting;
|
||||||
|
|
||||||
|
**(c)** **Feature Requests** (ID: 7): Enhancement suggestions and new features;
|
||||||
|
|
||||||
|
**(d)** **Community Feedback** (ID: 8): General community input and suggestions;
|
||||||
|
|
||||||
|
**(e)** **Policy Ideation** (ID: 9): Policy suggestions and governance input;
|
||||||
|
|
||||||
|
**(f)** **Accessibility Feedback** (ID: 10): Accessibility barriers and improvements;
|
||||||
|
|
||||||
|
**(g)** **Partnership Requests** (ID: 11): Collaboration and partnership proposals;
|
||||||
|
|
||||||
|
**(h)** **Legal Notices** (ID: 12): Legal communications and formal notices;
|
||||||
|
|
||||||
|
**(i)** **Billing Questions** (ID: 13): Payment and subscription inquiries;
|
||||||
|
|
||||||
|
**(j)** **Press Inquiries** (ID: 14): Media and press communications;
|
||||||
|
|
||||||
|
**(k)** **Marketing Proposals** (ID: 15): Marketing collaborations and proposals.
|
||||||
|
|
||||||
|
### 1.3. Integration with Existing Policies
|
||||||
|
|
||||||
|
Forum moderation operates within our comprehensive policy framework:
|
||||||
|
|
||||||
|
**(a)** **Content and Moderation Policy**: Primary content standards and enforcement;
|
||||||
|
|
||||||
|
**(b)** **Community Code of Conduct**: Universal behavioural expectations;
|
||||||
|
|
||||||
|
**(c)** **Community Support Policy**: Guidelines for support interactions;
|
||||||
|
|
||||||
|
**(d)** **Privacy Policy**: Handling of sensitive information in forum posts;
|
||||||
|
|
||||||
|
**(e)** **Accessibility Policy**: Ensuring forum accessibility for all users.
|
||||||
|
|
||||||
|
## 2. FORUM-SPECIFIC MODERATION CONSIDERATIONS
|
||||||
|
|
||||||
|
### 2.1. Unique Characteristics of Forum Moderation
|
||||||
|
|
||||||
|
#### 2.1.1. Asynchronous Communication
|
||||||
|
|
||||||
|
**Key Differences from Real-Time Platforms:**
|
||||||
|
- Extended response timeframes are acceptable and expected
|
||||||
|
- Conversations develop over days or weeks rather than minutes
|
||||||
|
- Users expect more thoughtful, detailed responses
|
||||||
|
- Documentation and searchability are primary concerns
|
||||||
|
|
||||||
|
#### 2.1.2. Persistent Content
|
||||||
|
|
||||||
|
**Long-Term Visibility:**
|
||||||
|
- Forum posts remain searchable indefinitely
|
||||||
|
- Content serves as knowledge base for future users
|
||||||
|
- Higher standards for accuracy and completeness
|
||||||
|
- Regular review and updating of outdated information
|
||||||
|
|
||||||
|
#### 2.1.3. Structured Support
|
||||||
|
|
||||||
|
**Organised Communication:**
|
||||||
|
- Clear categorisation enables efficient routing
|
||||||
|
- Topic-based organisation aids in knowledge management
|
||||||
|
- Threaded discussions maintain context
|
||||||
|
- Solution marking helps future users
|
||||||
|
|
||||||
|
### 2.2. Forum Moderation Best Practices
|
||||||
|
|
||||||
|
#### 2.2.1. Thread Management
|
||||||
|
|
||||||
|
**Effective Thread Moderation:**
|
||||||
|
- **Title Clarity**: Ensure thread titles accurately describe the issue
|
||||||
|
- **Categorisation**: Move threads to appropriate categories when needed
|
||||||
|
- **Duplicate Management**: Merge duplicate threads while preserving context
|
||||||
|
- **Solution Marking**: Identify and mark solved threads
|
||||||
|
- **Pinning**: Pin important announcements or frequently referenced threads
|
||||||
|
|
||||||
|
#### 2.2.2. Response Standards
|
||||||
|
|
||||||
|
**Quality Expectations:**
|
||||||
|
- Comprehensive initial responses that address all aspects
|
||||||
|
- Professional tone maintaining community warmth
|
||||||
|
- Clear action items or next steps
|
||||||
|
- Appropriate escalation when needed
|
||||||
|
- Follow-up on unresolved threads
|
||||||
|
|
||||||
|
## 3. CATEGORY-SPECIFIC GUIDELINES
|
||||||
|
|
||||||
|
### 3.1. Technical Support
|
||||||
|
|
||||||
|
**Moderation Focus:**
|
||||||
|
- Verify sufficient system information is provided
|
||||||
|
- Request clarification on reproduction steps
|
||||||
|
- Tag technical team members when appropriate
|
||||||
|
- Ensure privacy (no passwords, API keys, etc.)
|
||||||
|
- Mark solutions when issues are resolved
|
||||||
|
|
||||||
|
### 3.2. Bug Reports
|
||||||
|
|
||||||
|
**Moderation Requirements:**
|
||||||
|
- Confirm reports include reproduction steps
|
||||||
|
- Check for duplicate reports before allowing
|
||||||
|
- Apply appropriate priority labels
|
||||||
|
- Link to tracking systems when applicable
|
||||||
|
- Update thread status as bugs are addressed
|
||||||
|
|
||||||
|
### 3.3. Feature Requests
|
||||||
|
|
||||||
|
**Management Approach:**
|
||||||
|
- Encourage detailed use case descriptions
|
||||||
|
- Facilitate community discussion on proposals
|
||||||
|
- Consolidate similar requests
|
||||||
|
- Communicate feasibility assessments
|
||||||
|
- Update on implementation progress
|
||||||
|
|
||||||
|
### 3.4. Community Feedback
|
||||||
|
|
||||||
|
**Engagement Standards:**
|
||||||
|
- Acknowledge all feedback respectfully
|
||||||
|
- Encourage constructive criticism
|
||||||
|
- Synthesise feedback for leadership review
|
||||||
|
- Communicate how feedback influences decisions
|
||||||
|
- Create feedback summary reports
|
||||||
|
|
||||||
|
### 3.5. Policy Ideation
|
||||||
|
|
||||||
|
**Special Considerations:**
|
||||||
|
- Ensure proposals align with community values
|
||||||
|
- Facilitate inclusive discussion
|
||||||
|
- Document consensus and dissent
|
||||||
|
- Forward viable proposals to governance team
|
||||||
|
- Communicate policy development progress
|
||||||
|
|
||||||
|
### 3.6. Accessibility Feedback
|
||||||
|
|
||||||
|
**Priority Handling:**
|
||||||
|
- Treat accessibility issues with urgency
|
||||||
|
- Ensure reports include assistive technology details
|
||||||
|
- Coordinate with accessibility team
|
||||||
|
- Track resolution progress
|
||||||
|
- Verify fixes with reporting users
|
||||||
|
|
||||||
|
### 3.7. Partnership Requests
|
||||||
|
|
||||||
|
**Professional Standards:**
|
||||||
|
- Maintain confidentiality as requested
|
||||||
|
- Verify legitimacy of proposals
|
||||||
|
- Route to appropriate decision-makers
|
||||||
|
- Facilitate initial discussions
|
||||||
|
- Document partnership criteria clearly
|
||||||
|
|
||||||
|
### 3.8. Legal Notices
|
||||||
|
|
||||||
|
**Critical Procedures:**
|
||||||
|
- Immediate escalation to legal team
|
||||||
|
- Preserve all original content
|
||||||
|
- Document receipt timestamps
|
||||||
|
- Maintain strict confidentiality
|
||||||
|
- Follow legal response protocols
|
||||||
|
|
||||||
|
### 3.9. Billing Questions
|
||||||
|
|
||||||
|
**Sensitive Information Handling:**
|
||||||
|
- Never request payment details in public threads
|
||||||
|
- Offer private thread conversion for sensitive matters
|
||||||
|
- Verify account ownership before discussing specifics
|
||||||
|
- Coordinate with billing team for resolutions
|
||||||
|
- Document common issues for FAQ development
|
||||||
|
|
||||||
|
### 3.10. Press Inquiries
|
||||||
|
|
||||||
|
**Media Relations:**
|
||||||
|
- Verify journalist credentials when appropriate
|
||||||
|
- Coordinate with communications team
|
||||||
|
- Maintain professional brand representation
|
||||||
|
- Facilitate interview scheduling
|
||||||
|
- Track press engagement metrics
|
||||||
|
|
||||||
|
### 3.11. Marketing Proposals
|
||||||
|
|
||||||
|
**Evaluation Criteria:**
|
||||||
|
- Assess alignment with brand values
|
||||||
|
- Check for spam or low-quality proposals
|
||||||
|
- Facilitate community input when appropriate
|
||||||
|
- Route serious proposals to marketing team
|
||||||
|
- Maintain proposal tracking system
|
||||||
|
|
||||||
|
## 4. MODERATION TOOLS AND FEATURES
|
||||||
|
|
||||||
|
### 4.1. Forum-Specific Tools
|
||||||
|
|
||||||
|
#### 4.1.1. Thread Management Tools
|
||||||
|
- **Move Thread**: Relocate to appropriate category
|
||||||
|
- **Merge Threads**: Combine duplicate discussions
|
||||||
|
- **Split Thread**: Separate off-topic discussions
|
||||||
|
- **Pin/Unpin**: Control thread visibility priority
|
||||||
|
- **Lock Thread**: Prevent further replies when needed
|
||||||
|
- **Mark Solution**: Identify resolved issues
|
||||||
|
|
||||||
|
#### 4.1.2. User Management Tools
|
||||||
|
- **Trust Levels**: Understand user permission tiers
|
||||||
|
- **User Notes**: Document moderation history
|
||||||
|
- **Warnings**: Issue formal warnings when needed
|
||||||
|
- **Suspensions**: Temporary access restrictions
|
||||||
|
- **Thread Permissions**: Control individual thread access
|
||||||
|
|
||||||
|
### 4.2. Content Moderation Features
|
||||||
|
|
||||||
|
#### 4.2.1. Automated Moderation
|
||||||
|
- **Spam Filters**: Automatic spam detection
|
||||||
|
- **Trust Level Restrictions**: New user limitations
|
||||||
|
- **Flag Queue**: Community-reported content review
|
||||||
|
- **Word Filters**: Prohibited content blocking
|
||||||
|
- **Link Restrictions**: External link moderation
|
||||||
|
|
||||||
|
#### 4.2.2. Manual Moderation Actions
|
||||||
|
- **Edit Posts**: Correct or redact content
|
||||||
|
- **Delete Posts**: Remove policy violations
|
||||||
|
- **Hide Posts**: Temporary removal pending review
|
||||||
|
- **Restore Posts**: Reinstate incorrectly removed content
|
||||||
|
- **Revision History**: Track all content changes
|
||||||
|
|
||||||
|
## 5. COMMON SCENARIOS AND RESPONSES
|
||||||
|
|
||||||
|
### 5.1. Scenario: Duplicate Bug Report
|
||||||
|
|
||||||
|
**Appropriate Response:**
|
||||||
|
1. Search for existing reports
|
||||||
|
2. Link to original thread
|
||||||
|
3. Merge valuable additional information
|
||||||
|
4. Close duplicate with explanation
|
||||||
|
5. Guide user to original discussion
|
||||||
|
|
||||||
|
### 5.2. Scenario: Vague Support Request
|
||||||
|
|
||||||
|
**Effective Approach:**
|
||||||
|
1. Request specific information needed
|
||||||
|
2. Provide template for details
|
||||||
|
3. Offer examples of good reports
|
||||||
|
4. Remain patient and helpful
|
||||||
|
5. Follow up if no response
|
||||||
|
|
||||||
|
### 5.3. Scenario: Heated Feature Request Debate
|
||||||
|
|
||||||
|
**De-escalation Strategy:**
|
||||||
|
1. Remind participants of community standards
|
||||||
|
2. Refocus on constructive discussion
|
||||||
|
3. Separate technical merit from personal attacks
|
||||||
|
4. Issue warnings if necessary
|
||||||
|
5. Lock thread if situation escalates
|
||||||
|
|
||||||
|
### 5.4. Scenario: Sensitive Information Posted
|
||||||
|
|
||||||
|
**Immediate Actions:**
|
||||||
|
1. Edit post to remove sensitive data
|
||||||
|
2. Private message user about removal
|
||||||
|
3. Educate on security best practices
|
||||||
|
4. Document incident for patterns
|
||||||
|
5. Review similar posts for exposure
|
||||||
|
|
||||||
|
## 6. FORUM COMMUNITY BUILDING
|
||||||
|
|
||||||
|
### 6.1. Encouraging Participation
|
||||||
|
|
||||||
|
**Engagement Strategies:**
|
||||||
|
- Welcome new users warmly
|
||||||
|
- Recognise helpful community members
|
||||||
|
- Create regular discussion topics
|
||||||
|
- Showcase community solutions
|
||||||
|
- Celebrate milestones and achievements
|
||||||
|
|
||||||
|
### 6.2. Knowledge Base Development
|
||||||
|
|
||||||
|
**Content Curation:**
|
||||||
|
- Identify frequently asked questions
|
||||||
|
- Create comprehensive guides
|
||||||
|
- Maintain solution database
|
||||||
|
- Update outdated information
|
||||||
|
- Cross-reference related topics
|
||||||
|
|
||||||
|
## 7. METRICS AND REPORTING
|
||||||
|
|
||||||
|
### 7.1. Key Performance Indicators
|
||||||
|
|
||||||
|
**Forum Health Metrics:**
|
||||||
|
- Response time to new threads
|
||||||
|
- Resolution rate for support requests
|
||||||
|
- User satisfaction indicators
|
||||||
|
- Community engagement levels
|
||||||
|
- Moderator action frequency
|
||||||
|
|
||||||
|
### 7.2. Regular Reporting
|
||||||
|
|
||||||
|
**Documentation Requirements:**
|
||||||
|
- Weekly moderation summaries
|
||||||
|
- Category-specific activity reports
|
||||||
|
- Escalation tracking
|
||||||
|
- Community feedback synthesis
|
||||||
|
- Improvement recommendations
|
||||||
|
|
||||||
|
## 8. CONTINUOUS IMPROVEMENT
|
||||||
|
|
||||||
|
### 8.1. Feedback Integration
|
||||||
|
|
||||||
|
**Process Improvement:**
|
||||||
|
- Regular community surveys
|
||||||
|
- Moderator experience sharing
|
||||||
|
- Policy effectiveness review
|
||||||
|
- Tool and feature requests
|
||||||
|
- Best practice documentation
|
||||||
|
|
||||||
|
### 8.2. Professional Development
|
||||||
|
|
||||||
|
**Ongoing Training:**
|
||||||
|
- Forum software updates
|
||||||
|
- New moderation techniques
|
||||||
|
- Community management trends
|
||||||
|
- Accessibility improvements
|
||||||
|
- Cross-platform coordination
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*This Forum Moderation Training provides comprehensive guidance for moderating our Support Forum. For questions about forum moderation procedures or to report issues with the forum platform, please contact the Moderation Team Lead through the designated staff channels.*
|
||||||
+19
-5
@@ -1,8 +1,22 @@
|
|||||||
@font-face {
|
@import url('https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Creepster&family=Griffy&family=Henny+Penny&display=swap');
|
||||||
font-family: "Vampyr";
|
|
||||||
src: url("https://cdn.nhcarrigan.com/fonts/vampyr.ttf") format("truetype");
|
body {
|
||||||
|
font-family: "Kalam", cursive !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
h1,
|
||||||
font-family: "Vampyr", monospace !important;
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
font-family: "Griffy", cursive !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.witchy-accent {
|
||||||
|
font-family: "Creepster", cursive;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mystical-text {
|
||||||
|
font-family: "Henny Penny", cursive;
|
||||||
}
|
}
|
||||||
+119
-16
@@ -1,13 +1,50 @@
|
|||||||
:root {
|
:root {
|
||||||
--primary-color: #8F2447;
|
/* Witch color palette */
|
||||||
--background-color: #E1F6F9DC;
|
--witch-purple: #2b1b3d;
|
||||||
--sl-color-text-accent: #8F2447;
|
--witch-purple-translucent: hsla(267, 40%, 17%, 0.85);
|
||||||
|
--witch-plum: #44275a;
|
||||||
|
--witch-rose: #a8577e;
|
||||||
|
--witch-mauve: #d4a5c7;
|
||||||
|
--witch-lavender: #e8d5e8;
|
||||||
|
--witch-black: #0a0009;
|
||||||
|
--witch-silver: #c0c0c0;
|
||||||
|
--witch-moon: #f5f5f5;
|
||||||
|
--witch-shadow: rgba(10, 0, 9, 0.7);
|
||||||
|
|
||||||
|
/* Light theme uses lighter colors for background, darker for text */
|
||||||
|
--primary-color: var(--witch-purple);
|
||||||
|
--background-color: var(--witch-lavender) DC;
|
||||||
|
--sl-color-text-accent: var(--witch-purple);
|
||||||
|
|
||||||
|
/* Additional Starlight overrides */
|
||||||
|
--sl-color-gray-1: var(--witch-moon);
|
||||||
|
--sl-color-gray-2: var(--witch-lavender);
|
||||||
|
--sl-color-gray-3: var(--witch-mauve);
|
||||||
|
--sl-color-gray-4: var(--witch-rose);
|
||||||
|
--sl-color-gray-5: var(--witch-plum);
|
||||||
|
--sl-color-gray-6: var(--witch-purple);
|
||||||
|
|
||||||
|
/* Translucent background */
|
||||||
|
--content-bg: rgba(181, 185, 187, 0.85);
|
||||||
|
--content-blur: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme="dark"] {
|
html[data-theme="dark"] {
|
||||||
--primary-color: #E1F6F9;
|
/* Dark theme uses darker colors for background, lighter for text */
|
||||||
--background-color: #8F2447ee;
|
|
||||||
--sl-color-text-accent: #E1F6F9;
|
.page {
|
||||||
|
--background-color: transparent;
|
||||||
|
}
|
||||||
|
--primary-color: var(--witch-lavender);
|
||||||
|
--sl-color-text-accent: var(--witch-lavender);
|
||||||
|
|
||||||
|
/* Additional Starlight overrides for dark theme */
|
||||||
|
--sl-color-gray-1: var(--witch-purple);
|
||||||
|
--sl-color-gray-2: var(--witch-plum);
|
||||||
|
--sl-color-gray-3: var(--witch-rose);
|
||||||
|
--sl-color-gray-4: var(--witch-mauve);
|
||||||
|
--sl-color-gray-5: var(--witch-lavender);
|
||||||
|
--sl-color-gray-6: var(--witch-moon);
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-frame::before {
|
.main-frame::before {
|
||||||
@@ -33,11 +70,15 @@ html[data-theme="dark"] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-pane,
|
.sidebar-pane,
|
||||||
.right-sidebar-panel {
|
.right-sidebar {
|
||||||
background-color: var(--background-color);
|
background-color: var(--background-color);
|
||||||
color: var(--primary-color);
|
color: var(--primary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.right-sidebar-panel {
|
||||||
|
color: var(--primary-color);
|
||||||
|
}
|
||||||
|
|
||||||
h1,
|
h1,
|
||||||
h2,
|
h2,
|
||||||
h3,
|
h3,
|
||||||
@@ -48,14 +89,31 @@ a {
|
|||||||
color: var(--primary-color) !important;
|
color: var(--primary-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.page {
|
||||||
|
background: var(--content-bg);
|
||||||
|
backdrop-filter: var(--content-blur);
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme="dark"] .page {
|
||||||
|
background: var(--witch-purple-translucent);
|
||||||
|
}
|
||||||
|
|
||||||
a[aria-current="page"] {
|
a[aria-current="page"] {
|
||||||
color: var(--background-color) !important;
|
color: var(--background-color) !important;
|
||||||
background-color: var(--primary-color) !important;
|
background-color: var(--witch-rose) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme="dark"] a[aria-current="page"] {
|
||||||
|
color: var(--witch-moon) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
color: var(--primary-color) !important;
|
color: var(--primary-color) !important;
|
||||||
background-color: var(--background-color) !important;
|
background-color: var(--witch-lavender) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme="dark"] header {
|
||||||
|
background-color: var(--witch-purple) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.large {
|
.large {
|
||||||
@@ -67,8 +125,8 @@ header {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.right-sidebar-panel :where(a):hover {
|
.right-sidebar-panel :where(a):hover {
|
||||||
color: var(--background-color) !important;
|
color: var(--witch-moon) !important;
|
||||||
background-color: var(--primary-color) !important;
|
background-color: var(--witch-rose) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer > div > a,
|
footer > div > a,
|
||||||
@@ -77,10 +135,26 @@ footer > div > p {
|
|||||||
color: var(--primary-color) !important;
|
color: var(--primary-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
starlight-theme-select, starlight-theme-select > label {
|
starlight-theme-select,
|
||||||
|
starlight-theme-select > label {
|
||||||
color: var(--primary-color) !important;
|
color: var(--primary-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
starlight-theme-select select {
|
||||||
|
color: var(--primary-color) !important;
|
||||||
|
background-color: var(--background-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
starlight-theme-select select option {
|
||||||
|
color: var(--primary-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme="dark"] starlight-theme-select select option {
|
||||||
|
color: var(--witch-purple) !important;
|
||||||
|
background-color: var(--witch-lavender) !important;
|
||||||
|
}
|
||||||
|
|
||||||
.social-icons::after {
|
.social-icons::after {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -94,13 +168,42 @@ starlight-theme-select, starlight-theme-select > label {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.pagination-links > a:hover {
|
.pagination-links > a:hover {
|
||||||
color: var(--background-color) !important;
|
color: var(--witch-moon) !important;
|
||||||
background-color: var(--primary-color) !important;
|
background-color: var(--witch-plum) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pagination-links > a:hover > span > .link-title {
|
.pagination-links > a:hover > span > .link-title {
|
||||||
color: var(--background-color) !important;
|
color: var(--witch-moon) !important;
|
||||||
background-color: var(--primary-color) !important;
|
background-color: var(--witch-plum) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero .tagline {
|
||||||
|
color: var(--primary-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
site-search button[data-open-modal] {
|
||||||
|
color: var(--primary-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
site-search button[data-open-modal] kbd {
|
||||||
|
color: var(--primary-color) !important;
|
||||||
|
background-color: var(--background-color) !important;
|
||||||
|
border-color: var(--primary-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#starlight__search {
|
||||||
|
--pagefind-ui-text: var(--primary-color);
|
||||||
|
--pagefind-ui-primary: var(--witch-rose);
|
||||||
|
}
|
||||||
|
|
||||||
|
#starlight__search input::placeholder {
|
||||||
|
color: var(--primary-color) !important;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagefind-ui__result-excerpt {
|
||||||
|
color: var(--primary-color) !important;
|
||||||
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
|
|
||||||
#extra-footer-content {
|
#extra-footer-content {
|
||||||
|
|||||||
+174
-87
@@ -2,62 +2,61 @@
|
|||||||
"$schema": "vscode://schemas/color-theme",
|
"$schema": "vscode://schemas/color-theme",
|
||||||
"type": "dark",
|
"type": "dark",
|
||||||
"colors": {
|
"colors": {
|
||||||
"activityBar.background": "#3a0d22",
|
"activityBar.background": "#150a1e",
|
||||||
"activityBar.foreground": "#ffb6c1",
|
"activityBar.foreground": "#e8d5e8",
|
||||||
"activityBarBadge.background": "#ff69b4",
|
"activityBarBadge.background": "#a8577e",
|
||||||
"activityBarBadge.foreground": "#000000",
|
"activityBarBadge.foreground": "#f5f5f5",
|
||||||
"button.background": "#ff69b4",
|
"button.background": "#44275a",
|
||||||
"button.foreground": "#000000",
|
"button.foreground": "#e8d5e8",
|
||||||
"dropdown.background": "#4a112a",
|
"dropdown.background": "#2b1b3d",
|
||||||
"dropdown.foreground": "#ffb6c1",
|
"dropdown.foreground": "#e8d5e8",
|
||||||
"editor.background": "#2a0a18",
|
"editor.background": "#0a0009",
|
||||||
"editor.foreground": "#ffb6c1",
|
"editor.foreground": "#e8d5e8",
|
||||||
"editor.lineHighlightBackground": "#1073cf2d",
|
"editor.lineHighlightBackground": "#2b1b3d",
|
||||||
"editor.lineHighlightBorder": "#9fced11f",
|
"editor.selectionBackground": "#a8577e",
|
||||||
"editor.selectionBackground": "#e35a8f",
|
"editor.selectionHighlightBackground": "#a8577e50",
|
||||||
"editor.selectionHighlightBackground": "#e35a8f80",
|
"editor.wordHighlightBackground": "#a8577e40",
|
||||||
"editor.wordHighlightBackground": "#e35a8f80",
|
"editorCursor.foreground": "#a8577e",
|
||||||
"editorCursor.foreground": "#ff69b4",
|
"editorGroupHeader.tabsBackground": "#150a1e",
|
||||||
"editorGroupHeader.tabsBackground": "#3a0d22",
|
"editorWhitespace.foreground": "#44275a",
|
||||||
"editorWhitespace.foreground": "#4a112a",
|
"focusBorder": "#a8577e",
|
||||||
"focusBorder": "#ff69b4",
|
"input.background": "#150a1e",
|
||||||
"input.background": "#3a0d22",
|
"input.foreground": "#e8d5e8",
|
||||||
"input.foreground": "#ffb6c1",
|
"input.placeholderForeground": "#d4a5c7",
|
||||||
"input.placeholderForeground": "#e35a8f",
|
"list.activeSelectionBackground": "#44275a",
|
||||||
"list.activeSelectionBackground": "#4a112a",
|
"list.activeSelectionForeground": "#e8d5e8",
|
||||||
"list.activeSelectionForeground": "#ffb6c1",
|
"list.hoverBackground": "#2b1b3d",
|
||||||
"list.hoverBackground": "#3a0d22",
|
"list.hoverForeground": "#e8d5e8",
|
||||||
"list.hoverForeground": "#ffb6c1",
|
"sideBar.background": "#150a1e",
|
||||||
"sideBar.background": "#3a0d22",
|
"sideBar.foreground": "#e8d5e8",
|
||||||
"sideBar.foreground": "#ffb6c1",
|
"sideBarTitle.foreground": "#d4a5c7",
|
||||||
"sideBarTitle.foreground": "#ff69b4",
|
"statusBar.background": "#44275a",
|
||||||
"statusBar.background": "#4a112a",
|
"statusBar.foreground": "#e8d5e8",
|
||||||
"statusBar.foreground": "#ffb6c1",
|
"statusBar.noFolderBackground": "#0a0009",
|
||||||
"statusBar.noFolderBackground": "#2a0a18",
|
"tab.activeBackground": "#2b1b3d",
|
||||||
"tab.activeBackground": "#3a0d22",
|
"tab.activeForeground": "#e8d5e8",
|
||||||
"tab.activeForeground": "#ffb6c1",
|
"tab.inactiveBackground": "#150a1e",
|
||||||
"tab.inactiveBackground": "#4a112a",
|
"tab.inactiveForeground": "#d4a5c7",
|
||||||
"tab.inactiveForeground": "#e35a8f",
|
"terminal.ansiBlack": "#2b1b3d",
|
||||||
"terminal.ansiBlack": "#4a112a",
|
"terminal.ansiBlue": "#7b5ea8",
|
||||||
"terminal.ansiBlue": "#c96385",
|
"terminal.ansiBrightBlack": "#44275a",
|
||||||
"terminal.ansiBrightBlack": "#3a0d22",
|
"terminal.ansiBrightBlue": "#9b7ec8",
|
||||||
"terminal.ansiBrightBlue": "#d87093",
|
"terminal.ansiBrightCyan": "#d0b8e8",
|
||||||
"terminal.ansiBrightCyan": "#ffafc5",
|
"terminal.ansiBrightGreen": "#a898c0",
|
||||||
"terminal.ansiBrightGreen": "#ff77a8",
|
"terminal.ansiBrightMagenta": "#d4a5c7",
|
||||||
"terminal.ansiBrightMagenta": "#ff85a2",
|
"terminal.ansiBrightRed": "#c96b8e",
|
||||||
"terminal.ansiBrightRed": "#ff1493",
|
"terminal.ansiBrightWhite": "#f5f5f5",
|
||||||
"terminal.ansiBrightWhite": "#fff5f7",
|
"terminal.ansiBrightYellow": "#e8d5e8",
|
||||||
"terminal.ansiBrightYellow": "#ffb6c1",
|
"terminal.ansiCyan": "#b8a0d0",
|
||||||
"terminal.ansiCyan": "#ff9aac",
|
"terminal.ansiGreen": "#8a7a9e",
|
||||||
"terminal.ansiGreen": "#e35a8f",
|
"terminal.ansiMagenta": "#a8577e",
|
||||||
"terminal.ansiMagenta": "#e35a8f",
|
"terminal.ansiRed": "#a8577e",
|
||||||
"terminal.ansiRed": "#ff69b4",
|
"terminal.ansiWhite": "#d4a5c7",
|
||||||
"terminal.ansiWhite": "#ffd1dc",
|
"terminal.ansiYellow": "#d4a5c7",
|
||||||
"terminal.ansiYellow": "#d45a88",
|
"terminal.background": "#0a0009",
|
||||||
"terminal.background": "#2a0a18",
|
"terminal.foreground": "#e8d5e8",
|
||||||
"terminal.foreground": "#ffb6c1",
|
"titleBar.activeBackground": "#2b1b3d",
|
||||||
"titleBar.activeBackground": "#4a112a",
|
"titleBar.activeForeground": "#e8d5e8"
|
||||||
"titleBar.activeForeground": "#ffb6c1"
|
|
||||||
},
|
},
|
||||||
"tokenColors": [
|
"tokenColors": [
|
||||||
{
|
{
|
||||||
@@ -66,7 +65,7 @@
|
|||||||
"punctuation.definition.comment"
|
"punctuation.definition.comment"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E5A3B5",
|
"foreground": "#7A5A8A",
|
||||||
"fontStyle": "italic"
|
"fontStyle": "italic"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -81,7 +80,7 @@
|
|||||||
"constant.other.symbol"
|
"constant.other.symbol"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF69B4"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -93,7 +92,7 @@
|
|||||||
"support.constant"
|
"support.constant"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#C96385"
|
"foreground": "#C88FA8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -105,7 +104,7 @@
|
|||||||
"variable.object.property"
|
"variable.object.property"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D87093"
|
"foreground": "#E8D5E8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -119,7 +118,7 @@
|
|||||||
"punctuation.decorator"
|
"punctuation.decorator"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -132,7 +131,7 @@
|
|||||||
"meta.function.dart"
|
"meta.function.dart"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D45A88"
|
"foreground": "#C070A0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -149,7 +148,7 @@
|
|||||||
"meta.return-type"
|
"meta.return-type"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8",
|
"foreground": "#D4A5C7",
|
||||||
"fontStyle": "bold"
|
"fontStyle": "bold"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -160,7 +159,7 @@
|
|||||||
"punctuation.definition.annotation"
|
"punctuation.definition.annotation"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#C96385"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -169,7 +168,7 @@
|
|||||||
"punctuation.definition.tag"
|
"punctuation.definition.tag"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -181,7 +180,7 @@
|
|||||||
"entity.other.attribute-name.class"
|
"entity.other.attribute-name.class"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -194,7 +193,7 @@
|
|||||||
"support.type.primitive.dart"
|
"support.type.primitive.dart"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -203,7 +202,7 @@
|
|||||||
"constant.character.escape.regex"
|
"constant.character.escape.regex"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF69B4"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -212,7 +211,7 @@
|
|||||||
"entity.name.section"
|
"entity.name.section"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D45A88",
|
"foreground": "#A8577E",
|
||||||
"fontStyle": "bold"
|
"fontStyle": "bold"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -239,7 +238,7 @@
|
|||||||
"markup.raw"
|
"markup.raw"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF69B4"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -248,7 +247,7 @@
|
|||||||
"support.type.property-name.jsonc"
|
"support.type.property-name.jsonc"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -262,7 +261,7 @@
|
|||||||
"keyword.operator.logical"
|
"keyword.operator.logical"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#CF8FAE"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -272,7 +271,7 @@
|
|||||||
"meta.template.expression"
|
"meta.template.expression"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D87093"
|
"foreground": "#E8D5E8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -283,7 +282,7 @@
|
|||||||
"variable.other.object.property"
|
"variable.other.object.property"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -293,7 +292,7 @@
|
|||||||
"support.variable.object.node"
|
"support.variable.object.node"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -303,7 +302,7 @@
|
|||||||
"source.rust entity.name.type.struct.rust"
|
"source.rust entity.name.type.struct.rust"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -313,7 +312,7 @@
|
|||||||
"source.rust keyword.operator.logical"
|
"source.rust keyword.operator.logical"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#CF8FAE"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -322,7 +321,7 @@
|
|||||||
"source.python support.function.builtin.python"
|
"source.python support.function.builtin.python"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D45A88"
|
"foreground": "#C070A0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -331,7 +330,7 @@
|
|||||||
"source.cs storage.type.cs"
|
"source.cs storage.type.cs"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -340,7 +339,7 @@
|
|||||||
"source.dart support.type.dart"
|
"source.dart support.type.dart"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -350,7 +349,7 @@
|
|||||||
"source.prisma keyword.type"
|
"source.prisma keyword.type"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -359,7 +358,7 @@
|
|||||||
"source.graphql constant.character"
|
"source.graphql constant.character"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#D4A5C7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -368,7 +367,7 @@
|
|||||||
"source.sql storage.type"
|
"source.sql storage.type"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -378,7 +377,7 @@
|
|||||||
"meta.embedded.block.jsx"
|
"meta.embedded.block.jsx"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D87093"
|
"foreground": "#E8D5E8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -388,13 +387,101 @@
|
|||||||
"meta.decorator.angular"
|
"meta.decorator.angular"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#C96385"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"scope": "ref.matchtext",
|
"scope": [
|
||||||
|
"entity.name.tag.yaml",
|
||||||
|
"string.unquoted.plain.out.yaml"
|
||||||
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FFFFFF"
|
"foreground": "#D4A5C7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"support.type.property-name.toml",
|
||||||
|
"entity.name.tag.toml"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#D4A5C7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"markup.underline.link",
|
||||||
|
"string.other.link.title.markdown",
|
||||||
|
"meta.link.inline.markdown"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#A8577E"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"markup.quote"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#7A5A8A",
|
||||||
|
"fontStyle": "italic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"punctuation.definition.list.begin.markdown",
|
||||||
|
"beginning.punctuation.definition.list.markdown"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#A8577E"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"variable.css",
|
||||||
|
"variable.other.custom-property.css",
|
||||||
|
"support.type.custom-property.css"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#CF8FAE"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"support.macro.rust",
|
||||||
|
"entity.name.function.macro.rust",
|
||||||
|
"meta.macro.rust entity.name.function.rust"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#C070A0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"storage.modifier.lifetime.rust",
|
||||||
|
"entity.name.lifetime.rust",
|
||||||
|
"punctuation.definition.lifetime.rust"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#9B5878"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"entity.name.package.go"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#C88FA8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"entity.name.package.java",
|
||||||
|
"support.other.package.java",
|
||||||
|
"entity.name.package.kotlin"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#C88FA8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
+181
-88
@@ -2,62 +2,61 @@
|
|||||||
"$schema": "vscode://schemas/color-theme",
|
"$schema": "vscode://schemas/color-theme",
|
||||||
"type": "light",
|
"type": "light",
|
||||||
"colors": {
|
"colors": {
|
||||||
"activityBar.background": "#ffd6e0",
|
"activityBar.background": "#e8d5e8",
|
||||||
"activityBar.foreground": "#d87093",
|
"activityBar.foreground": "#2b1b3d",
|
||||||
"activityBarBadge.background": "#ff69b4",
|
"activityBarBadge.background": "#a8577e",
|
||||||
"activityBarBadge.foreground": "#ffffff",
|
"activityBarBadge.foreground": "#f5f5f5",
|
||||||
"button.background": "#ff69b4",
|
"button.background": "#a8577e",
|
||||||
"button.foreground": "#ffffff",
|
"button.foreground": "#f5f5f5",
|
||||||
"dropdown.background": "#fff0f5",
|
"dropdown.background": "#e8d5e8",
|
||||||
"dropdown.foreground": "#d87093",
|
"dropdown.foreground": "#2b1b3d",
|
||||||
"editor.background": "#ffefef",
|
"editor.background": "#f5f5f5",
|
||||||
"editor.foreground": "#d87093",
|
"editor.foreground": "#2b1b3d",
|
||||||
"editor.lineHighlightBackground": "#1073cf2d",
|
"editor.lineHighlightBackground": "#d4a5c740",
|
||||||
"editor.lineHighlightBorder": "#9fced11f",
|
"editor.selectionBackground": "#d4a5c7",
|
||||||
"editor.selectionBackground": "#ffb6c1",
|
"editor.selectionHighlightBackground": "#d4a5c750",
|
||||||
"editor.selectionHighlightBackground": "#ffb6c180",
|
"editor.wordHighlightBackground": "#d4a5c740",
|
||||||
"editor.wordHighlightBackground": "#ffb6c180",
|
"editorCursor.foreground": "#a8577e",
|
||||||
"editorCursor.foreground": "#ff69b4",
|
"editorGroupHeader.tabsBackground": "#e8d5e8",
|
||||||
"editorGroupHeader.tabsBackground": "#ffe4e8",
|
"editorWhitespace.foreground": "#d4a5c7",
|
||||||
"editorWhitespace.foreground": "#ffe4e8",
|
"focusBorder": "#a8577e",
|
||||||
"focusBorder": "#ff69b4",
|
"input.background": "#f5f5f5",
|
||||||
"input.background": "#fff0f5",
|
"input.foreground": "#2b1b3d",
|
||||||
"input.foreground": "#d87093",
|
"input.placeholderForeground": "#a8577e",
|
||||||
"input.placeholderForeground": "#ff77a8",
|
"list.activeSelectionBackground": "#d4a5c7",
|
||||||
"list.activeSelectionBackground": "#ffefef",
|
"list.activeSelectionForeground": "#2b1b3d",
|
||||||
"list.activeSelectionForeground": "#d87093",
|
"list.hoverBackground": "#e8d5e8",
|
||||||
"list.hoverBackground": "#fff0f5",
|
"list.hoverForeground": "#2b1b3d",
|
||||||
"list.hoverForeground": "#d87093",
|
"sideBar.background": "#e8d5e8",
|
||||||
"sideBar.background": "#fff0f5",
|
"sideBar.foreground": "#2b1b3d",
|
||||||
"sideBar.foreground": "#d87093",
|
"sideBarTitle.foreground": "#a8577e",
|
||||||
"sideBarTitle.foreground": "#ff69b4",
|
"statusBar.background": "#a8577e",
|
||||||
"statusBar.background": "#ffd6e0",
|
"statusBar.foreground": "#f5f5f5",
|
||||||
"statusBar.foreground": "#d87093",
|
"statusBar.noFolderBackground": "#f5f5f5",
|
||||||
"statusBar.noFolderBackground": "#ffefef",
|
"tab.activeBackground": "#f5f5f5",
|
||||||
"tab.activeBackground": "#ffefef",
|
"tab.activeForeground": "#2b1b3d",
|
||||||
"tab.activeForeground": "#d87093",
|
"tab.inactiveBackground": "#e8d5e8",
|
||||||
"tab.inactiveBackground": "#ffd6e0",
|
"tab.inactiveForeground": "#44275a",
|
||||||
"tab.inactiveForeground": "#ff77a8",
|
"terminal.ansiBlack": "#2b1b3d",
|
||||||
"terminal.ansiBlack": "#ffe4e8",
|
"terminal.ansiBlue": "#7b5ea8",
|
||||||
"terminal.ansiBlue": "#db7093",
|
"terminal.ansiBrightBlack": "#44275a",
|
||||||
"terminal.ansiBrightBlack": "#ffefef",
|
"terminal.ansiBrightBlue": "#9b7ec8",
|
||||||
"terminal.ansiBrightBlue": "#f08080",
|
"terminal.ansiBrightCyan": "#d0b8e8",
|
||||||
"terminal.ansiBrightCyan": "#ffc0cb",
|
"terminal.ansiBrightGreen": "#a898c0",
|
||||||
"terminal.ansiBrightGreen": "#ff77a8",
|
"terminal.ansiBrightMagenta": "#d4a5c7",
|
||||||
"terminal.ansiBrightMagenta": "#ff9aac",
|
"terminal.ansiBrightRed": "#c96b8e",
|
||||||
"terminal.ansiBrightRed": "#ff0066",
|
"terminal.ansiBrightWhite": "#f5f5f5",
|
||||||
"terminal.ansiBrightWhite": "#fff5f7",
|
"terminal.ansiBrightYellow": "#e8d5e8",
|
||||||
"terminal.ansiBrightYellow": "#ffa6c9",
|
"terminal.ansiCyan": "#b8a0d0",
|
||||||
"terminal.ansiCyan": "#ffafc5",
|
"terminal.ansiGreen": "#8a7a9e",
|
||||||
"terminal.ansiGreen": "#ff69b4",
|
"terminal.ansiMagenta": "#a8577e",
|
||||||
"terminal.ansiMagenta": "#ff85a2",
|
"terminal.ansiRed": "#a8577e",
|
||||||
"terminal.ansiRed": "#ff1493",
|
"terminal.ansiWhite": "#d4a5c7",
|
||||||
"terminal.ansiWhite": "#ffd1dc",
|
"terminal.ansiYellow": "#d4a5c7",
|
||||||
"terminal.ansiYellow": "#ffb6c1",
|
"terminal.background": "#f5f5f5",
|
||||||
"terminal.background": "#ffefef",
|
"terminal.foreground": "#2b1b3d",
|
||||||
"terminal.foreground": "#d87093",
|
"titleBar.activeBackground": "#e8d5e8",
|
||||||
"titleBar.activeBackground": "#ffd6e0",
|
"titleBar.activeForeground": "#2b1b3d"
|
||||||
"titleBar.activeForeground": "#d87093"
|
|
||||||
},
|
},
|
||||||
"tokenColors": [
|
"tokenColors": [
|
||||||
{
|
{
|
||||||
@@ -66,7 +65,7 @@
|
|||||||
"punctuation.definition.comment"
|
"punctuation.definition.comment"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E5A3B5",
|
"foreground": "#7A5A8A",
|
||||||
"fontStyle": "italic"
|
"fontStyle": "italic"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -81,7 +80,7 @@
|
|||||||
"constant.other.symbol"
|
"constant.other.symbol"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF69B4"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -93,7 +92,7 @@
|
|||||||
"support.constant"
|
"support.constant"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#C96385"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -105,7 +104,7 @@
|
|||||||
"variable.object.property"
|
"variable.object.property"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D87093"
|
"foreground": "#44275a"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -119,7 +118,7 @@
|
|||||||
"punctuation.decorator"
|
"punctuation.decorator"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -132,7 +131,7 @@
|
|||||||
"meta.function.dart"
|
"meta.function.dart"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D45A88"
|
"foreground": "#C070A0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -149,7 +148,7 @@
|
|||||||
"meta.return-type"
|
"meta.return-type"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8",
|
"foreground": "#9B5878",
|
||||||
"fontStyle": "bold"
|
"fontStyle": "bold"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -160,7 +159,7 @@
|
|||||||
"punctuation.definition.annotation"
|
"punctuation.definition.annotation"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#C96385"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -169,7 +168,7 @@
|
|||||||
"punctuation.definition.tag"
|
"punctuation.definition.tag"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -181,7 +180,7 @@
|
|||||||
"entity.other.attribute-name.class"
|
"entity.other.attribute-name.class"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -194,7 +193,7 @@
|
|||||||
"support.type.primitive.dart"
|
"support.type.primitive.dart"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -203,7 +202,7 @@
|
|||||||
"constant.character.escape.regex"
|
"constant.character.escape.regex"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF69B4"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -212,7 +211,7 @@
|
|||||||
"entity.name.section"
|
"entity.name.section"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D45A88",
|
"foreground": "#A8577E",
|
||||||
"fontStyle": "bold"
|
"fontStyle": "bold"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -239,7 +238,7 @@
|
|||||||
"markup.raw"
|
"markup.raw"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF69B4"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -248,7 +247,7 @@
|
|||||||
"support.type.property-name.jsonc"
|
"support.type.property-name.jsonc"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -262,7 +261,7 @@
|
|||||||
"keyword.operator.logical"
|
"keyword.operator.logical"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -272,7 +271,7 @@
|
|||||||
"meta.template.expression"
|
"meta.template.expression"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D87093"
|
"foreground": "#44275a"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -283,7 +282,7 @@
|
|||||||
"variable.other.object.property"
|
"variable.other.object.property"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -293,7 +292,7 @@
|
|||||||
"support.variable.object.node"
|
"support.variable.object.node"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -303,7 +302,7 @@
|
|||||||
"source.rust entity.name.type.struct.rust"
|
"source.rust entity.name.type.struct.rust"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -313,7 +312,7 @@
|
|||||||
"source.rust keyword.operator.logical"
|
"source.rust keyword.operator.logical"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -322,7 +321,7 @@
|
|||||||
"source.python support.function.builtin.python"
|
"source.python support.function.builtin.python"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D45A88"
|
"foreground": "#C070A0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -331,7 +330,7 @@
|
|||||||
"source.cs storage.type.cs"
|
"source.cs storage.type.cs"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -340,7 +339,7 @@
|
|||||||
"source.dart support.type.dart"
|
"source.dart support.type.dart"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -350,7 +349,7 @@
|
|||||||
"source.prisma keyword.type"
|
"source.prisma keyword.type"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -359,7 +358,7 @@
|
|||||||
"source.graphql constant.character"
|
"source.graphql constant.character"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#FF77A8"
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -368,7 +367,7 @@
|
|||||||
"source.sql storage.type"
|
"source.sql storage.type"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#E35A8F"
|
"foreground": "#A8577E"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -378,7 +377,7 @@
|
|||||||
"meta.embedded.block.jsx"
|
"meta.embedded.block.jsx"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#D87093"
|
"foreground": "#44275a"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -388,13 +387,107 @@
|
|||||||
"meta.decorator.angular"
|
"meta.decorator.angular"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#C96385"
|
"foreground": "#9B5878"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"entity.name.tag.yaml",
|
||||||
|
"string.unquoted.plain.out.yaml"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#9B5878"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"support.type.property-name.toml",
|
||||||
|
"entity.name.tag.toml"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#9B5878"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"markup.underline.link",
|
||||||
|
"string.other.link.title.markdown",
|
||||||
|
"meta.link.inline.markdown"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#A8577E"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"markup.quote"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#7A5A8A",
|
||||||
|
"fontStyle": "italic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"punctuation.definition.list.begin.markdown",
|
||||||
|
"beginning.punctuation.definition.list.markdown"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#A8577E"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"variable.css",
|
||||||
|
"variable.other.custom-property.css",
|
||||||
|
"support.type.custom-property.css"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#A8577E"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"support.macro.rust",
|
||||||
|
"entity.name.function.macro.rust",
|
||||||
|
"meta.macro.rust entity.name.function.rust"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#C070A0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"storage.modifier.lifetime.rust",
|
||||||
|
"entity.name.lifetime.rust",
|
||||||
|
"punctuation.definition.lifetime.rust"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#9B5878"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"entity.name.package.go"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#9B5878"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scope": [
|
||||||
|
"entity.name.package.java",
|
||||||
|
"support.other.package.java",
|
||||||
|
"entity.name.package.kotlin"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"foreground": "#9B5878"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"scope": "token.info-token",
|
"scope": "token.info-token",
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#316BCD"
|
"foreground": "#6796E6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -406,13 +499,13 @@
|
|||||||
{
|
{
|
||||||
"scope": "token.error-token",
|
"scope": "token.error-token",
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#CD3131"
|
"foreground": "#F44747"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"scope": "token.debug-token",
|
"scope": "token.debug-token",
|
||||||
"settings": {
|
"settings": {
|
||||||
"foreground": "#800080"
|
"foreground": "#B267E6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user