diff --git a/server/.gitignore b/server/.gitignore index c23f7a8..f82739e 100644 --- a/server/.gitignore +++ b/server/.gitignore @@ -1 +1,2 @@ -prod \ No newline at end of file +prod +src/data/docs.ts \ No newline at end of file diff --git a/server/getDocs.ts b/server/getDocs.ts index 8fb0638..48e96a8 100644 --- a/server/getDocs.ts +++ b/server/getDocs.ts @@ -68,9 +68,18 @@ const results = await Promise.all( const flat = results.flat(); +const string = `/** + * @copyright nhcarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ + +export const documentationData = ${JSON.stringify(flat, null, 2)}; +`; + await fs.writeFile( - path.resolve(process.cwd(), "src", "data", "docs.json"), - JSON.stringify(flat, null, 2) + path.resolve(process.cwd(), "src", "data", "docs.ts"), + string ); await fs.rm(docsDirectory, { recursive: true, force: true }); diff --git a/server/package.json b/server/package.json index 8d6db2c..b060e1a 100644 --- a/server/package.json +++ b/server/package.json @@ -5,7 +5,7 @@ "main": "prod/index.js", "type": "module", "scripts": { - "lint": "eslint ./src --max-warnings 0", + "lint": "eslint ./src --max-warnings 0 --ignore-pattern ./src/data", "dev": "NODE_ENV=dev op run --env-file=./dev.env -- tsx watch ./src/index.ts", "build": "tsx ./getDocs.ts && tsc", "start": "op run --env-file=./prod.env -- node ./prod/index.js", diff --git a/server/src/data/.gitkeep b/server/src/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/server/src/data/docs.json b/server/src/data/docs.json deleted file mode 100644 index 504b7ab..0000000 --- a/server/src/data/docs.json +++ /dev/null @@ -1,18642 +0,0 @@ -[ - { - "content": ":::tip\nWe maintain a full list of all officially-owned social media accounts. You can view those accounts at https://cdn.nhcarrigan.com/socials.txt.\n\n
\n Verification Instructions\n\nTo verify the authenticity of that document, grab our SSH key from https://git.nhcarrigan.com/naomi.keys and save it locally. ADD `naomi@nhcarrigan.com ` TO THE BEGINNING OF THIS SIGNATURE FILE. It should look like `naomi@nhcarrigan.com ssh-rsa `.\n\nSave the list of socials locally locally.\n\nCopy and save this signature locally:\n\n```\n-----BEGIN SSH SIGNATURE-----\nU1NIU0lHAAAAAQAAAhcAAAAHc3NoLXJzYQAAAAMBAAEAAAIBAMU5uZawMgDZj3m5jw9WZ6\nltOSMbYQWnfo9NyccKL8xiVoGVU9PxzSLEuPpczAZpNaKLD5JqhJ2zXN/9YVF+R3wq6NZY\ntCDTET02HShOEXTsfChEi+LVi4Brr1OY5Jo1pPViNfm4IintA1yTkCQtyQwrq/lWFvlc/B\nmS0Sn3ogEJCp0FxXYXrBfo6ujveKoYKiIBxRlHN4D13Mu00KDvufeEUqtJ42m5fNf/dKJU\n7H3Hb7e9l3IuUJeiBC8fb0tTx7E9pg6ivaH6KM8tVGK+U77LK3qzXWICutWGAg1GlMQNsd\n17sa03NB4tE12cXIVLCSPUo9Wlt+8BYNNvO14JrCJzQ4/mzBDSsUu2NKdAj4rYaoUW742/\nKnPdhfmjOpMFIW53IjldmAs5sixH8u6DrMR1Ge+goOcdwGpHGdl4c4Pkyr6gesdLIDwpE4\nsf5ea0XB23JqTDU2e7AusUzTwc4coUGPrrOBTVJI2NSJSS/eUEiGUMhUBYOTtcbnJEnHQb\nNw0sDi+8gqFLdJU6pl7NFWt8HrRKCU4g86DGO9Ym5j2MJNw3looFPjr4eNqbd0Xvnh3Hes\nbXTcDO+fT9vceJx/fT4ulE23GLiT5B0Pir8uVGaytKXTRLjBx9op7NrsvxYABQ2Z8Kp4Ck\nnTpTU75OikmKTNPltPk5sfIN5SAd0HWPAAAAB3NvY2lhbHMAAAAAAAAABnNoYTUxMgAAAh\nQAAAAMcnNhLXNoYTItNTEyAAACAHLoLzpT0ArzK3eLg3bA921wrf3Pcoxye3735O7zbOOK\njRoGgdprpXg5S5IkxEW/FARGlFX4G9nr+OTduNhBLRWwxcvRCYgGk2iRMydHzaslK0tAtN\ntz+uT5kxn+7Iky0oGvYhgXXYtbjV4QSyu6Og5VpDCluEj8c9mZx/y3/FEBfIdFSok9IqY1\nFyD7o20/pe/ZUnC90gR610F6uN67pp5NIuyFb1efnKVip99Ti3+zJ8QV/2YIyvcn+olRMj\nCoLARgxf+VMg0B+KVnT2rbSnxarG46ttl2YUPAPMgS8/P1RlrTk9bVvx6XD08R5xEcnv7o\nwS9iKxaBCHan8Wm7C5DpDmHYupQ/fj10b4ZIddf28JCPuCciHD4fvITa/ImMKTN+UqPWgO\nrBNk92TAE/ByaWcfhJDmvH4wi7HWaaumrFktN7CH1XKcYcKPlzALExAj6BtHCMWyQpgiiu\nVmS5IF/Q5nIDJ1ZOcUNlM3/joYcxXbMa5ZutRvJMnj08wLDweI6I6Q3S8gqY/nTRSwFfjV\n93VEI5Yso5mCZp16+vCegn90NlQ6jCPxc1HdytQFpcjPuQbMLdzxQpZ1WE62SoVhzVuLTn\nYpQLFsegssSDM/A1z54dgN9HI8lRNW8cxXXLKSIjDTYnk3W5dUaqW/JCttPmDcUd16YT8r\nJPPjuDt7Fb\n-----END SSH SIGNATURE-----\n```\n\nThen run:\n\n```\nssh-keygen -Y verify -f /path/to/saved/key -I naomi@nhcarrigan.com -n socials -s /path/to/saved/signature < /path/to/saved/list\n```\n\n
\n:::", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::0", - "metadata": { - "title": "Contact Policy" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/about/contact#" - }, - { - "content": "1. Support and Communication Channels", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::1", - "metadata": { - "title": "Contact Policy" - }, - "title": "1. Support and Communication Channels", - "url": "https://docs.nhcarrigan.com/about/contact#1-support-and-communication-channels" - }, - { - "content": "1.1 Public Support Channels\n\nWe offer FREE support through several PUBLIC channels, including:\n\n- Community Forums\n- Public Repository Issues\n- Open IRC Channels\n- Custom Fediverse Instance\n\nThese channels are ideal for:\n\n- General inquiries about our projects\n- Bug reports and feature requests\n- Community discussions and knowledge sharing\n- Open-source collaboration opportunities", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::2", - "metadata": { - "title": "Contact Policy" - }, - "title": "1.1 Public Support Channels", - "url": "https://docs.nhcarrigan.com/about/contact#11-public-support-channels" - }, - { - "content": "1.2 Private Support Options\n\nWhile we encourage the use of public channels, we understand that some situations may require private communication. Please note:\n\n- Private support is a premium service and may be subject to fees.\n- We reserve the right to invoice you for private support services.\n- Billing is based on the anticipated workload for your query.\n- Responses to private queries will be provided only after invoice payment is confirmed.\n\nTo request private support, please contact us through `support@nhcarrigan.com`.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::3", - "metadata": { - "title": "Contact Policy" - }, - "title": "1.2 Private Support Options", - "url": "https://docs.nhcarrigan.com/about/contact#12-private-support-options" - }, - { - "content": "1.3 Engagement Opportunities\n\nOur platforms offer various ways to engage with our projects and community:\n\n- Request support for technical issues\n- Express interest in contributing to our open-source projects\n- Seek mentorship in software development\n- Participate in casual discussions with our team and community members", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::4", - "metadata": { - "title": "Contact Policy" - }, - "title": "1.3 Engagement Opportunities", - "url": "https://docs.nhcarrigan.com/about/contact#13-engagement-opportunities" - }, - { - "content": "1.4 Platform Directory\n\nBelow, you'll find a comprehensive list of our official communication platforms. Each platform serves specific purposes and caters to different types of interactions. Please choose the most appropriate channel for your needs to ensure the fastest and most effective response.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::5", - "metadata": { - "title": "Contact Policy" - }, - "title": "1.4 Platform Directory", - "url": "https://docs.nhcarrigan.com/about/contact#14-platform-directory" - }, - { - "content": "1.5 Contact Form\n\nWe offer a [contact form](https://forms.nhcarrigan.com/form/HyqoJ9Th5QDiOn_GPLNIRhe1a5ON7mDQf-O_ukM6R4g) for direct, low-priority communication requests.\n\nIt is often faster to reach out through one of the above platforms, and best to consider this contact form as a backup in the event of a severe outage.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::6", - "metadata": { - "title": "Contact Policy" - }, - "title": "1.5 Contact Form", - "url": "https://docs.nhcarrigan.com/about/contact#15-contact-form" - }, - { - "content": "2. Communication Platforms", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::7", - "metadata": { - "title": "Contact Policy" - }, - "title": "2. Communication Platforms", - "url": "https://docs.nhcarrigan.com/about/contact#2-communication-platforms" - }, - { - "content": "2.1. Forum\n\nOur self-hosted forum allows for more long-form communication, which is ideal for support queries and in-depth conversations.\n\n- Join Link: https://forum.nhcarrigan.com\n- Features:\n - Quick response times\n - Threaded conversations\n - Persistent and indexed posts\n- Best for: Support queries", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::8", - "metadata": { - "title": "Contact Policy" - }, - "title": "2.1. Forum", - "url": "https://docs.nhcarrigan.com/about/contact#21-forum" - }, - { - "content": "2.2. Code Repositories\n\nOur code repositories are all self-hosted. Sign-ups are open for anyone who wants to file an issue or comment on a discussion, but making code contributions is restricted to our core team.\n\n- Link: https://git.nhcarrigan.com\n- Features:\n - Issue tracking\n - Source code for all of our products\n- Best for: Filing tickets on our software.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::9", - "metadata": { - "title": "Contact Policy" - }, - "title": "2.2. Code Repositories", - "url": "https://docs.nhcarrigan.com/about/contact#22-code-repositories" - }, - { - "content": "2.3. Etiquette and Best Practices\n\n- Please be respectful and follow the community guidelines on all platforms.\n- Use appropriate channels or rooms for your queries to ensure the fastest response.\n- Before asking a question, check if it has been answered in pinned messages or FAQs.\n- When seeking help, provide as much relevant information as possible.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::10", - "metadata": { - "title": "Contact Policy" - }, - "title": "2.3. Etiquette and Best Practices", - "url": "https://docs.nhcarrigan.com/about/contact#23-etiquette-and-best-practices" - }, - { - "content": "3. Announcements and Updates", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::11", - "metadata": { - "title": "Contact Policy" - }, - "title": "3. Announcements and Updates", - "url": "https://docs.nhcarrigan.com/about/contact#3-announcements-and-updates" - }, - { - "content": "3.1 Announcements Page\n\nWe have a dedicated forum category where we post all of our organisational updates.\n\n- URL: https://announcements.nhcarrigan.com\n- Nature: You can reply to announcement threads to discuss the announcement.\n- Content:\n - Project updates and new releases\n - Important community announcements\n - Event notifications\n - Major policy changes\n- Best for: Comprehensive, detailed announcements and long-form updates", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::12", - "metadata": { - "title": "Contact Policy" - }, - "title": "3.1 Announcements Page", - "url": "https://docs.nhcarrigan.com/about/contact#31-announcements-page" - }, - { - "content": "3.2 Blog\n\nOur blog contains more personal posts and updates.\n\n- URL: https://blog.nhcarrigan.com\n- Nature: This board is read-only.\n- Content:\n - Personal life updates\n - Random musings\n - Cool insights into our decision making processes\n- Best for: People who want more insight into the team behind NHCarrigan.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::13", - "metadata": { - "title": "Contact Policy" - }, - "title": "3.2 Blog", - "url": "https://docs.nhcarrigan.com/about/contact#32-blog" - }, - { - "content": "3.3 Interacting with Announcements\n\nAll of our announcements are read-only, but you can discuss them in any of our platforms mentioned in Section 1!", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::14", - "metadata": { - "title": "Contact Policy" - }, - "title": "3.3 Interacting with Announcements", - "url": "https://docs.nhcarrigan.com/about/contact#33-interacting-with-announcements" - }, - { - "content": "3.6 Historical Announcements\n\nAll announcements on our board are archived and remain accessible for future reference.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::15", - "metadata": { - "title": "Contact Policy" - }, - "title": "3.6 Historical Announcements", - "url": "https://docs.nhcarrigan.com/about/contact#36-historical-announcements" - }, - { - "content": "4. Professional Engagement and Portfolio", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::16", - "metadata": { - "title": "Contact Policy" - }, - "title": "4. Professional Engagement and Portfolio", - "url": "https://docs.nhcarrigan.com/about/contact#4-professional-engagement-and-portfolio" - }, - { - "content": "4.1 LinkedIn Profile\n\nLinkedIn serves as our primary professional networking platform.\n\n- Profile URL: https://linkedin.com/in/naomi-lgbt\n- Purpose:\n - Professional networking\n - Career history and accomplishments\n - Skills endorsements and recommendations\n- Best for:\n - Potential employers or clients\n - Professional collaborators\n - Industry peers", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::17", - "metadata": { - "title": "Contact Policy" - }, - "title": "4.1 LinkedIn Profile", - "url": "https://docs.nhcarrigan.com/about/contact#41-linkedin-profile" - }, - { - "content": "4.1.1 Connecting on LinkedIn\n\nWhen sending a connection request, please include a brief message explaining your interest. We typically respond to LinkedIn messages within 2-3 business days.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::18", - "metadata": { - "title": "Contact Policy" - }, - "title": "4.1.1 Connecting on LinkedIn", - "url": "https://docs.nhcarrigan.com/about/contact#411-connecting-on-linkedin" - }, - { - "content": "4.2 Peerlist Profile\n\nAs an alternative to LinkedIn, we maintain a presence on Peerlist, a platform focused on tech professionals.\n\n- Profile URL: https://peerlist.io/naomi_lgbt\n- Purpose:\n - Showcase technical projects and contributions\n - Highlight specific skills and technologies\n - Connect with other tech professionals\n- Best for:\n - Tech-focused recruiters and companies\n - Fellow developers and engineers\n - Open-source collaborators", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::19", - "metadata": { - "title": "Contact Policy" - }, - "title": "4.2 Peerlist Profile", - "url": "https://docs.nhcarrigan.com/about/contact#42-peerlist-profile" - }, - { - "content": "4.2.1 Engaging on Peerlist\n\nFeel free to explore our projects and contributions on Peerlist. You can leave comments or questions on specific items in our portfolio.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::20", - "metadata": { - "title": "Contact Policy" - }, - "title": "4.2.1 Engaging on Peerlist", - "url": "https://docs.nhcarrigan.com/about/contact#421-engaging-on-peerlist" - }, - { - "content": "4.3 Professional Inquiries\n\nWhen reaching out for professional reasons, please consider the following:\n\n- Clear Purpose: State the reason for your contact (e.g., job opportunity, collaboration, consultation).\n- Relevant Background: Provide brief context about yourself or your company.\n- Specific Questions: If you have particular queries, include them in your initial message.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::21", - "metadata": { - "title": "Contact Policy" - }, - "title": "4.3 Professional Inquiries", - "url": "https://docs.nhcarrigan.com/about/contact#43-professional-inquiries" - }, - { - "content": "4.4 Services\n\nIf you're interested in hiring us to perform some work for you, fill out the form at https://forms.nhcarrigan.com/form/XRlQjeu8CbMrTA-v0IPOxlUPEPitLKXTWg70UUCIORA.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::22", - "metadata": { - "title": "Contact Policy" - }, - "title": "4.4 Services", - "url": "https://docs.nhcarrigan.com/about/contact#44-services" - }, - { - "content": "4.5 Speaking Engagements and Events\n\nIf you're interested in having us speak at your event or contribute to your publication, fill out the form at https://forms.nhcarrigan.com/form/Xqap3Q8hazzJd4Rrp9OOs9ip8Pa7C9zOVThlyFoPCbU.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::23", - "metadata": { - "title": "Contact Policy" - }, - "title": "4.5 Speaking Engagements and Events", - "url": "https://docs.nhcarrigan.com/about/contact#45-speaking-engagements-and-events" - }, - { - "content": "4.6 Keeping Professional Connections Updated\n\nWe regularly update our professional profiles with new projects, skills, and achievements. Follow us on these platforms to stay informed about our professional journey and potential opportunities for collaboration.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::24", - "metadata": { - "title": "Contact Policy" - }, - "title": "4.6 Keeping Professional Connections Updated", - "url": "https://docs.nhcarrigan.com/about/contact#46-keeping-professional-connections-updated" - }, - { - "content": "5. One-on-One Sessions\n\nWe offer personalized, one-on-one sessions to cater to various needs, from casual conversations to in-depth consultations. Book your session through our Topmate profile.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::25", - "metadata": { - "title": "Contact Policy" - }, - "title": "5. One-on-One Sessions", - "url": "https://docs.nhcarrigan.com/about/contact#5-one-on-one-sessions" - }, - { - "content": "5.1 Coffee Chat - $50\n\nA casual, informal conversation to connect and share ideas.\n\n- Duration: 15 minutes\n- Purpose:\n - Get to know Naomi\n - Discuss general topics in tech\n - Share experiences and insights\n- Best for:\n - Students looking for career advice\n - Professionals seeking to expand their network\n - Anyone interested in a friendly chat about tech and open source", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::26", - "metadata": { - "title": "Contact Policy" - }, - "title": "5.1 Coffee Chat - $50", - "url": "https://docs.nhcarrigan.com/about/contact#51-coffee-chat---$50" - }, - { - "content": "5.2 Consulting Session - $100\n\nA focused, one-on-one session to discuss potential new projects and align our services with your needs.\n\n- Duration: 30 minutes\n- Purpose:\n - Explore your project requirements in detail\n - Discuss how our services can meet your needs\n - Provide estimated quotes for the proposed work\n- Best for:\n - Developers stuck on a particular problem\n - Project managers seeking technical guidance\n - Startups needing expert input on their tech stack", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::27", - "metadata": { - "title": "Contact Policy" - }, - "title": "5.2 Consulting Session - $100", - "url": "https://docs.nhcarrigan.com/about/contact#52-consulting-session---$100" - }, - { - "content": "5.3 Mentorship Session - $200\n\nAn in-depth, personalized session focused on long-term professional growth and skill development.\n\n- Duration: 1 hour\n- Purpose:\n - Provide career guidance and development strategies\n - Offer personalized learning plans and resources\n - Review and provide feedback on code or projects\n- Best for:\n - Early-career developers seeking guidance\n - Professionals looking to transition into tech\n - Anyone seeking structured, long-term professional development", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::28", - "metadata": { - "title": "Contact Policy" - }, - "title": "5.3 Mentorship Session - $200", - "url": "https://docs.nhcarrigan.com/about/contact#53-mentorship-session---$200" - }, - { - "content": "5.4 How to Book a Session:\n\n- Complete the [meeting request form](https://forms.nhcarrigan.com/form/uUKZiJSDm6847iDOlpZkD5QF7cAjoTbTm0F4T0EdW0I)\n- Wait for an email to schedule a time\n- Once a time is agreed upon, you will receive an invoice via email.\n- The invoice MUST be paid at least 24 hours prior to your session.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::29", - "metadata": { - "title": "Contact Policy" - }, - "title": "5.4 How to Book a Session:", - "url": "https://docs.nhcarrigan.com/about/contact#54-how-to-book-a-session:" - }, - { - "content": "5.5 Preparing for Your Session:\n\n- Coffee Chat: Come with topics you'd like to discuss or questions about the industry\n- Consulting: Prepare a clear description of your problem or project, and any relevant code or documentation\n- Mentorship: Outline your career goals and areas where you'd like to improve", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::30", - "metadata": { - "title": "Contact Policy" - }, - "title": "5.5 Preparing for Your Session:", - "url": "https://docs.nhcarrigan.com/about/contact#55-preparing-for-your-session:" - }, - { - "content": "5.6 Additional Information:\n\n- All sessions are conducted virtually via a video call over Zoom or Google Meet.\n- Payment is required at the time of booking\n- Rescheduling is possible with at least 24 hours notice\n\nFor any questions about these sessions or to discuss a different type of engagement, please reach out through our preferred contact methods listed in previous sections.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::31", - "metadata": { - "title": "Contact Policy" - }, - "title": "5.6 Additional Information:", - "url": "https://docs.nhcarrigan.com/about/contact#56-additional-information:" - }, - { - "content": "6. Email Communication\n\n:::caution\nEmail communication is considered a paid service and will be invoiced at $25 per email we receive.\n:::\n\nWe offer several email addresses for specific types of inquiries. Please use the appropriate email address to ensure your message reaches the right team and receives the most efficient response.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::32", - "metadata": { - "title": "Contact Policy" - }, - "title": "6. Email Communication", - "url": "https://docs.nhcarrigan.com/about/contact#6-email-communication" - }, - { - "content": "6.1 General Inquiries\n\n- Email: contact@nhcarrigan.com\n- Use for:\n - General questions about our services or projects\n - Partnership or collaboration proposals\n - Media or press inquiries\n - Any queries that don't fit other categories", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::33", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.1 General Inquiries", - "url": "https://docs.nhcarrigan.com/about/contact#61-general-inquiries" - }, - { - "content": "6.2 Billing and Financial Matters\n\n- Email: billing@nhcarrigan.com\n- Use for:\n - Questions about payments or invoices\n - Inquiries about outstanding balances\n - Refund requests\n - Updating billing information", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::34", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.2 Billing and Financial Matters", - "url": "https://docs.nhcarrigan.com/about/contact#62-billing-and-financial-matters" - }, - { - "content": "6.3 Technical Support\n\n- Email: support@nhcarrigan.com\n- Use for:\n - Assistance with using our software or services\n - Reporting bugs or technical issues\n - Documentation clarifications", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::35", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.3 Technical Support", - "url": "https://docs.nhcarrigan.com/about/contact#63-technical-support" - }, - { - "content": "6.4 Privacy Concerns\n\n- Email: privacy@nhcarrigan.com\n- Use for:\n - Questions about our privacy policy\n - Requests for data access or deletion\n - Reporting potential privacy breaches\n - Opting out of data collection (where applicable)", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::36", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.4 Privacy Concerns", - "url": "https://docs.nhcarrigan.com/about/contact#64-privacy-concerns" - }, - { - "content": "6.5 Security Matters\n\n- Email: security@nhcarrigan.com\n- Use for:\n - Reporting security vulnerabilities\n - Questions about our security practices\n - Concerns about potential security breaches", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::37", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.5 Security Matters", - "url": "https://docs.nhcarrigan.com/about/contact#65-security-matters" - }, - { - "content": "6.6 Legal Inquiries\n\n- Email: legal@nhcarrigan.com\n- Use for:\n - Legal questions or concerns\n - Copyright or trademark issues\n - Requests for legal documentation\n - Formal notices or communications", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::38", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.6 Legal Inquiries", - "url": "https://docs.nhcarrigan.com/about/contact#66-legal-inquiries" - }, - { - "content": "6.7 Feedback and Suggestions\n\n- Email: feedback@nhcarrigan.com\n- Use for:\n - Providing feedback on our work or projects\n - Suggesting improvements or new features\n - Sharing your experience with our services\n - Offering ideas for future developments", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::39", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.7 Feedback and Suggestions", - "url": "https://docs.nhcarrigan.com/about/contact#67-feedback-and-suggestions" - }, - { - "content": "6.8 Press/Media Inquiries\n\n- Email: press@nhcarrigan.com\n- Use for:\n - Requesting comment regarding news\n - Scheduling interviews for your media outlet\n - Attribution requests in academic articles", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::40", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.8 Press/Media Inquiries", - "url": "https://docs.nhcarrigan.com/about/contact#68-press/media-inquiries" - }, - { - "content": "6.9 Event Requests\n\n- Email: events@nhcarrigan.com\n- Use for:\n - Requesting our appearance at your event\n - Speaking engagement opportunities\n - Workshop or training session requests\n - Event sponsorship inquiries", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::41", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.9 Event Requests", - "url": "https://docs.nhcarrigan.com/about/contact#69-event-requests" - }, - { - "content": "6.10 Marketing Inquiries\n\n- Email: marketing@nhcarrigan.com\n- Use for:\n - Marketing collaboration proposals\n - Brand partnership opportunities\n - Advertising inquiries\n - Content licensing requests", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::42", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.10 Marketing Inquiries", - "url": "https://docs.nhcarrigan.com/about/contact#610-marketing-inquiries" - }, - { - "content": "6.11 Career Information\n\n- Email: careers@nhcarrigan.com\n- Use for:\n - Sending your resume to inquire about opportunities to work with us\n - Questions about open positions\n - Inquiries\n - Following up on job applications", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::43", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.11 Career Information", - "url": "https://docs.nhcarrigan.com/about/contact#611-career-information" - }, - { - "content": "6.12 Partnerships\n\n- Email: partners@nhcarrigan.com\n- Use for:\n - Requesting a collaboration between our organisation and yours\n - Sponsorship opportunities for our work\n - Brand ambassador programmes\n - Product placement or sponsored content inquiries", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::44", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.12 Partnerships", - "url": "https://docs.nhcarrigan.com/about/contact#612-partnerships" - }, - { - "content": "6.13 Email Communication Guidelines\n\n- Subject Line: Please use a clear, concise subject line that summarizes your inquiry.\n- Content: Provide all relevant details in your initial email to expedite the response process.\n- Attachments: If sending attachments, please mention them in the email body and ensure they are in common file formats.\n- Response Time: We aim to respond to all emails within 2 business days. Complex inquiries may require additional time.\n- Follow-ups: If you haven't received a response after 3 business days, feel free to send a polite follow-up.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::45", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.13 Email Communication Guidelines", - "url": "https://docs.nhcarrigan.com/about/contact#613-email-communication-guidelines" - }, - { - "content": "6.14 Email Privacy and Security\n\nAll email communications are treated as confidential.\n\nWe do not share your email address or the content of your messages with third parties unless:\n\n- Required by law; OR\n- As part of a public warning related to a violation of our Code of Conduct", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::46", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.14 Email Privacy and Security", - "url": "https://docs.nhcarrigan.com/about/contact#614-email-privacy-and-security" - }, - { - "content": "6.15 Spam and Unsolicited Emails\n\nWe have a strict no-spam policy. If you receive any unsolicited emails claiming to be from us, please report them to security@nhcarrigan.com.\n\nBy using the appropriate email address for your inquiry, you help us provide you with the most efficient and accurate response possible. If you're unsure which email to use, feel free to send your inquiry to contact@nhcarrigan.com, and we'll direct it to the appropriate team.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::47", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.15 Spam and Unsolicited Emails", - "url": "https://docs.nhcarrigan.com/about/contact#615-spam-and-unsolicited-emails" - }, - { - "content": "6.16 Acceptable Use and Consequences\n\nWe are committed to maintaining a respectful and productive communication environment. To ensure this:\n\n- All email communications should be professional and respectful.\n- Harassment, threats, or abusive language will not be tolerated.\n- Spam or excessive unsolicited emails are prohibited.\n- Attempting to use our email system for malicious purposes (e.g., phishing, spreading malware) is strictly forbidden.\n\n:::danger[Attention!]\nAbuse of our email system or violation of these guidelines will result in your email address being blocked from sending communications to any of our addresses. This block may be temporary or permanent, depending on the severity and frequency of the abuse.\n:::\n\nIf you believe your email has been blocked in error, please contact us through an alternative method listed in this document to request a review of the situation.\n\nWe reserve the right to report serious abuses to relevant authorities if necessary.\n\nBy communicating with us via email, you agree to adhere to these guidelines and understand the consequences of misuse.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::48", - "metadata": { - "title": "Contact Policy" - }, - "title": "6.16 Acceptable Use and Consequences", - "url": "https://docs.nhcarrigan.com/about/contact#616-acceptable-use-and-consequences" - }, - { - "content": "7. Direct Messages\n\n:::caution\nDirect messages (DMs) are considered a paid service and will be invoiced at $25 per message we receive.\n:::", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::49", - "metadata": { - "title": "Contact Policy" - }, - "title": "7. Direct Messages", - "url": "https://docs.nhcarrigan.com/about/contact#7-direct-messages" - }, - { - "content": "7.1 Direct Message Policy\n\nWe offer direct messaging as a premium, personalized communication channel. However, to manage our time effectively and ensure the highest quality of service, we have implemented the following policy for direct messages:\n\n- Each direct message received will be invoiced at $25.\n- This applies to all platforms where direct messaging is available.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::50", - "metadata": { - "title": "Contact Policy" - }, - "title": "7.1 Direct Message Policy", - "url": "https://docs.nhcarrigan.com/about/contact#71-direct-message-policy" - }, - { - "content": "7.2 Purpose and Use\n\nDirect messages should be used for:\n\n- Urgent matters that cannot be addressed through public channels\n- Sensitive information that shouldn't be shared publicly\n- Personalized support or consultation requests", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::51", - "metadata": { - "title": "Contact Policy" - }, - "title": "7.2 Purpose and Use", - "url": "https://docs.nhcarrigan.com/about/contact#72-purpose-and-use" - }, - { - "content": "7.3 Invoicing and Payment\n\n- An invoice will be generated for each direct message received.\n- Payment is required before a response will be provided.\n- Invoices will be sent to you via the direct message channel on the platform where the direct message was received.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::52", - "metadata": { - "title": "Contact Policy" - }, - "title": "7.3 Invoicing and Payment", - "url": "https://docs.nhcarrigan.com/about/contact#73-invoicing-and-payment" - }, - { - "content": "7.4 Response Time\n\n- Once payment is received, we aim to respond to direct messages within 1-2 business days.\n- Complex inquiries may require additional time, which will be communicated to you.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::53", - "metadata": { - "title": "Contact Policy" - }, - "title": "7.4 Response Time", - "url": "https://docs.nhcarrigan.com/about/contact#74-response-time" - }, - { - "content": "7.5 Refund Policy\n\n- Due to the immediate nature of the service, refunds for direct messages are not typically offered.\n- In exceptional circumstances, refund requests will be considered on a case-by-case basis.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::54", - "metadata": { - "title": "Contact Policy" - }, - "title": "7.5 Refund Policy", - "url": "https://docs.nhcarrigan.com/about/contact#75-refund-policy" - }, - { - "content": "7.6 Appropriate Use\n\n- Direct messages should be used responsibly and for legitimate purposes only.\n- Abusive, harassing, or spam messages will not be tolerated and may result in blocking or reporting to the platform.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::55", - "metadata": { - "title": "Contact Policy" - }, - "title": "7.6 Appropriate Use", - "url": "https://docs.nhcarrigan.com/about/contact#76-appropriate-use" - }, - { - "content": "7.7 Alternatives\n\nWe encourage users to consider the following alternatives before sending a direct message:\n\n- Use our public support channels for general inquiries (see Section 1.1)\n- Check our FAQ or documentation for commonly asked questions\n- Post in our community forums for non-urgent matters", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::56", - "metadata": { - "title": "Contact Policy" - }, - "title": "7.7 Alternatives", - "url": "https://docs.nhcarrigan.com/about/contact#77-alternatives" - }, - { - "content": "7.8 Consent and Acknowledgment\n\nBy sending a direct message, you acknowledge that you have read and agreed to this policy, including the fee structure and invoicing process.\n\nRemember, while we value direct communication, we encourage the use of our public channels whenever possible to foster community engagement and shared learning.", - "file": "src/content/docs/about/contact.md", - "id": "src/content/docs/about/contact.md::57", - "metadata": { - "title": "Contact Policy" - }, - "title": "7.8 Consent and Acknowledgment", - "url": "https://docs.nhcarrigan.com/about/contact#78-consent-and-acknowledgment" - }, - { - "content": "We are passionate about creating and maintaining free-to-use projects and providing guidance in various programming communities. Your support helps us continue this mission and expand our efforts.", - "file": "src/content/docs/about/donate.md", - "id": "src/content/docs/about/donate.md::0", - "metadata": { - "title": "Support Our Work 💜" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/about/donate#" - }, - { - "content": "1. Why Support Us?\n\n- **Free Resources**: We offer numerous projects that are free for everyone to use and learn from.\n- **Community Guidance**: We actively participate in programming communities, offering help and mentorship.\n- **Open Source Contributions**: Your support enables us to dedicate more time to open source development.\n- **Continuous Improvement**: Donations help us improve existing projects and create new ones.", - "file": "src/content/docs/about/donate.md", - "id": "src/content/docs/about/donate.md::1", - "metadata": { - "title": "Support Our Work 💜" - }, - "title": "1. Why Support Us?", - "url": "https://docs.nhcarrigan.com/about/donate#1-why-support-us?" - }, - { - "content": "2. How Your Support Helps\n\n- Covers hosting and infrastructure costs\n- Allows us to dedicate more time to project development and community support\n- Enables us to invest in better tools and resources\n- Supports our ongoing education and skill development", - "file": "src/content/docs/about/donate.md", - "id": "src/content/docs/about/donate.md::2", - "metadata": { - "title": "Support Our Work 💜" - }, - "title": "2. How Your Support Helps", - "url": "https://docs.nhcarrigan.com/about/donate#2-how-your-support-helps" - }, - { - "content": "3. Ways to Support\n\nYou can make a $5 monthly donation via https://buy.stripe.com/cN24iTfqu1j6b3afZ2\n\nOr, if you'd like to make a one-off donation: https://donate.stripe.com/8wMcPp1zE8Ly2wEcMR", - "file": "src/content/docs/about/donate.md", - "id": "src/content/docs/about/donate.md::3", - "metadata": { - "title": "Support Our Work 💜" - }, - "title": "3. Ways to Support", - "url": "https://docs.nhcarrigan.com/about/donate#3-ways-to-support" - }, - { - "content": "4. Other Ways to Help\n\n- **Spread the Word**: Share our projects and resources with others who might benefit.\n- **Contribute**: If you have skills to offer, consider contributing to our open source projects.\n- **Provide Feedback**: Your input helps us improve and refine our work.", - "file": "src/content/docs/about/donate.md", - "id": "src/content/docs/about/donate.md::4", - "metadata": { - "title": "Support Our Work 💜" - }, - "title": "4. Other Ways to Help", - "url": "https://docs.nhcarrigan.com/about/donate#4-other-ways-to-help" - }, - { - "content": "5. Thank You!\n\nEvery contribution, no matter the size, makes a significant impact. We deeply appreciate your support and are committed to using it to benefit the wider programming community.\n\nFor any questions about donations or to discuss other support options, please contact us at donors@nhcarrigan.com.", - "file": "src/content/docs/about/donate.md", - "id": "src/content/docs/about/donate.md::5", - "metadata": { - "title": "Support Our Work 💜" - }, - "title": "5. Thank You!", - "url": "https://docs.nhcarrigan.com/about/donate#5-thank-you!" - }, - { - "content": "6. Perks\n\nOnce you have donated, make sure to join our [community](https://forum.nhcarrigan.com)! Once there, DM Naomi to request access to our special supporters subforum!\n\nYou can also request access to our [private development notes](https://notes.nhcarrigan.com), which gives you a sneak peek into our roadmap and future plans. You'll need to provide an email address so we can add you to the access list.", - "file": "src/content/docs/about/donate.md", - "id": "src/content/docs/about/donate.md::6", - "metadata": { - "title": "Support Our Work 💜" - }, - "title": "6. Perks", - "url": "https://docs.nhcarrigan.com/about/donate#6-perks" - }, - { - "content": "We're excited about the opportunity to collaborate with you and contribute to the success of your goals. Our team brings a wealth of experience and a passion for delivering high-quality solutions tailored to your specific needs.\n\n![\"If you knew I was so unstable, why'd you hire me?](https://cdn.nhcarrigan.com/hire.jpeg)", - "file": "src/content/docs/about/hire.md", - "id": "src/content/docs/about/hire.md::0", - "metadata": { - "title": "Hire us!" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/about/hire#" - }, - { - "content": "1. Our Services\n\n- **Discord Bot Development**: Custom bots to enhance your server's functionality\n- **Web Development**: From simple websites to complex web applications\n- **Community Management**: Strategies to grow and maintain thriving online communities\n- **Technical Consulting**: Expert advice on your tech-related projects and decisions", - "file": "src/content/docs/about/hire.md", - "id": "src/content/docs/about/hire.md::1", - "metadata": { - "title": "Hire us!" - }, - "title": "1. Our Services", - "url": "https://docs.nhcarrigan.com/about/hire#1-our-services" - }, - { - "content": "2. Engagement Options\n\nWe offer flexible ways to work together, catering to projects of all sizes and complexities:", - "file": "src/content/docs/about/hire.md", - "id": "src/content/docs/about/hire.md::2", - "metadata": { - "title": "Hire us!" - }, - "title": "2. Engagement Options", - "url": "https://docs.nhcarrigan.com/about/hire#2-engagement-options" - }, - { - "content": "2.1. Quick Sync (15 minutes)\n\nFor those with a well-defined product idea or seeking a quick review of their community plan, book a quick sync.\n\n- Ideal for: Initial project discussions, quick advice, or community plan reviews\n- Duration: 15 minutes\n- Outcome: Rapid insights and direction for your project", - "file": "src/content/docs/about/hire.md", - "id": "src/content/docs/about/hire.md::3", - "metadata": { - "title": "Hire us!" - }, - "title": "2.1. Quick Sync (15 minutes)", - "url": "https://docs.nhcarrigan.com/about/hire#21-quick-sync-(15-minutes)" - }, - { - "content": "2.2. In-Depth Consultation (30 minutes)\n\nFor more complex, long-term, or in-depth projects, we recommend booking an in-depth consultation.\n\n- Ideal for: Detailed project planning, technical strategy discussions, or exploring long-term collaborations\n- Duration: 30 minutes\n- Outcome: Comprehensive project assessment and tailored recommendations", - "file": "src/content/docs/about/hire.md", - "id": "src/content/docs/about/hire.md::4", - "metadata": { - "title": "Hire us!" - }, - "title": "2.2. In-Depth Consultation (30 minutes)", - "url": "https://docs.nhcarrigan.com/about/hire#22-in-depth-consultation-(30-minutes)" - }, - { - "content": "2.3. Mentorship Session (60 minutes)\n\n:::tip\nIndividual mentorship sessions are made available for those who might need one-off guidance, but the best value is actually through our [Mentorship programme](/about/mentorship).\n:::\n\nFor those seeking personalized guidance and skill development, we offer a full mentorship session.\n\n- Ideal for: Individuals looking to enhance their skills in development, community management, or related areas\n- Duration: 60 minutes\n- Outcome: Personalized learning path, hands-on projects, and ongoing support", - "file": "src/content/docs/about/hire.md", - "id": "src/content/docs/about/hire.md::5", - "metadata": { - "title": "Hire us!" - }, - "title": "2.3. Mentorship Session (60 minutes)", - "url": "https://docs.nhcarrigan.com/about/hire#23-mentorship-session-(60-minutes)" - }, - { - "content": "3. Why Choose Us?\n\n- **Expertise**: Years of experience in development and community management\n- **Flexibility**: Multiple engagement options to suit your needs and preferences\n- **Personalized Approach**: Tailored solutions for your unique challenges\n- **Commitment to Quality**: Delivering high-value insights and solutions in every interaction", - "file": "src/content/docs/about/hire.md", - "id": "src/content/docs/about/hire.md::6", - "metadata": { - "title": "Hire us!" - }, - "title": "3. Why Choose Us?", - "url": "https://docs.nhcarrigan.com/about/hire#3-why-choose-us?" - }, - { - "content": "4. Ready to Get Started?\n\nSubmit a [commission request](https://forms.nhcarrigan.com/form/XRlQjeu8CbMrTA-v0IPOxlUPEPitLKXTWg70UUCIORA)!\n\nNot sure which option is right for you? Feel free to contact us with any questions. We're excited to explore how we can help bring your ideas to life and contribute to your success!", - "file": "src/content/docs/about/hire.md", - "id": "src/content/docs/about/hire.md::7", - "metadata": { - "title": "Hire us!" - }, - "title": "4. Ready to Get Started?", - "url": "https://docs.nhcarrigan.com/about/hire#4-ready-to-get-started?" - }, - { - "content": "Here at NHCarrigan, we are dedicated to lowering the barriers of entry into tech and helping underprivileged/under-represented classes reach their goals. As part of this mission, we offer a mentorship programme (\"Programme\").", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::0", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/about/mentorship#" - }, - { - "content": "1. Introduction\n\nThese Terms and Conditions (“Terms”) outline the Programme provided by NHCarrigan (“Company”) and apply to all participants enrolled in the Programme. By enrolling, you (the \"Mentee\") agree to abide by these Terms. The Programme cost is $200 USD per month.", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::1", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "1. Introduction", - "url": "https://docs.nhcarrigan.com/about/mentorship#1-introduction" - }, - { - "content": "1.1. Enrolment\n\nTo enrol in the Programme, [fill out the application](https://forms.nhcarrigan.com/form/gNv4NYZmdiMWpkUcnknII2yYCvnYNGAmabG5O5He9Mo).", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::2", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "1.1. Enrolment", - "url": "https://docs.nhcarrigan.com/about/mentorship#11-enrolment" - }, - { - "content": "2. Programme Services\n\nUpon successful enrolment, the Mentee receives the following benefits:", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::3", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "2. Programme Services", - "url": "https://docs.nhcarrigan.com/about/mentorship#2-programme-services" - }, - { - "content": "2.1 Monthly 1:1 Sessions\n\nParticipants are entitled to one monthly 1:1 session with a mentor to discuss progress, set goals, and address any questions. Scheduling of these sessions is subject to mutual agreement and the mentor’s availability.", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::4", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "2.1 Monthly 1:1 Sessions", - "url": "https://docs.nhcarrigan.com/about/mentorship#21-monthly-1:1-sessions" - }, - { - "content": "2.2 Private Discord Channel\n\nParticipants will have access to a private Discord channel exclusively for Mentees. This channel offers priority response times from the NHCarrigan team. All participants must adhere to the Discord Code of Conduct found [here](https://docs.nhcarrigan.com).", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::5", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "2.2 Private Discord Channel", - "url": "https://docs.nhcarrigan.com/about/mentorship#22-private-discord-channel" - }, - { - "content": "2.3 Group Meetings\n\nIf the Programme enrols five (5) or more participants within a given month, all Mentees will be invited to a monthly group meeting. This meeting will provide opportunities for group discussions, shared experiences, and networking.", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::6", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "2.3 Group Meetings", - "url": "https://docs.nhcarrigan.com/about/mentorship#23-group-meetings" - }, - { - "content": "2.4 Maintainer-Level Access to Open Source Projects\n\nParticipants will gain maintainer-level access to NHCarrigan’s open-source projects for hands-on work experience. This access is a privilege and requires adherence to project guidelines, which can be reviewed [here](https://docs.nhcarrigan.com).", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::7", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "2.4 Maintainer-Level Access to Open Source Projects", - "url": "https://docs.nhcarrigan.com/about/mentorship#24-maintainer-level-access-to-open-source-projects" - }, - { - "content": "2.5 Internship and Resume Building\n\nParticipants will have the opportunity to build their resumes through an internship with NHCarrigan. This includes eligibility for project contributions and collaboration with the NHCarrigan team.", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::8", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "2.5 Internship and Resume Building", - "url": "https://docs.nhcarrigan.com/about/mentorship#25-internship-and-resume-building" - }, - { - "content": "2.6 Ongoing Support and Resources\n\nMentees will receive continuous resume reviews, personalized learning roadmaps, and dedicated guidance for the duration of their membership. Additional resources and Programme updates will be provided as part of this lifetime membership support.", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::9", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "2.6 Ongoing Support and Resources", - "url": "https://docs.nhcarrigan.com/about/mentorship#26-ongoing-support-and-resources" - }, - { - "content": "3. Payment Terms\n\nThe Programme fee of $200 USD is due at the start of each month to retain membership. Failure to make payments may result in suspension or termination of services.", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::10", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "3. Payment Terms", - "url": "https://docs.nhcarrigan.com/about/mentorship#3-payment-terms" - }, - { - "content": "4. Code of Conduct\n\nParticipants agree to uphold the Company’s Code of Conduct and other policies, as outlined in the [NHCarrigan Documentation](https://docs.nhcarrigan.com/commnuity/coc.md).", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::11", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "4. Code of Conduct", - "url": "https://docs.nhcarrigan.com/about/mentorship#4-code-of-conduct" - }, - { - "content": "5. Programme Modifications\n\nNHCarrigan reserves the right to modify Programme features, benefits, and terms at any time. Notification of such changes will be provided to participants with as much advance notice as possible.", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::12", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "5. Programme Modifications", - "url": "https://docs.nhcarrigan.com/about/mentorship#5-programme-modifications" - }, - { - "content": "6. Termination and Cancellation\n\nParticipants may cancel their membership at any time, effective at the end of the current billing cycle. Refunds will not be issued for partial months. NHCarrigan reserves the right to terminate membership if a participant violates any of these Terms.", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::13", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "6. Termination and Cancellation", - "url": "https://docs.nhcarrigan.com/about/mentorship#6-termination-and-cancellation" - }, - { - "content": "7. Contact Information\n\nFor questions or further information, please contact the NHCarrigan team through the official support channels listed in the [documentation](https://docs.nhcarrigan.com/about/contact).", - "file": "src/content/docs/about/mentorship.md", - "id": "src/content/docs/about/mentorship.md::14", - "metadata": { - "title": "Mentorship Programme Terms and Conditions" - }, - "title": "7. Contact Information", - "url": "https://docs.nhcarrigan.com/about/mentorship#7-contact-information" - }, - { - "content": "This Mission Statement (\"Statement\") articulates the core values and guiding principles of [Company Name] in its efforts to build inclusive, ethical, and sustainable technology solutions.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::0", - "metadata": { - "title": "Mission Statement" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/about/mission#" - }, - { - "content": "1. Core Values", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::1", - "metadata": { - "title": "Mission Statement" - }, - "title": "1. Core Values", - "url": "https://docs.nhcarrigan.com/about/mission#1-core-values" - }, - { - "content": "1.1. Commitment to Inclusivity\n\nThe Company shall actively work to dismantle barriers and promote diversity in all areas of its operations. We seek to create spaces where all individuals, particularly from marginalized communities, feel supported and valued.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::2", - "metadata": { - "title": "Mission Statement" - }, - "title": "1.1. Commitment to Inclusivity", - "url": "https://docs.nhcarrigan.com/about/mission#11-commitment-to-inclusivity" - }, - { - "content": "1.2. Sustainability as a Priority\n\nEnvironmental sustainability is integral to the Company's mission. We shall consistently minimize our carbon footprint, use eco-friendly technologies, and ensure that every project aligns with our environmental goals.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::3", - "metadata": { - "title": "Mission Statement" - }, - "title": "1.2. Sustainability as a Priority", - "url": "https://docs.nhcarrigan.com/about/mission#12-sustainability-as-a-priority" - }, - { - "content": "1.3. Ethical Responsibility\n\nThe Company adheres to a strict ethical code that guides our technological developments. This includes ensuring that our technologies respect user privacy, do no harm, and contribute positively to society.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::4", - "metadata": { - "title": "Mission Statement" - }, - "title": "1.3. Ethical Responsibility", - "url": "https://docs.nhcarrigan.com/about/mission#13-ethical-responsibility" - }, - { - "content": "1.4. Transparency and Integrity\n\nWe are dedicated to maintaining transparency with our stakeholders, whether clients, users, or community members. Clear communication and honesty are at the forefront of our interactions and decision-making.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::5", - "metadata": { - "title": "Mission Statement" - }, - "title": "1.4. Transparency and Integrity", - "url": "https://docs.nhcarrigan.com/about/mission#14-transparency-and-integrity" - }, - { - "content": "1.5. Community-Driven Innovation\n\nOur projects are community-centric, encouraging collaboration and input from diverse voices. We believe in technology as a tool to uplift, empower, and serve communities through innovative solutions that address real-world challenges.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::6", - "metadata": { - "title": "Mission Statement" - }, - "title": "1.5. Community-Driven Innovation", - "url": "https://docs.nhcarrigan.com/about/mission#15-community-driven-innovation" - }, - { - "content": "1.6. Breaking Down Barriers in Tech\n\nThe Company is committed to tearing down the systemic and social barriers that exist in the tech industry. We actively work to make the field more accessible to individuals from all backgrounds, particularly those who have historically been excluded.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::7", - "metadata": { - "title": "Mission Statement" - }, - "title": "1.6. Breaking Down Barriers in Tech", - "url": "https://docs.nhcarrigan.com/about/mission#16-breaking-down-barriers-in-tech" - }, - { - "content": "1.7. Challenging Toxic Behaviors\n\nWe recognize that toxic behaviors and exclusionary practices harm communities. The Company shall take a proactive stance in challenging these behaviors within our industry and within the tech communities we interact with, fostering spaces where collaboration, respect, and growth thrive.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::8", - "metadata": { - "title": "Mission Statement" - }, - "title": "1.7. Challenging Toxic Behaviors", - "url": "https://docs.nhcarrigan.com/about/mission#17-challenging-toxic-behaviors" - }, - { - "content": "1.8. Mentorship and Support for New Developers\n\nThe Company is dedicated to providing mentorship and support to new developers, particularly those from underrepresented groups. Through guided mentorship, educational resources, and hands-on support, we help individuals break into the industry, equipping them with the skills and confidence to succeed.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::9", - "metadata": { - "title": "Mission Statement" - }, - "title": "1.8. Mentorship and Support for New Developers", - "url": "https://docs.nhcarrigan.com/about/mission#18-mentorship-and-support-for-new-developers" - }, - { - "content": "2. Strategic Goals", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::10", - "metadata": { - "title": "Mission Statement" - }, - "title": "2. Strategic Goals", - "url": "https://docs.nhcarrigan.com/about/mission#2-strategic-goals" - }, - { - "content": "2.1. Elevating Marginalized Voices\n\nThe Company is committed to using its platform to elevate the voices and contributions of individuals from underrepresented communities in tech and beyond.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::11", - "metadata": { - "title": "Mission Statement" - }, - "title": "2.1. Elevating Marginalized Voices", - "url": "https://docs.nhcarrigan.com/about/mission#21-elevating-marginalized-voices" - }, - { - "content": "2.2. Long-Term Sustainability\n\nAll Company projects and partnerships will be evaluated against their long-term environmental impact, with a focus on contributing to a sustainable future.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::12", - "metadata": { - "title": "Mission Statement" - }, - "title": "2.2. Long-Term Sustainability", - "url": "https://docs.nhcarrigan.com/about/mission#22-long-term-sustainability" - }, - { - "content": "2.3. Development of Ethical Technologies\n\nWe shall continue to develop and support open-source projects that align with our ethical standards, ensuring they are accessible, secure, and beneficial to society.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::13", - "metadata": { - "title": "Mission Statement" - }, - "title": "2.3. Development of Ethical Technologies", - "url": "https://docs.nhcarrigan.com/about/mission#23-development-of-ethical-technologies" - }, - { - "content": "2.4. Continuous Growth and Learning\n\nThe Company is committed to evolving its practices and technologies in line with industry advancements, social justice movements, and environmental research.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::14", - "metadata": { - "title": "Mission Statement" - }, - "title": "2.4. Continuous Growth and Learning", - "url": "https://docs.nhcarrigan.com/about/mission#24-continuous-growth-and-learning" - }, - { - "content": "2.5. Supporting the Next Generation of Developers\n\nWe will continue to build and expand initiatives aimed at mentoring and supporting new developers, ensuring that they have the knowledge and resources to thrive within the industry.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::15", - "metadata": { - "title": "Mission Statement" - }, - "title": "2.5. Supporting the Next Generation of Developers", - "url": "https://docs.nhcarrigan.com/about/mission#25-supporting-the-next-generation-of-developers" - }, - { - "content": "3. Amendments and Updates", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::16", - "metadata": { - "title": "Mission Statement" - }, - "title": "3. Amendments and Updates", - "url": "https://docs.nhcarrigan.com/about/mission#3-amendments-and-updates" - }, - { - "content": "3.1. Right to Amend\n\nThe Company reserves the right to amend this Statement as necessary to reflect evolving best practices and organizational goals.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::17", - "metadata": { - "title": "Mission Statement" - }, - "title": "3.1. Right to Amend", - "url": "https://docs.nhcarrigan.com/about/mission#31-right-to-amend" - }, - { - "content": "3.2. Notification of Changes\n\nSignificant amendments to this Statement will be communicated through the Company’s official channels.", - "file": "src/content/docs/about/mission.md", - "id": "src/content/docs/about/mission.md::18", - "metadata": { - "title": "Mission Statement" - }, - "title": "3.2. Notification of Changes", - "url": "https://docs.nhcarrigan.com/about/mission#32-notification-of-changes" - }, - { - "content": "This Environmental Impact Commitment (\"Commitment\") outlines the principles and obligations that [Company Name] upholds to minimize its environmental impact and contribute to global sustainability efforts.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::0", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/about/sustainability#" - }, - { - "content": "1. Definitions", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::1", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "1. Definitions", - "url": "https://docs.nhcarrigan.com/about/sustainability#1-definitions" - }, - { - "content": "1.1. Environmental Impact\n\nThe measurable effect of the Company’s activities, operations, and technologies on the environment, including but not limited to carbon emissions, energy consumption, and waste production.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::2", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "1.1. Environmental Impact", - "url": "https://docs.nhcarrigan.com/about/sustainability#11-environmental-impact" - }, - { - "content": "1.2. Carbon Footprint\n\nThe total greenhouse gas emissions caused directly or indirectly by the Company’s activities, measured in units of carbon dioxide equivalent.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::3", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "1.2. Carbon Footprint", - "url": "https://docs.nhcarrigan.com/about/sustainability#12-carbon-footprint" - }, - { - "content": "1.3. Tree-Nation\n\nA reforestation and carbon offset platform used by the Company to compensate for emissions by planting trees for specific activities, including but not limited to website operations.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::4", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "1.3. Tree-Nation", - "url": "https://docs.nhcarrigan.com/about/sustainability#13-tree-nation" - }, - { - "content": "1.4. Net-Negative Impact\n\nA situation where the environmental harm caused by a project or activity exceeds any positive environmental contributions or mitigation efforts.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::5", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "1.4. Net-Negative Impact", - "url": "https://docs.nhcarrigan.com/about/sustainability#14-net-negative-impact" - }, - { - "content": "2. General Principles", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::6", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "2. General Principles", - "url": "https://docs.nhcarrigan.com/about/sustainability#2-general-principles" - }, - { - "content": "2.1. Commitment to Sustainability\n\nThe Company is committed to sustainability at all levels of its operations, actively seeking to minimize its environmental impact and promote long-term environmental health.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::7", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "2.1. Commitment to Sustainability", - "url": "https://docs.nhcarrigan.com/about/sustainability#21-commitment-to-sustainability" - }, - { - "content": "2.2. Prioritization of Environmental Impact\n\nEnvironmental considerations, including carbon footprint and resource consumption, shall be a key factor in the selection and use of technologies, tools, and resources by the Company.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::8", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "2.2. Prioritization of Environmental Impact", - "url": "https://docs.nhcarrigan.com/about/sustainability#22-prioritization-of-environmental-impact" - }, - { - "content": "2.3. Responsible Technology Use\n\nThe Company shall only utilize technologies that align with its environmental goals, ensuring minimal energy consumption and environmental degradation.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::9", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "2.3. Responsible Technology Use", - "url": "https://docs.nhcarrigan.com/about/sustainability#23-responsible-technology-use" - }, - { - "content": "3. Carbon Offsetting", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::10", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "3. Carbon Offsetting", - "url": "https://docs.nhcarrigan.com/about/sustainability#3-carbon-offsetting" - }, - { - "content": "3.1. Partnership with Tree-Nation\n\nThe Company shall actively offset its carbon emissions through its partnership with Tree-Nation, which will involve automatically planting trees for specific online activities, such as website operations.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::11", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "3.1. Partnership with Tree-Nation", - "url": "https://docs.nhcarrigan.com/about/sustainability#31-partnership-with-tree-nation" - }, - { - "content": "3.2. Scope of Offsetting\n\nCarbon offsetting efforts shall include, but are not limited to, emissions generated by:\n\n- Website hosting and maintenance\n- Digital services provided by the Company\n- Any other relevant activities contributing to the Company’s carbon footprint", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::12", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "3.2. Scope of Offsetting", - "url": "https://docs.nhcarrigan.com/about/sustainability#32-scope-of-offsetting" - }, - { - "content": "4. Environmental Due Diligence", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::13", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "4. Environmental Due Diligence", - "url": "https://docs.nhcarrigan.com/about/sustainability#4-environmental-due-diligence" - }, - { - "content": "4.1. Project Assessment\n\nBefore taking on any project, the Company shall conduct an environmental impact assessment to ensure that the project does not introduce a net-negative impact on the environment.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::14", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "4.1. Project Assessment", - "url": "https://docs.nhcarrigan.com/about/sustainability#41-project-assessment" - }, - { - "content": "4.2. Refusal of Net-Negative Work\n\nThe Company reserves the right to refuse any project or contract that it determines would result in a net-negative environmental impact.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::15", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "4.2. Refusal of Net-Negative Work", - "url": "https://docs.nhcarrigan.com/about/sustainability#42-refusal-of-net-negative-work" - }, - { - "content": "4.3. Continuous Monitoring\n\nThe Company shall continuously monitor the environmental impact of its ongoing operations and projects, making adjustments as necessary to remain aligned with its sustainability goals.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::16", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "4.3. Continuous Monitoring", - "url": "https://docs.nhcarrigan.com/about/sustainability#43-continuous-monitoring" - }, - { - "content": "5. Legal and Ethical Compliance", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::17", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "5. Legal and Ethical Compliance", - "url": "https://docs.nhcarrigan.com/about/sustainability#5-legal-and-ethical-compliance" - }, - { - "content": "5.1. Compliance with Environmental Laws\n\nThe Company shall ensure that all its operations, projects, and partnerships comply with applicable environmental laws and regulations.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::18", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "5.1. Compliance with Environmental Laws", - "url": "https://docs.nhcarrigan.com/about/sustainability#51-compliance-with-environmental-laws" - }, - { - "content": "5.2. Ethical Responsibility\n\nBeyond legal compliance, the Company acknowledges its ethical responsibility to proactively mitigate environmental harm and contribute to a sustainable future.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::19", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "5.2. Ethical Responsibility", - "url": "https://docs.nhcarrigan.com/about/sustainability#52-ethical-responsibility" - }, - { - "content": "6. Amendments and Updates", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::20", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "6. Amendments and Updates", - "url": "https://docs.nhcarrigan.com/about/sustainability#6-amendments-and-updates" - }, - { - "content": "6.1. Right to Amend\n\nThe Company reserves the right to amend this Commitment as necessary to reflect evolving best practices and environmental standards.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::21", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "6.1. Right to Amend", - "url": "https://docs.nhcarrigan.com/about/sustainability#61-right-to-amend" - }, - { - "content": "6.2. Notification of Changes\n\nSignificant amendments to this Commitment will be communicated through the Company’s official channels.", - "file": "src/content/docs/about/sustainability.md", - "id": "src/content/docs/about/sustainability.md::22", - "metadata": { - "title": "Environmental Impact Commitment" - }, - "title": "6.2. Notification of Changes", - "url": "https://docs.nhcarrigan.com/about/sustainability#62-notification-of-changes" - }, - { - "content": "Our moderators exercise careful discretion when implementing disciplinary measures (including but not limited to temporary suspensions, permanent bans, or other access restrictions). However, we acknowledge that misunderstandings or errors may occasionally occur.\n\nIf you believe you have been unjustly restricted from participating in our community, you may initiate our formal appeal process as outlined below.\n\n:::caution[Warning!]\nSubmitting multiple appeals for the same sanction will result in our appeals team automatically denying your request.\n:::", - "file": "src/content/docs/community/appeal.md", - "id": "src/content/docs/community/appeal.md::0", - "metadata": { - "title": "Appealing a Sanction" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/community/appeal#" - }, - { - "content": "1. Preparing Your Appeal\n\nPrior to submitting an appeal, please ensure you have the following information ready:\n\n1. Confirmation that you have thoroughly reviewed and understood our Community Guidelines and Terms of Service.\n2. An explicit statement of your commitment to adhere to all applicable rules and policies.\n3. Your understanding of the specific sanction levied against you and the alleged violation(s) cited.\n4. A clear and concise explanation of why you believe the moderation decision was erroneous or disproportionate.\n5. A statement detailing your motivations for seeking reinstatement and the potential positive contributions you intend to make to our community.\n\nPlease note that incomplete or inadequately prepared appeals may be summarily dismissed. You can [find your sanction in our logs](https://moderation.nhcarrigan.com) to review.", - "file": "src/content/docs/community/appeal.md", - "id": "src/content/docs/community/appeal.md::1", - "metadata": { - "title": "Appealing a Sanction" - }, - "title": "1. Preparing Your Appeal", - "url": "https://docs.nhcarrigan.com/community/appeal#1-preparing-your-appeal" - }, - { - "content": "2. Appeal Submission Process\n\nTo submit your appeal, please complete the form available at the following link:\n\n[Submit a Sanction Appeal](https://forms.nhcarrigan.com/form/l3PC15yalSWjdZASTQvGo22q_uj_7OtXAhZdcW35ev8)", - "file": "src/content/docs/community/appeal.md", - "id": "src/content/docs/community/appeal.md::2", - "metadata": { - "title": "Appealing a Sanction" - }, - "title": "2. Appeal Submission Process", - "url": "https://docs.nhcarrigan.com/community/appeal#2-appeal-submission-process" - }, - { - "content": "3. Important Disclaimers\n\n- Submission of an appeal does not guarantee its approval.\n- The decision of the appeals review panel is final and binding.\n- We reserve the right to deny or revoke access to our services at any time, for any reason, at our sole discretion.\n- Repeated violations or abuse of the appeals process may result in permanent ineligibility for reinstatement.\n\nBy submitting an appeal, you acknowledge that you have read, understood, and agree to abide by the terms outlined in this document.", - "file": "src/content/docs/community/appeal.md", - "id": "src/content/docs/community/appeal.md::3", - "metadata": { - "title": "Appealing a Sanction" - }, - "title": "3. Important Disclaimers", - "url": "https://docs.nhcarrigan.com/community/appeal#3-important-disclaimers" - }, - { - "content": "", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::0", - "metadata": { - "title": "Code of Conduct" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/community/coc#" - }, - { - "content": "1. Definitions", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::1", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1. Definitions", - "url": "https://docs.nhcarrigan.com/community/coc#1-definitions" - }, - { - "content": "1.1. \"Our Community\"\n\nEncompasses all platforms and spaces, both digital and physical, where members interact under our organization's auspices. This includes, but is not limited to:\n\n- Our official Discord server\n- Our code repositories and associated accounts\n- Our official social media accounts and pages\n- Any other online forums or platforms we officially endorse or manage\n- In-person events organized or sponsored by our organization", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::2", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1.1. \"Our Community\"", - "url": "https://docs.nhcarrigan.com/community/coc#11-\"our-community\"" - }, - { - "content": "1.2. \"Community Members\"\n\nRefers to all individuals who participate in Our Community, regardless of their role or level of engagement. This includes casual users, regular contributors, and community leaders.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::3", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1.2. \"Community Members\"", - "url": "https://docs.nhcarrigan.com/community/coc#12-\"community-members\"" - }, - { - "content": "1.3. \"Community Leaders\"\n\nRefers to individuals with official responsibilities within Our Community, including but not limited to:\n\n- Moderators\n- Developers\n- Support staff\n- Administrators\n- Project managers\n- Event organizers", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::4", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1.3. \"Community Leaders\"", - "url": "https://docs.nhcarrigan.com/community/coc#13-\"community-leaders\"" - }, - { - "content": "1.4. \"Code of Conduct\" or \"CoC\"\n\nRefers to this document in its entirety, including all sections, subsections, and any future amendments.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::5", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1.4. \"Code of Conduct\" or \"CoC\"", - "url": "https://docs.nhcarrigan.com/community/coc#14-\"code-of-conduct\"-or-\"coc\"" - }, - { - "content": "1.5. \"Violating the Code of Conduct\"\n\nMeans engaging in behavior that contradicts the guidelines, rules, and principles outlined in this document.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::6", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1.5. \"Violating the Code of Conduct\"", - "url": "https://docs.nhcarrigan.com/community/coc#15-\"violating-the-code-of-conduct\"" - }, - { - "content": "1.6. \"Reporting\"\n\nRefers to the act of bringing a potential Code of Conduct violation to the attention of Community Leaders through officially designated channels.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::7", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1.6. \"Reporting\"", - "url": "https://docs.nhcarrigan.com/community/coc#16-\"reporting\"" - }, - { - "content": "1.7. \"Sanctions\"\n\nRefers to the consequences imposed on community members who violate the Code of Conduct, as determined by Community Leaders.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::8", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1.7. \"Sanctions\"", - "url": "https://docs.nhcarrigan.com/community/coc#17-\"sanctions\"" - }, - { - "content": "1.8. \"Platforms\"\n\nRefers to any digital or physical space where Our Community interacts, as listed in section 1.1.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::9", - "metadata": { - "title": "Code of Conduct" - }, - "title": "1.8. \"Platforms\"", - "url": "https://docs.nhcarrigan.com/community/coc#18-\"platforms\"" - }, - { - "content": "2. Scope", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::10", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2. Scope", - "url": "https://docs.nhcarrigan.com/community/coc#2-scope" - }, - { - "content": "2.1. Applicability\n\nThis Code of Conduct applies to all interactions within Our Community, including but not limited to:\n\n- Public channels and forums\n- Private channels and direct messages\n- Online and offline community spaces\n- Community-organized events and meetups\n- Any form of communication using our official platforms or branding", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::11", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2.1. Applicability", - "url": "https://docs.nhcarrigan.com/community/coc#21-applicability" - }, - { - "content": "2.2. Extended Scope\n\nThe Code of Conduct may also apply to interactions outside Our Community when:\n\n- A Community Member is involved in an incident affecting another Community Member\n- The incident has a substantial impact on the well-being or participation of Community Members\n- The behavior significantly affects the reputation or integrity of Our Community", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::12", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2.2. Extended Scope", - "url": "https://docs.nhcarrigan.com/community/coc#22-extended-scope" - }, - { - "content": "2.3. Temporal Scope\n\nThis Code of Conduct applies to:\n\n- Current interactions within Our Community\n- Past behavior of Community Members, including actions prior to joining Our Community\n- Ongoing patterns of behavior that may have started before joining Our Community", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::13", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2.3. Temporal Scope", - "url": "https://docs.nhcarrigan.com/community/coc#23-temporal-scope" - }, - { - "content": "2.4. Reporting\n\nWe encourage reporting of any violations of this Code of Conduct, including:\n\n- Harassment by Community Members, especially Community Leaders\n- Incidents that occur outside Our Community spaces\n- Past incidents, regardless of when they took place", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::14", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2.4. Reporting", - "url": "https://docs.nhcarrigan.com/community/coc#24-reporting" - }, - { - "content": "2.5. Commitment to Action\n\nCommunity Leaders commit to:\n\n- Take all good-faith reports seriously\n- Respect the privacy and security of reporters\n- Conduct fair and thorough investigations of reported incidents\n- Take appropriate action based on the findings of investigations", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::15", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2.5. Commitment to Action", - "url": "https://docs.nhcarrigan.com/community/coc#25-commitment-to-action" - }, - { - "content": "2.6. Exclusion Rights\n\nCommunity Leaders reserve the right to exclude individuals from Our Community based on:\n\n- Violations of this Code of Conduct\n- Past behavior, including actions outside Our Community spaces\n- Behavior towards individuals who are not members of Our Community\n- Any conduct deemed detrimental to the safety, well-being, or positive environment of Our Community", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::16", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2.6. Exclusion Rights", - "url": "https://docs.nhcarrigan.com/community/coc#26-exclusion-rights" - }, - { - "content": "2.7. Scope of Authority\n\nWhile this Code of Conduct primarily governs behavior within Our Community, we recognize that actions outside our spaces can significantly impact our environment. Therefore, Community Leaders may consider external behaviors when making decisions about community participation.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::17", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2.7. Scope of Authority", - "url": "https://docs.nhcarrigan.com/community/coc#27-scope-of-authority" - }, - { - "content": "2.8. Amendments\n\nThe scope of this Code of Conduct may be amended as necessary to address emerging concerns or changing circumstances within Our Community. Any changes will be clearly communicated to all Community Members.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::18", - "metadata": { - "title": "Code of Conduct" - }, - "title": "2.8. Amendments", - "url": "https://docs.nhcarrigan.com/community/coc#28-amendments" - }, - { - "content": "3. Rules and Prohibited Conduct", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::19", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3. Rules and Prohibited Conduct", - "url": "https://docs.nhcarrigan.com/community/coc#3-rules-and-prohibited-conduct" - }, - { - "content": "3.1. General Conduct\n\n- No trolling, insulting, or derogatory comments.\n- No harassment, whether public or private (see section 3.2 for detailed definition).\n- No incitement of violence towards any individual, including encouraging suicide or self-harm.\n- No deliberate \"outing\" of any aspect of a person's identity without their consent, except to protect vulnerable individuals from intentional abuse.\n- No publication of non-harassing private communication without explicit consent from all parties involved.\n- No advocating for members to be banned, except in direct messages to or private discussions with community leaders.\n- No spam or excessive self-promotion.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::20", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.1. General Conduct", - "url": "https://docs.nhcarrigan.com/community/coc#31-general-conduct" - }, - { - "content": "3.2. Harassment\n\nHarassment includes, but is not limited to:\n\n- Deliberate misgendering or use of rejected names\n- Unwanted physical contact or simulated physical contact without consent\n- Threats of violence or intimidation\n- Stalking or following\n- Unwanted photography or recording, including logging online activity for harassment purposes\n- Unwelcome sexual attention\n- Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy\n- Continued one-on-one communication after requests to cease\n- Targeted and deliberate aggression\n- Sustained disruption of discussion or community events", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::21", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.2. Harassment", - "url": "https://docs.nhcarrigan.com/community/coc#32-harassment" - }, - { - "content": "3.3. Respect for Identity and Diversity\n\n- No questioning or challenging someone's stated self-identity or chosen labels.\n- No unwelcome comments regarding a person's lifestyle choices and practices, including those related to food, health, parenting, relationships, drugs, and employment.\n- No offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neurodiversity, physical appearance, body size, age, race, national origin, ethnic origin, nationality, immigration status, language, religion or lack thereof, or other identity markers.\n- No use or promotion of \"reverse\"-isms, including \"reverse racism,\" \"reverse sexism,\" and \"cisphobia\" against marginalized members.\n- No debating the rights and lived experiences of marginalized people in the community.\n- No racist, sexist, cissexist, ableist, or otherwise oppressive behavior, whether casual or explicit.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::22", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.3. Respect for Identity and Diversity", - "url": "https://docs.nhcarrigan.com/community/coc#33-respect-for-identity-and-diversity" - }, - { - "content": "3.4. Oppression and Neutrality\n\n:::caution\nNeutrality in the face of oppression is to choose the side of the oppressor.\n:::\n\nWe understand that not everyone may be aware of the struggles that underprivileged classes face. Asking questions to inform yourself is good.\n\nBut attempting to \"bow out\" of a discussion, or to claim you are remaining neutral when an under-represented person shares their experiences with oppression and anti-* legislation, is just as bad as siding against those underprivileged classes.\n\nAs such, behaviour like this is considered a violation of our Code of Conduct and will be actioned accordingly.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::23", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.4. Oppression and Neutrality", - "url": "https://docs.nhcarrigan.com/community/coc#34-oppression-and-neutrality" - }, - { - "content": "3.5. Content and Communication\n\n- No explicit sexual images or behavior.\n- No use of slurs or hateful terminology.\n- Content warnings should be used when discussing potentially triggering topics.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::24", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.5. Content and Communication", - "url": "https://docs.nhcarrigan.com/community/coc#35-content-and-communication" - }, - { - "content": "3.6. Intellectual Property and Privacy\n\n- Respect copyright and intellectual property rights.\n- Do not share personal information of others without their explicit consent.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::25", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.6. Intellectual Property and Privacy", - "url": "https://docs.nhcarrigan.com/community/coc#36-intellectual-property-and-privacy" - }, - { - "content": "3.7. Community Discussions and Debates\n\n- Engage in respectful and constructive dialogue.\n- Be open to learning from others' perspectives.\n- Avoid derailing discussions or intentionally inflaming tensions.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::26", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.7. Community Discussions and Debates", - "url": "https://docs.nhcarrigan.com/community/coc#37-community-discussions-and-debates" - }, - { - "content": "3.8. Reporting and Enforcement\n\n- Report violations of this Code of Conduct to community leaders promptly.\n- Cooperate with community leaders during investigations of reported incidents.\n- Respect the privacy of individuals involved in reports and investigations.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::27", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.8. Reporting and Enforcement", - "url": "https://docs.nhcarrigan.com/community/coc#38-reporting-and-enforcement" - }, - { - "content": "3.9. Compliance with Platform-Specific Rules\n\n- Adhere to the terms of service and community guidelines of any platforms used by Our Community.\n- Be aware that certain behaviors may violate platform rules even if not explicitly mentioned in this Code of Conduct.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::28", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.9. Compliance with Platform-Specific Rules", - "url": "https://docs.nhcarrigan.com/community/coc#39-compliance-with-platform-specific-rules" - }, - { - "content": "3.10. Amendments and Interpretations\n\n- These rules may be amended or expanded as necessary to address emerging issues.\n- Community leaders reserve the right to interpret these rules and make decisions in cases where the application of rules may be unclear.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::29", - "metadata": { - "title": "Code of Conduct" - }, - "title": "3.10. Amendments and Interpretations", - "url": "https://docs.nhcarrigan.com/community/coc#310-amendments-and-interpretations" - }, - { - "content": "4. Reporting and Response Procedures", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::30", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4. Reporting and Response Procedures", - "url": "https://docs.nhcarrigan.com/community/coc#4-reporting-and-response-procedures" - }, - { - "content": "4.1. Reporting Methods\n\n- In Discord: Type @Moderator in any channel to alert community leaders.\n- Direct Message: Contact a community leader directly via private message.\n- Email: contact@nhcarrigan.com", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::31", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.1. Reporting Methods", - "url": "https://docs.nhcarrigan.com/community/coc#41-reporting-methods" - }, - { - "content": "4.2. Information to Include in Reports\n\n- Your contact information (unless reporting anonymously)\n- Names or descriptions of individuals involved\n- Description of the incident, including date, time, and location (online or physical)\n- Any relevant screenshots, chat logs, or other evidence\n- Any additional context you believe is important", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::32", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.2. Information to Include in Reports", - "url": "https://docs.nhcarrigan.com/community/coc#42-information-to-include-in-reports" - }, - { - "content": "4.3. Handling of Reports\n\n- We will respond to all reports as promptly as possible.\n- If a reported violator is on our staff team, they will be immediately recused from handling the incident.\n- All reports will be handled with discretion and confidentiality to the extent possible.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::33", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.3. Handling of Reports", - "url": "https://docs.nhcarrigan.com/community/coc#43-handling-of-reports" - }, - { - "content": "4.4. Confidentiality and Privacy\n\n- We will respect confidentiality requests, especially to protect victims of abuse.\n- Anonymous reporting options are available, though they may limit our ability to investigate.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::34", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.4. Confidentiality and Privacy", - "url": "https://docs.nhcarrigan.com/community/coc#44-confidentiality-and-privacy" - }, - { - "content": "4.5. Public Statements and Warnings\n\n- At our discretion, we may publicly name a person about whom we've received harassment complaints.\n- We may privately warn third parties about individuals if we believe it will increase community safety.\n- We will not name harassment victims without their explicit, affirmative consent.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::35", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.5. Public Statements and Warnings", - "url": "https://docs.nhcarrigan.com/community/coc#45-public-statements-and-warnings" - }, - { - "content": "4.6. False Reports and Abuse of Process\n\n- We reserve the right to reject reports we believe to have been made in bad faith.\n- Reports intended to silence legitimate criticism may be dismissed without response.\n- Deliberately false reporting is a violation of this Code of Conduct and may result in sanctions.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::36", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.6. False Reports and Abuse of Process", - "url": "https://docs.nhcarrigan.com/community/coc#46-false-reports-and-abuse-of-process" - }, - { - "content": "4.7. Protection of Reporters and Victims\n\n- We will take all reasonable steps to protect reporters and victims from retaliation.\n- Retaliation against reporters or victims is a serious violation of this Code of Conduct.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::37", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.7. Protection of Reporters and Victims", - "url": "https://docs.nhcarrigan.com/community/coc#47-protection-of-reporters-and-victims" - }, - { - "content": "4.8. Investigation Process\n\n- We will conduct a thorough and impartial investigation of all reports.\n- Investigations will be conducted as quickly as possible while ensuring thoroughness.\n- All parties involved will be given an opportunity to present their perspective.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::38", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.8. Investigation Process", - "url": "https://docs.nhcarrigan.com/community/coc#48-investigation-process" - }, - { - "content": "4.9. Outcomes and Appeals\n\n- After investigation, we will determine appropriate actions based on the evidence.\n- We will communicate outcomes to involved parties as appropriate, respecting privacy concerns.\n- An appeals process will be available for individuals who believe a decision was made in error.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::39", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.9. Outcomes and Appeals", - "url": "https://docs.nhcarrigan.com/community/coc#49-outcomes-and-appeals" - }, - { - "content": "4.10. Continuous Improvement\n\n- We will regularly review our reporting and response procedures to ensure their effectiveness.\n- Feedback on these procedures is welcome and will be considered for future improvements.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::40", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.10. Continuous Improvement", - "url": "https://docs.nhcarrigan.com/community/coc#410-continuous-improvement" - }, - { - "content": "4.11. Support for Community Leaders\n\n- We recognize the potential for burnout among our volunteer moderators and leaders.\n- We will provide support and resources to our community leaders to help them manage their responsibilities effectively.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::41", - "metadata": { - "title": "Code of Conduct" - }, - "title": "4.11. Support for Community Leaders", - "url": "https://docs.nhcarrigan.com/community/coc#411-support-for-community-leaders" - }, - { - "content": "5. Sanctions and Enforcement", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::42", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5. Sanctions and Enforcement", - "url": "https://docs.nhcarrigan.com/community/coc#5-sanctions-and-enforcement" - }, - { - "content": "5.1. General Principles\n\n- Participants must immediately comply when asked to stop any harmful behavior.\n- Community leaders may take any appropriate action in response to harmful behavior.\n- All sanctions will be applied fairly, consistently, and proportionally to the violation.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::43", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.1. General Principles", - "url": "https://docs.nhcarrigan.com/community/coc#51-general-principles" - }, - { - "content": "5.2. Authority of Community Leaders\n\n- Community leaders have the right and responsibility to remove, edit, or reject contributions not aligned with this Code of Conduct.\n- Leaders commit to applying these principles fairly and consistently in all aspects of community management.\n- Leaders who fail to follow or enforce the Code of Conduct may be permanently removed from their position.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::44", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.2. Authority of Community Leaders", - "url": "https://docs.nhcarrigan.com/community/coc#52-authority-of-community-leaders" - }, - { - "content": "5.3 Sanction Criteria\n\nThe following list outlines the criteria used when determining if a sanction should be issued.\n\n- Behaviour which violates this Code of Conduct, our Community Guidelines, or our other public policies.\n- Behaviour which our staff feel is not in the spirit of the policy, even if it is not violating the letter of the policy.\n- Repeated behaviour that has been previously sanctioned, as outlined in our escalation policy.\n- Attempts to circumvent sanctions, such as ban evasion.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::45", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.3 Sanction Criteria", - "url": "https://docs.nhcarrigan.com/community/coc#53-sanction-criteria" - }, - { - "content": "5.4. Privacy and Security\n\n- All community leaders are obligated to respect the privacy and security of incident reporters.\n- Information about sanctions will be shared on a need-to-know basis.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::46", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.4. Privacy and Security", - "url": "https://docs.nhcarrigan.com/community/coc#54-privacy-and-security" - }, - { - "content": "5.5. Gradated Sanction System\n\nCommunity leaders will follow these Community Impact Guidelines in determining consequences:", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::47", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.5. Gradated Sanction System", - "url": "https://docs.nhcarrigan.com/community/coc#55-gradated-sanction-system" - }, - { - "content": "5.5.1. Level 1: Reminder\n\n- Example Behavior: Use of inappropriate language or other behavior deemed unprofessional or unwelcome.\n- Consequences:\n - A public, written reminder from community leaders\n - Clarification of the violation and why the behavior was inappropriate\n - A public apology may be requested", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::48", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.5.1. Level 1: Reminder", - "url": "https://docs.nhcarrigan.com/community/coc#551-level-1:-reminder" - }, - { - "content": "5.5.2. Level 2: Warning\n\n- Example Behavior: A violation through a single incident or series of actions.\n- Consequences:\n - A formal warning\n - Clear communication of consequences for continued behavior\n - Incident is logged for future reference", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::49", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.5.2. Level 2: Warning", - "url": "https://docs.nhcarrigan.com/community/coc#552-level-2:-warning" - }, - { - "content": "5.5.3. Level 3: Temporary Removal\n\n- Example Behavior: A serious violation of community standards or sustained inappropriate behavior.\n- Consequences:\n - Temporary removal from community platforms (e.g., Discord kick)\n - Clear conditions for return, including a cooling-off period\n - Requirement to re-read and acknowledge the Code of Conduct before rejoining", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::50", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.5.3. Level 3: Temporary Removal", - "url": "https://docs.nhcarrigan.com/community/coc#553-level-3:-temporary-removal" - }, - { - "content": "5.5.4. Level 4: Permanent Ban\n\n- Example Behavior: Pattern of violations, sustained inappropriate behavior, harassment, or aggression towards individuals or groups.\n- Consequences:\n - Permanent ban from all community platforms\n - Public statement may be made, if deemed necessary for community safety", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::51", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.5.4. Level 4: Permanent Ban", - "url": "https://docs.nhcarrigan.com/community/coc#554-level-4:-permanent-ban" - }, - { - "content": "5.6. Additional Sanction Considerations\n\n- Repeated violations will generally result in escalating sanctions.\n- The severity of the violation may warrant skipping levels in the sanction system.\n- Community leaders may impose additional requirements, such as public apologies or community service, as conditions for continued participation.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::52", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.6. Additional Sanction Considerations", - "url": "https://docs.nhcarrigan.com/community/coc#56-additional-sanction-considerations" - }, - { - "content": "5.7. Appeals Process\n\n- Individuals may appeal sanctions by [completing the form](/community/appeal)\n- Appeals will be reviewed by leaders not involved in the original decision.\n- During the appeal, the original sanction remains in effect.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::53", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.7. Appeals Process", - "url": "https://docs.nhcarrigan.com/community/coc#57-appeals-process" - }, - { - "content": "5.8. Documentation and Transparency\n\n- All formal sanctions will be publicised for review and consistency. Sanctions can be viewed at https://logs.nhcarrigan.com.\n- Aggregate data on Code of Conduct violations and sanctions may be published periodically to ensure transparency.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::54", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.8. Documentation and Transparency", - "url": "https://docs.nhcarrigan.com/community/coc#58-documentation-and-transparency" - }, - { - "content": "5.9. Rehabilitation and Education\n\n- Where appropriate, we will provide resources and support for individuals to learn from their mistakes and improve their behavior.\n- For less severe violations, completion of educational programs may be offered as an alternative or supplement to other sanctions.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::55", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.9. Rehabilitation and Education", - "url": "https://docs.nhcarrigan.com/community/coc#59-rehabilitation-and-education" - }, - { - "content": "5.10. Legal Implications\n\n- In cases of illegal activity, appropriate legal authorities may be notified.\n- Our sanctions do not preclude or replace any legal action that may be warranted.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::56", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.10. Legal Implications", - "url": "https://docs.nhcarrigan.com/community/coc#510-legal-implications" - }, - { - "content": "5.11. Regular Review\n\n- This sanction system will be reviewed periodically to ensure its effectiveness and fairness.\n- Community feedback on the sanction system is welcome and will be considered in reviews.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::57", - "metadata": { - "title": "Code of Conduct" - }, - "title": "5.11. Regular Review", - "url": "https://docs.nhcarrigan.com/community/coc#511-regular-review" - }, - { - "content": "6. Moderation Logs and Transparency", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::58", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6. Moderation Logs and Transparency", - "url": "https://docs.nhcarrigan.com/community/coc#6-moderation-logs-and-transparency" - }, - { - "content": "6.1. Purpose of Moderation Logs\n\n- To ensure transparency in moderation sanctions\n- To maintain accountability of the moderation team to community members\n- To provide a clear record of enforcement of the Code of Conduct", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::59", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.1. Purpose of Moderation Logs", - "url": "https://docs.nhcarrigan.com/community/coc#61-purpose-of-moderation-logs" - }, - { - "content": "6.2. Scope of Logged Actions\n\n- All moderation sanctions across all community platforms will be logged\n- This includes, but is not limited to:\n - Warnings issued\n - Temporary removals or suspensions\n - Permanent bans\n - Appeals and their outcomes", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::60", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.2. Scope of Logged Actions", - "url": "https://docs.nhcarrigan.com/community/coc#62-scope-of-logged-actions" - }, - { - "content": "6.3. Location of Moderation Logs\n\n- All moderation sanctions will be publicly logged at https://logs.nhcarrigan.com\n- The log will be accessible to all community members", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::61", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.3. Location of Moderation Logs", - "url": "https://docs.nhcarrigan.com/community/coc#63-location-of-moderation-logs" - }, - { - "content": "6.4. Information Included in Logs\n\n- Date and time of the action\n- Type of action taken\n- Reason for the action\n- Platform where the violation occurred\n- Identifier of the user who received the action\n- Identifier of the leader who performed the action\n- Any relevant evidence", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::62", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.4. Information Included in Logs", - "url": "https://docs.nhcarrigan.com/community/coc#64-information-included-in-logs" - }, - { - "content": "6.5. Privacy Considerations\n\n- In cases where privacy is crucial (e.g., harassment reports), certain details may be omitted or generalized", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::63", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.5. Privacy Considerations", - "url": "https://docs.nhcarrigan.com/community/coc#65-privacy-considerations" - }, - { - "content": "6.6. Accessibility of Logs\n\n- The moderation log channel will be read-only for regular community members\n- Community members can request clarification on logged sanctions through appropriate channels", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::64", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.6. Accessibility of Logs", - "url": "https://docs.nhcarrigan.com/community/coc#66-accessibility-of-logs" - }, - { - "content": "6.7. Retention of Logs\n\n- Moderation logs will be retained for a period of no less than 1 year.\n - After this period, logs may be archived or summarized for long-term record-keeping", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::65", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.7. Retention of Logs", - "url": "https://docs.nhcarrigan.com/community/coc#67-retention-of-logs" - }, - { - "content": "6.8. Audit and Review\n\n- Moderation logs will be periodically reviewed by community leadership to ensure consistency and fairness in enforcement\n- Annual reports summarizing moderation actions may be published to the community", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::66", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.8. Audit and Review", - "url": "https://docs.nhcarrigan.com/community/coc#68-audit-and-review" - }, - { - "content": "6.9. Dispute Resolution\n\n- If a community member believes a moderation action was taken in error, they can refer to the logs and follow the appeals process outlined in the Sanctions section", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::67", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.9. Dispute Resolution", - "url": "https://docs.nhcarrigan.com/community/coc#69-dispute-resolution" - }, - { - "content": "6.10. Moderator Accountability\n\n- Patterns of biased or inconsistent moderation will be addressed by community leadership\n- Moderators who consistently fail to log their actions may have their privileges revoked", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::68", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.10. Moderator Accountability", - "url": "https://docs.nhcarrigan.com/community/coc#610-moderator-accountability" - }, - { - "content": "6.11. Feedback and Improvement\n\n- Community members are encouraged to provide feedback on the moderation log system\n- The logging process will be reviewed periodically and may be adjusted to better serve the community's needs", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::69", - "metadata": { - "title": "Code of Conduct" - }, - "title": "6.11. Feedback and Improvement", - "url": "https://docs.nhcarrigan.com/community/coc#611-feedback-and-improvement" - }, - { - "content": "7. Advertising and Promotion", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::70", - "metadata": { - "title": "Code of Conduct" - }, - "title": "7. Advertising and Promotion", - "url": "https://docs.nhcarrigan.com/community/coc#7-advertising-and-promotion" - }, - { - "content": "7.1. General Prohibition\n\n- Advertising and self-promotion are generally not permitted within our community spaces.\n- This includes, but is not limited to, unsolicited promotion of products, services, websites, social media accounts, or other communities.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::71", - "metadata": { - "title": "Code of Conduct" - }, - "title": "7.1. General Prohibition", - "url": "https://docs.nhcarrigan.com/community/coc#71-general-prohibition" - }, - { - "content": "7.2. Exceptions\n\n- Links or information expressly requested by our team for support or moderation purposes.\n- Sharing of resources directly relevant to ongoing discussions, when done in good faith and not for commercial gain.\n- Official announcements or promotions approved by community leadership.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::72", - "metadata": { - "title": "Code of Conduct" - }, - "title": "7.2. Exceptions", - "url": "https://docs.nhcarrigan.com/community/coc#72-exceptions" - }, - { - "content": "7.3. Support and Moderation Contexts\n\n- Community members may be asked to provide links or information to assist with support inquiries or moderation investigations.\n- In these cases, sharing such information is permitted and encouraged.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::73", - "metadata": { - "title": "Code of Conduct" - }, - "title": "7.3. Support and Moderation Contexts", - "url": "https://docs.nhcarrigan.com/community/coc#73-support-and-moderation-contexts" - }, - { - "content": "7.4. Relevance and Context\n\n- Any shared links or information must be directly relevant to the current discussion or inquiry.\n- The relevance and appropriateness of shared content will be at the discretion of community leaders.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::74", - "metadata": { - "title": "Code of Conduct" - }, - "title": "7.4. Relevance and Context", - "url": "https://docs.nhcarrigan.com/community/coc#74-relevance-and-context" - }, - { - "content": "7.5. Disclosure of Affiliations\n\n- If sharing information about a product or service with which you have a personal or professional affiliation, this affiliation must be clearly disclosed.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::75", - "metadata": { - "title": "Code of Conduct" - }, - "title": "7.5. Disclosure of Affiliations", - "url": "https://docs.nhcarrigan.com/community/coc#75-disclosure-of-affiliations" - }, - { - "content": "7.6. Consequences of Violation\n\n- Violations of this policy will be treated as a breach of the Code of Conduct.\n- Consequences may range from content removal to temporary or permanent bans, depending on the severity and frequency of violations.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::76", - "metadata": { - "title": "Code of Conduct" - }, - "title": "7.6. Consequences of Violation", - "url": "https://docs.nhcarrigan.com/community/coc#76-consequences-of-violation" - }, - { - "content": "7.7. Appeals and Clarifications\n\n- If you are unsure whether specific content would be considered advertising, consult with a community leader before posting.\n- If your content is removed under this policy, you may appeal the decision through the established channels outlined in the Sanctions section.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::77", - "metadata": { - "title": "Code of Conduct" - }, - "title": "7.7. Appeals and Clarifications", - "url": "https://docs.nhcarrigan.com/community/coc#77-appeals-and-clarifications" - }, - { - "content": "8. Languages", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::78", - "metadata": { - "title": "Code of Conduct" - }, - "title": "8. Languages", - "url": "https://docs.nhcarrigan.com/community/coc#8-languages" - }, - { - "content": "8.1. Official Language\n\n- The official language of our community is English.\n- All community interactions, discussions, and contributions should be in English.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::79", - "metadata": { - "title": "Code of Conduct" - }, - "title": "8.1. Official Language", - "url": "https://docs.nhcarrigan.com/community/coc#81-official-language" - }, - { - "content": "8.2. Scope of English-Only Policy\n\n- This policy applies to all community spaces, including but not limited to:\n - Discord channels\n - GitHub discussions and issues\n - Documentation\n - Official communication channels", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::80", - "metadata": { - "title": "Code of Conduct" - }, - "title": "8.2. Scope of English-Only Policy", - "url": "https://docs.nhcarrigan.com/community/coc#82-scope-of-english-only-policy" - }, - { - "content": "8.3. Multilingual Applications\n\n- Even if our applications or services are offered in multiple languages, community discussions about them must be conducted in English.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::81", - "metadata": { - "title": "Code of Conduct" - }, - "title": "8.3. Multilingual Applications", - "url": "https://docs.nhcarrigan.com/community/coc#83-multilingual-applications" - }, - { - "content": "8.4. Rationale\n\n- To ensure clear communication among all community members.\n- To facilitate effective moderation and support.\n- To maintain consistency across all community platforms.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::82", - "metadata": { - "title": "Code of Conduct" - }, - "title": "8.4. Rationale", - "url": "https://docs.nhcarrigan.com/community/coc#84-rationale" - }, - { - "content": "8.5. Exceptions\n\n- Specific channels or sections designated for other languages, if explicitly created and approved by community leadership.\n- Brief translations to assist non-native English speakers, when immediately followed by an English translation.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::83", - "metadata": { - "title": "Code of Conduct" - }, - "title": "8.5. Exceptions", - "url": "https://docs.nhcarrigan.com/community/coc#85-exceptions" - }, - { - "content": "8.6. Support for Non-Native Speakers\n\n- We encourage patience and understanding towards non-native English speakers.\n- Community members are encouraged to help clarify or rephrase messages if there's a language barrier, while maintaining English as the primary language.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::84", - "metadata": { - "title": "Code of Conduct" - }, - "title": "8.6. Support for Non-Native Speakers", - "url": "https://docs.nhcarrigan.com/community/coc#86-support-for-non-native-speakers" - }, - { - "content": "8.7. Translation Tools\n\n- While automatic translation tools may be used personally, the original English content should be included in all community interactions.", - "file": "src/content/docs/community/coc.md", - "id": "src/content/docs/community/coc.md::85", - "metadata": { - "title": "Code of Conduct" - }, - "title": "8.7. Translation Tools", - "url": "https://docs.nhcarrigan.com/community/coc#87-translation-tools" - }, - { - "content": "", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::0", - "metadata": { - "title": "Community Guidelines" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/community/guide#" - }, - { - "content": "1. Introduction\n\nWelcome to our community. These guidelines are designed to foster a safe, respectful, and productive environment for all members. While not exhaustive or legally binding, adherence to these principles is strongly encouraged to maintain the integrity and value of our community.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::1", - "metadata": { - "title": "Community Guidelines" - }, - "title": "1. Introduction", - "url": "https://docs.nhcarrigan.com/community/guide#1-introduction" - }, - { - "content": "1.1. Purpose\n\nThe purpose of these Community Guidelines is to:\n\n1. Promote positive interactions and meaningful discussions\n1. Protect the well-being and rights of all community members\n1. Maintain a welcoming atmosphere for diverse perspectives and backgrounds", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::2", - "metadata": { - "title": "Community Guidelines" - }, - "title": "1.1. Purpose", - "url": "https://docs.nhcarrigan.com/community/guide#11-purpose" - }, - { - "content": "1.2 Scope\n\nThese guidelines apply to all forms of interaction within our community, including but not limited to:\n\n- Forum discussions\n- Comment sections\n- Direct messaging\n- Live events or webinars\n- Social media interactions associated with our community", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::3", - "metadata": { - "title": "Community Guidelines" - }, - "title": "1.2 Scope", - "url": "https://docs.nhcarrigan.com/community/guide#12-scope" - }, - { - "content": "1.3 Encouragement to Participate\n\nWe highly value your contributions and encourage you to:\n\n1. Actively engage in discussions and share your knowledge\n2. Provide constructive feedback and support to fellow members\n3. Report any concerns or violations to the community moderators\n4. Suggest improvements to enhance the community experience", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::4", - "metadata": { - "title": "Community Guidelines" - }, - "title": "1.3 Encouragement to Participate", - "url": "https://docs.nhcarrigan.com/community/guide#13-encouragement-to-participate" - }, - { - "content": "1.4 Code of Conduct\n\nWhile many aspects of our Community Guidelines are recommendations, our Code of Conduct establishes non-negotiable standards that ALL community members MUST adhere to in ALL interactions within our community spaces.\n\nNothing in this guide may supercede or overwrite the Code of Conduct.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::5", - "metadata": { - "title": "Community Guidelines" - }, - "title": "1.4 Code of Conduct", - "url": "https://docs.nhcarrigan.com/community/guide#14-code-of-conduct" - }, - { - "content": "2. Interacting with Staff\n\nPlease remember that our staff members generously volunteer their time to help our community remain safe and welcoming. Above all else, be kind to them - moderating online spaces is *hard*, and we don't need to make it harder on them!", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::6", - "metadata": { - "title": "Community Guidelines" - }, - "title": "2. Interacting with Staff", - "url": "https://docs.nhcarrigan.com/community/guide#2-interacting-with-staff" - }, - { - "content": "2.1 Respect for Authority\n\nOur staff team consists of trusted members empowered with tools to maintain community safety and harmony. While they strive for fairness and consistency, it's important to recognize their human nature and the potential for occasional errors.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::7", - "metadata": { - "title": "Community Guidelines" - }, - "title": "2.1 Respect for Authority", - "url": "https://docs.nhcarrigan.com/community/guide#21-respect-for-authority" - }, - { - "content": "2.2 Dispute Resolution Process\n\nIf you believe a staff decision was made in error or in bad faith, we encourage you to follow these steps:\n\n1. Refrain from direct argumentation or confrontation with staff members.\n2. Document the incident, including relevant details and any supporting evidence.\n3. Submit an appeal through our official [appeal form](/community/appeal).", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::8", - "metadata": { - "title": "Community Guidelines" - }, - "title": "2.2 Dispute Resolution Process", - "url": "https://docs.nhcarrigan.com/community/guide#22-dispute-resolution-process" - }, - { - "content": "2.3 Appeal Process\n\n- Appeals are reviewed by Naomi, who has exclusive access to the submission form.\n- All appeals will be treated confidentially and impartially.\n- Information from submissions will only be shared on a need-to-know basis to investigate and resolve the issue.\n- Your identity will be protected; any revealed submission information will not be associated with your name.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::9", - "metadata": { - "title": "Community Guidelines" - }, - "title": "2.3 Appeal Process", - "url": "https://docs.nhcarrigan.com/community/guide#23-appeal-process" - }, - { - "content": "2.4 Staff Accountability\n\nWe are committed to maintaining high standards of conduct for our staff. Any substantiated claims of misconduct or abuse of power will be addressed promptly and appropriately.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::10", - "metadata": { - "title": "Community Guidelines" - }, - "title": "2.4 Staff Accountability", - "url": "https://docs.nhcarrigan.com/community/guide#24-staff-accountability" - }, - { - "content": "2.5 Continuous Improvement\n\nWe value your feedback on our moderation processes. If you have suggestions for improving our systems or policies, please submit them through the appropriate channels.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::11", - "metadata": { - "title": "Community Guidelines" - }, - "title": "2.5 Continuous Improvement", - "url": "https://docs.nhcarrigan.com/community/guide#25-continuous-improvement" - }, - { - "content": "2.6 Responding to Sanctions\n\nIf you receive a sanction, here are tips on how to avoid further moderation action:\n\n- Do not continue the behaviour\n- Do not attempt to continue the behaviour in a slightly modified way, such as to avoid a specific component of our policies\n- Do not make passive-aggressive comments about our policies, staff, or your sanction\n- Do not try to justify your behaviour by comparing it to another user's that was not sanctioned\n- Do try to learn from the sanction and improve your interactions\n- Do keep an open mind and try to learn\n- Do be the kindest you can be", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::12", - "metadata": { - "title": "Community Guidelines" - }, - "title": "2.6 Responding to Sanctions", - "url": "https://docs.nhcarrigan.com/community/guide#26-responding-to-sanctions" - }, - { - "content": "3. Plural Systems", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::13", - "metadata": { - "title": "Community Guidelines" - }, - "title": "3. Plural Systems", - "url": "https://docs.nhcarrigan.com/community/guide#3-plural-systems" - }, - { - "content": "3.1 Understanding Plurality\n\nPlural systems refer to individuals who experience the presence of two or more distinct identities or personality states, often called alters. Our community recognizes and respects the existence of plural systems.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::14", - "metadata": { - "title": "Community Guidelines" - }, - "title": "3.1 Understanding Plurality", - "url": "https://docs.nhcarrigan.com/community/guide#31-understanding-plurality" - }, - { - "content": "3.2 Inclusivity and Respect\n\n1. Plural systems are fully welcome and valued members of our community.\n2. We are committed to providing a safe and supportive environment for all system members.\n3. Discrimination or harassment based on plurality is strictly prohibited.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::15", - "metadata": { - "title": "Community Guidelines" - }, - "title": "3.2 Inclusivity and Respect", - "url": "https://docs.nhcarrigan.com/community/guide#32-inclusivity-and-respect" - }, - { - "content": "3.3 Privacy and Boundaries\n\n1. Respect the privacy of plural systems and their individual alters.\n2. Do not pressure or attempt to coerce any system or alter to reveal information they are not comfortable sharing.\n3. Refrain from trying to identify which alter is fronting or using a platform's plural proxying service.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::16", - "metadata": { - "title": "Community Guidelines" - }, - "title": "3.3 Privacy and Boundaries", - "url": "https://docs.nhcarrigan.com/community/guide#33-privacy-and-boundaries" - }, - { - "content": "3.4 Self-Disclosure\n\n1. Systems have the right to disclose information about their alters at their own discretion.\n2. Members are encouraged to respect the level of disclosure each system or alter chooses.\n3. Unsolicited advice or attempts to \"help\" without consent are not appropriate.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::17", - "metadata": { - "title": "Community Guidelines" - }, - "title": "3.4 Self-Disclosure", - "url": "https://docs.nhcarrigan.com/community/guide#34-self-disclosure" - }, - { - "content": "3.5 Communication Guidelines\n\n1. Address alters by their preferred names and pronouns when known.\n2. If unsure about how to address a system or alter, it's acceptable to politely ask for clarification.\n3. Be mindful that switching between alters may result in a difference of communication styles or preferences.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::18", - "metadata": { - "title": "Community Guidelines" - }, - "title": "3.5 Communication Guidelines", - "url": "https://docs.nhcarrigan.com/community/guide#35-communication-guidelines" - }, - { - "content": "3.6 Education and Awareness\n\n1. We encourage community-wide education about plurality to foster understanding and inclusivity.\n2. Questions about plurality should be directed to appropriate educational resources rather than to individual systems, unless they have explicitly welcomed such inquiries.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::19", - "metadata": { - "title": "Community Guidelines" - }, - "title": "3.6 Education and Awareness", - "url": "https://docs.nhcarrigan.com/community/guide#36-education-and-awareness" - }, - { - "content": "4. Tone Tags", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::20", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4. Tone Tags", - "url": "https://docs.nhcarrigan.com/community/guide#4-tone-tags" - }, - { - "content": "4.1 Purpose of Tone Tags\n\nIn text-based communication, the nuances of tone and intention can often be lost, leading to potential misunderstandings. To address this limitation, we encourage the use of tone tags. These tags provide additional context to messages, helping to clarify the intended tone and reduce misinterpretations.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::21", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4.1 Purpose of Tone Tags", - "url": "https://docs.nhcarrigan.com/community/guide#41-purpose-of-tone-tags" - }, - { - "content": "4.2 When to Use Tone Tags\n\nConsider using tone tags in the following situations:\n\n- When your message could be interpreted in multiple ways\n- If you're using sarcasm, humour, or other tones that might not be immediately apparent\n- When discussing sensitive topics where clarity of intention is crucial\n- If you're communicating with someone who has expressed difficulty interpreting tone in text", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::22", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4.2 When to Use Tone Tags", - "url": "https://docs.nhcarrigan.com/community/guide#42-when-to-use-tone-tags" - }, - { - "content": "4.3 How to Use Tone Tags\n\n- Place the tone tag at the end of your message or the relevant section\n- Use forward slashes to enclose the tag, e.g., `/j` for joking\n- You can use multiple tags if needed, e.g., `/s /b` for sarcastic and bitter\n- If you're unsure about a tag's meaning, refer to our community glossary or ask for clarification", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::23", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4.3 How to Use Tone Tags", - "url": "https://docs.nhcarrigan.com/community/guide#43-how-to-use-tone-tags" - }, - { - "content": "4.4 Commonly Used Tone Tags\n\n| Tag | Meaning |\n| ---------------------- | ------------------------------------ |\n| `/aff` | Affectionate |\n| `/apa` | Apathetic |\n| `/b` | Bitter |\n| `/cel` | Celebratory |\n| `/ci` | Caring Intent |\n| `/cj` | Coping Joke |\n| `/co` or `/cf` | Comforting |\n| `/ex` | Exaggeration |\n| `/f` | fake |\n| `/fam` | Familial |\n| `/fex` | for example |\n| `/gen` or `/g` | Genuine |\n| `/genq` or `/gq` | Genuine Question |\n| `/gens` or `/gs` | Genuine Suggestion |\n| `/hj` | Half Joking |\n| `/hyp` | Hyperbole |\n| `/ij` | Inside Joke |\n| `/info` | Information |\n| `/j` | Joking |\n| `/jov` | Jokingly Overreacting |\n| `/l`, `/ly` or `/lyr` | Lyrics |\n| `/lh` | Lighthearted |\n| `/li` or `/lit` | Literally |\n| `/lu` | Little Upset |\n| `/m` | Metaphorically |\n| `/md` | Melodramatic |\n| `/nav` | Not A Vent |\n| `/nay` | Not At You |\n| `/nbh` | Nobody Here (for vague venting only) |\n| `/nbr` | Not Being Rude |\n| `/nc` or `/neg` | Negative connotation |\n| `/ncm` | Not Comparing |\n| `/neu` | Neutral connotation |\n| `/nf` | Not Forced |\n| `/nm` | Not Mad (or upset) |\n| `/np` | No Pressure |\n| `/npa` | Not Passive Aggressive |\n| `/nsx` or `/nx` | Non Sexual Intent |\n| `/ny` | Not Yelling |\n| `/op` | Optional |\n| `/ot` | Off Topic |\n| `/p` or `/plat` | Platonic |\n| `/pc` or `/pos` | Positive connotation |\n| `/q` | Quote |\n| `/ref` | Reference |\n| `/rh`, `/rt` or `/rhq` | Rhetorical Question |\n| `/s` or `/sar` | Sarcastic |\n| `/srs` | Serious |\n| `/sym` | Sympathetic |\n| `/t` | Teasing |\n| `/tc`, `/ti` or `/tic` | Typing a tic |", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::24", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4.4 Commonly Used Tone Tags", - "url": "https://docs.nhcarrigan.com/community/guide#44-commonly-used-tone-tags" - }, - { - "content": "4.5 Respecting Tone Tags\n\n- When someone uses a tone tag, interpret their message accordingly\n- If you're unsure about the meaning of a tag, ask politely for clarification\n- Do not mock or belittle others for using tone tags", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::25", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4.5 Respecting Tone Tags", - "url": "https://docs.nhcarrigan.com/community/guide#45-respecting-tone-tags" - }, - { - "content": "4.6 Accessibility Considerations\n\n- Tone tags can be particularly helpful for neurodivergent individuals who may have difficulty interpreting tone in text\n- Screen readers can often interpret tone tags, making them a useful tool for visually impaired users", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::26", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4.6 Accessibility Considerations", - "url": "https://docs.nhcarrigan.com/community/guide#46-accessibility-considerations" - }, - { - "content": "4.7 Limitations of Tone Tags\n\n- While helpful, tone tags are not a perfect solution and may not convey all nuances of communication\n- They should be used as a supplement to clear writing, not a replacement for it", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::27", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4.7 Limitations of Tone Tags", - "url": "https://docs.nhcarrigan.com/community/guide#47-limitations-of-tone-tags" - }, - { - "content": "4.8 Community-Specific Tags\n\n- Our community may develop additional tags specific to our discussions\n- New tags will be added to our glossary after community consensus", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::28", - "metadata": { - "title": "Community Guidelines" - }, - "title": "4.8 Community-Specific Tags", - "url": "https://docs.nhcarrigan.com/community/guide#48-community-specific-tags" - }, - { - "content": "5. Pronouns", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::29", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5. Pronouns", - "url": "https://docs.nhcarrigan.com/community/guide#5-pronouns" - }, - { - "content": "5.1 Importance of Pronouns\n\nPronouns are an essential aspect of personal identity and respectful communication. Our community values and respects each individual's right to self-identify and be addressed correctly.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::30", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.1 Importance of Pronouns", - "url": "https://docs.nhcarrigan.com/community/guide#51-importance-of-pronouns" - }, - { - "content": "5.2 Displaying Pronouns\n\nWe strongly encourage all community members to display their pronouns:\n\n- In your platform bio\n- Using designated pronoun roles in our Discord community, or comparable feature on other platforms\n- As part of your username or display name, if desired", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::31", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.2 Displaying Pronouns", - "url": "https://docs.nhcarrigan.com/community/guide#52-displaying-pronouns" - }, - { - "content": "5.3 Benefits of Sharing Pronouns\n\n1. Clarity: Helps others address you correctly\n2. Inclusivity: Creates a welcoming environment for all gender identities\n3. Normalization: Reduces stigma around pronoun sharing\n4. Education: Raises awareness about gender diversity", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::32", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.3 Benefits of Sharing Pronouns", - "url": "https://docs.nhcarrigan.com/community/guide#53-benefits-of-sharing-pronouns" - }, - { - "content": "5.4 Normalizing Pronoun Sharing\n\nBy encouraging all members to share pronouns, regardless of gender identity or expression, we:\n\n- Challenge the assumption that only transgender individuals share pronouns\n- Create a safer space for transgender and non-binary individuals to share their pronouns without implicitly outing themselves\n- Promote a culture of respect and understanding", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::33", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.4 Normalizing Pronoun Sharing", - "url": "https://docs.nhcarrigan.com/community/guide#54-normalizing-pronoun-sharing" - }, - { - "content": "5.5 Respecting Others' Pronouns\n\n- Always use the pronouns a person has specified for themselves\n- If you're unsure about someone's pronouns, it's appropriate to politely ask\n- If you make a mistake, apologize briefly, correct yourself, and move on", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::34", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.5 Respecting Others' Pronouns", - "url": "https://docs.nhcarrigan.com/community/guide#55-respecting-others'-pronouns" - }, - { - "content": "5.6 Pronoun Options\n\nWhile not exhaustive, common pronoun options include:\n\n- She/her/hers\n- He/him/his\n- They/them/theirs\n\n- Neopronouns (e.g., xe/xem/xyr, ze/zir/zirs)\n- Any pronouns\n- No pronouns (use name only)", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::35", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.6 Pronoun Options", - "url": "https://docs.nhcarrigan.com/community/guide#56-pronoun-options" - }, - { - "content": "5.7 Changing Pronouns\n\n- Members are welcome to update their pronouns at any time\n- Respect and use a person's current pronouns, even if you knew them by different pronouns previously", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::36", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.7 Changing Pronouns", - "url": "https://docs.nhcarrigan.com/community/guide#57-changing-pronouns" - }, - { - "content": "5.8 Pronoun Misuse\n\n- Intentional misuse of pronouns (misgendering) is a form of harassment and violates our community guidelines\n- Repeated accidental misuse, despite correction, may be addressed by moderation", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::37", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.8 Pronoun Misuse", - "url": "https://docs.nhcarrigan.com/community/guide#58-pronoun-misuse" - }, - { - "content": "5.9 Privacy Considerations\n\n- While we encourage pronoun sharing, it is ultimately a personal choice\n- Do not pressure others to share their pronouns if they are not comfortable doing so", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::38", - "metadata": { - "title": "Community Guidelines" - }, - "title": "5.9 Privacy Considerations", - "url": "https://docs.nhcarrigan.com/community/guide#59-privacy-considerations" - }, - { - "content": "6. Accessibility\n\nOur community is committed to ensuring that all members, regardless of their needs, can fully participate and engage with our content. We encourage everyone to follow these accessibility guidelines to create a more inclusive environment.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::39", - "metadata": { - "title": "Community Guidelines" - }, - "title": "6. Accessibility", - "url": "https://docs.nhcarrigan.com/community/guide#6-accessibility" - }, - { - "content": "6.1 Alt Text for Images\n\nAlt text (alternative text) provides a textual description of images for those who use screen readers or cannot view images.\n\n- Always include alt text when posting images.\n- Describe the key elements of the image concisely.\n- If the image contains text, include that text in the alt description.\n Example: Instead of alt=\"meme\", use alt=\"A cat wearing sunglasses with the text 'Deal with it' below\"", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::40", - "metadata": { - "title": "Community Guidelines" - }, - "title": "6.1 Alt Text for Images", - "url": "https://docs.nhcarrigan.com/community/guide#61-alt-text-for-images" - }, - { - "content": "6.2 Creating Accessible Content", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::41", - "metadata": { - "title": "Community Guidelines" - }, - "title": "6.2 Creating Accessible Content", - "url": "https://docs.nhcarrigan.com/community/guide#62-creating-accessible-content" - }, - { - "content": "6.2.1 Descriptive Link Text\n\n- Use descriptive link text that indicates where the link leads.\n- Avoid using \"click here\" or \"read more\" as standalone link text.\n\nExample: Instead of \"Click here to read about our events\", use \"View our upcoming community events\"", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::42", - "metadata": { - "title": "Community Guidelines" - }, - "title": "6.2.1 Descriptive Link Text", - "url": "https://docs.nhcarrigan.com/community/guide#621-descriptive-link-text" - }, - { - "content": "6.2.2 Avoiding Flashing Content\n\n- Do not post content that flashes more than three times per second.\n- If you must share such content, provide a clear warning beforehand.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::43", - "metadata": { - "title": "Community Guidelines" - }, - "title": "6.2.2 Avoiding Flashing Content", - "url": "https://docs.nhcarrigan.com/community/guide#622-avoiding-flashing-content" - }, - { - "content": "6.2.3 Structuring Content\n\n- Use headings to organize content hierarchically (H1, H2, H3, etc.).\n- Break long paragraphs into shorter, more digestible sections.\n- Use bullet points or numbered lists for easy scanning.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::44", - "metadata": { - "title": "Community Guidelines" - }, - "title": "6.2.3 Structuring Content", - "url": "https://docs.nhcarrigan.com/community/guide#623-structuring-content" - }, - { - "content": "6.2.4 Multimedia Content\n\n- Provide captions for videos.\n- Offer transcripts for audio content when possible.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::45", - "metadata": { - "title": "Community Guidelines" - }, - "title": "6.2.4 Multimedia Content", - "url": "https://docs.nhcarrigan.com/community/guide#624-multimedia-content" - }, - { - "content": "6.3 Continuous Improvement\n\n- We welcome feedback on how to improve our community's accessibility.\n- Report any accessibility issues to the moderation team.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::46", - "metadata": { - "title": "Community Guidelines" - }, - "title": "6.3 Continuous Improvement", - "url": "https://docs.nhcarrigan.com/community/guide#63-continuous-improvement" - }, - { - "content": "7. Content and Trigger Warnings\n\nOur community is committed to creating a safe and respectful environment for all members. Content and trigger warnings play a crucial role in this effort by allowing individuals to make informed decisions about engaging with potentially distressing content.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::47", - "metadata": { - "title": "Community Guidelines" - }, - "title": "7. Content and Trigger Warnings", - "url": "https://docs.nhcarrigan.com/community/guide#7-content-and-trigger-warnings" - }, - { - "content": "7.1 Purpose of Content/Trigger Warnings\n\n- To give members advance notice of potentially sensitive or disturbing content\n- To allow individuals to prepare themselves emotionally or choose to avoid the content\n- To promote a culture of empathy and consideration within our community", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::48", - "metadata": { - "title": "Community Guidelines" - }, - "title": "7.1 Purpose of Content/Trigger Warnings", - "url": "https://docs.nhcarrigan.com/community/guide#71-purpose-of-content/trigger-warnings" - }, - { - "content": "7.2 When to Use Warnings\n\n:::caution[Warning!]\nContent/Trigger warnings are **mandatory** in all of our community spaces. Repeated patterns of failure to properly label your content will result in sanctions. \"I forgot\" is not an acceptable excuse.\n:::\n\nUse content or trigger warnings when posting about:\n\n- Graphic violence or gore\n- Sexual content or explicit discussions of sexuality (except within our clearly-indicated adult-only areas)\n- Abuse (physical, emotional, sexual)\n- Self-harm or suicide\n- Eating disorders or body image issues\n- Substance abuse or addiction\n- Mental health issues\n- Phobias (e.g., spiders, heights, confined spaces)\n- Political extremism or hate speech\n- Natural disasters or traumatic events\n- Flashing images or loud noises (for photosensitive epilepsy)\n\nRemember, this list is not exhaustive. If you're unsure whether content needs a warning, err on the side of caution and provide one.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::49", - "metadata": { - "title": "Community Guidelines" - }, - "title": "7.2 When to Use Warnings", - "url": "https://docs.nhcarrigan.com/community/guide#72-when-to-use-warnings" - }, - { - "content": "7.3 How to Use Content/Trigger Warnings\n\n- Place the warning at the beginning of your post or message\n- Use clear, specific language\n- If possible, use spoiler tags or a \"read more\" cut to hide the sensitive content\n\nExample formats:\n\n\"CW: Discussion of eating disorders\"\n\"TW: Graphic description of violence\"\n\"Content Warning: This post contains references to suicide\"", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::50", - "metadata": { - "title": "Community Guidelines" - }, - "title": "7.3 How to Use Content/Trigger Warnings", - "url": "https://docs.nhcarrigan.com/community/guide#73-how-to-use-content/trigger-warnings" - }, - { - "content": "7.4 Respecting Warnings\n\n- Do not mock or belittle others for using or needing content warnings\n- If someone asks for a warning on a specific topic, respect their request in future interactions", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::51", - "metadata": { - "title": "Community Guidelines" - }, - "title": "7.4 Respecting Warnings", - "url": "https://docs.nhcarrigan.com/community/guide#74-respecting-warnings" - }, - { - "content": "7.5 False Alarms and Overuse\n\nWhile we encourage the use of content warnings, try to avoid overuse for mundane topics. This helps maintain their effectiveness for truly sensitive content.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::52", - "metadata": { - "title": "Community Guidelines" - }, - "title": "7.5 False Alarms and Overuse", - "url": "https://docs.nhcarrigan.com/community/guide#75-false-alarms-and-overuse" - }, - { - "content": "7.6 Moderator Intervention\n\nModerators may add content warnings to posts if they deem it necessary. Repeated failure to use appropriate warnings may result in moderation action.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::53", - "metadata": { - "title": "Community Guidelines" - }, - "title": "7.6 Moderator Intervention", - "url": "https://docs.nhcarrigan.com/community/guide#76-moderator-intervention" - }, - { - "content": "8. Conflict Resolution\n\nDisagreements and conflicts can arise in any community. Our goal is to foster an environment where conflicts can be resolved respectfully and constructively. This section outlines the steps for resolving conflicts and when to involve moderators.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::54", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8. Conflict Resolution", - "url": "https://docs.nhcarrigan.com/community/guide#8-conflict-resolution" - }, - { - "content": "8.1 General Principles\n\n- Treat all parties with respect, even in disagreement\n- Assume good faith unless proven otherwise\n- Focus on the issue, not personal attacks\n- Be open to different perspectives and willing to compromise", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::55", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.1 General Principles", - "url": "https://docs.nhcarrigan.com/community/guide#81-general-principles" - }, - { - "content": "8.2 Steps for Resolving Conflicts", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::56", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.2 Steps for Resolving Conflicts", - "url": "https://docs.nhcarrigan.com/community/guide#82-steps-for-resolving-conflicts" - }, - { - "content": "8.2.1 Direct Communication\n\n- If you have an issue with another member, try to address it directly with them first.\n- Use private messages to avoid public confrontations.\n- Clearly and calmly explain your concerns, using \"I\" statements.\n- Listen to their perspective without interrupting.\n- Look for common ground and potential solutions.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::57", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.2.1 Direct Communication", - "url": "https://docs.nhcarrigan.com/community/guide#821-direct-communication" - }, - { - "content": "8.2.2 Cool-Down Period\n\nIf emotions are running high:\n\n- Take a break from the discussion.\n- Reflect on the issue and your role in the conflict.\n- Return to the conversation when you can discuss it calmly.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::58", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.2.2 Cool-Down Period", - "url": "https://docs.nhcarrigan.com/community/guide#822-cool-down-period" - }, - { - "content": "8.2.3 Seeking Mediation\n\nIf direct communication doesn't resolve the issue:\n\n- Ask a neutral third party from the community to mediate.\n- Both parties should agree on the mediator.\n- The mediator should facilitate discussion, not take sides.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::59", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.2.3 Seeking Mediation", - "url": "https://docs.nhcarrigan.com/community/guide#823-seeking-mediation" - }, - { - "content": "8.3 When to Involve Moderators\n\nInvolve moderators if:\n\n- The conflict violates our Code of Conduct\n- You feel unsafe or harassed\n- The conflict is disrupting the broader community\n- Previous attempts at resolution have failed\n- You're unsure how to handle the situation", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::60", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.3 When to Involve Moderators", - "url": "https://docs.nhcarrigan.com/community/guide#83-when-to-involve-moderators" - }, - { - "content": "8.4 How to Involve Moderators\n\n- Use the designated reporting system on the platform.\n- Provide a clear, factual account of the issue.\n- Include relevant screenshots or links if applicable.\n- Explain steps you've already taken to resolve the conflict.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::61", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.4 How to Involve Moderators", - "url": "https://docs.nhcarrigan.com/community/guide#84-how-to-involve-moderators" - }, - { - "content": "8.5 Moderator Actions\n\nModerators may:\n\n- Facilitate discussion between parties\n- Issue warnings or reminders about community guidelines\n- Temporarily mute or suspend accounts\n- Remove inflammatory content\n- In severe cases, ban members who consistently create conflicts", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::62", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.5 Moderator Actions", - "url": "https://docs.nhcarrigan.com/community/guide#85-moderator-actions" - }, - { - "content": "8.6 Appealing Moderator Decisions\n\nIf you disagree with a moderator's decision:\n\n- Wait 24 hours to ensure you can discuss it calmly\n- Contact the moderation team through the appropriate channels\n- Clearly explain why you think the decision should be reconsidered\n- Be prepared to provide additional context or evidence", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::63", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.6 Appealing Moderator Decisions", - "url": "https://docs.nhcarrigan.com/community/guide#86-appealing-moderator-decisions" - }, - { - "content": "8.7 Conflict Prevention\n\nTo minimize conflicts:\n\n- Re-read your posts before sending to ensure they're not unintentionally inflammatory\n- Use tone indicators when your intent might be unclear\n- Ask for clarification before assuming negative intent\n- Be willing to apologize and correct mistakes", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::64", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.7 Conflict Prevention", - "url": "https://docs.nhcarrigan.com/community/guide#87-conflict-prevention" - }, - { - "content": "8.8 Learning from Conflicts\n\nAfter a conflict is resolved:\n\n- Reflect on what led to the disagreement\n- Consider how it could have been prevented or handled better\n- Apply these lessons in future interactions", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::65", - "metadata": { - "title": "Community Guidelines" - }, - "title": "8.8 Learning from Conflicts", - "url": "https://docs.nhcarrigan.com/community/guide#88-learning-from-conflicts" - }, - { - "content": "9. This Should Be Fun!\n\nIt is important to remember that engaging with our community should be a fun process. If you aren't enjoying your time, please consider some of these options:", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::66", - "metadata": { - "title": "Community Guidelines" - }, - "title": "9. This Should Be Fun!", - "url": "https://docs.nhcarrigan.com/community/guide#9-this-should-be-fun!" - }, - { - "content": "9.1. Take a Break\n\nIt's okay if you need some time away from our community! We'll be here when you get back, so don't hesitate to step away for a while and decompress. Let yourself come back refreshed so you have the best experience possible.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::67", - "metadata": { - "title": "Community Guidelines" - }, - "title": "9.1. Take a Break", - "url": "https://docs.nhcarrigan.com/community/guide#91-take-a-break" - }, - { - "content": "9.2. Evaluate Your Engagement\n\nOur community spaces are intended to be fun, relaxed, and wholesome environments. If you find that you aren't meshing with our vibe in the way that you want, consider taking a look at the type of interactions you are creating. It may be that you aren't using our community in the best way.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::68", - "metadata": { - "title": "Community Guidelines" - }, - "title": "9.2. Evaluate Your Engagement", - "url": "https://docs.nhcarrigan.com/community/guide#92-evaluate-your-engagement" - }, - { - "content": "9.3. Temporary Bans\n\nIf you need a break and you find yourself unable to step away, or you keep coming back to check on things when you really do not want to, please reach out to our staff. We are more than willing to issue temporary bans to help you preserve the space you need.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::69", - "metadata": { - "title": "Community Guidelines" - }, - "title": "9.3. Temporary Bans", - "url": "https://docs.nhcarrigan.com/community/guide#93-temporary-bans" - }, - { - "content": "10. Mini-modding\n\n\"Mini-modding\" is a term often used to describe behaviour in which a non-staff user instructs another user to amend their behaviour as if they were a member of staff.\n\nOur community does not prohibit mini-modding, provided:\n\n- You gently encourage and support members in properly integrating with our community\n- You do not represent yourself as a member of NHCarrigan's team\n- You do not belittle, call out, or antagonise a user who is violating our policies\n\nRemember that the best way to correct someone's behaviour is to lead by example. If that fails, do not escalate - instead, report the behaviour to our team.", - "file": "src/content/docs/community/guide.md", - "id": "src/content/docs/community/guide.md::70", - "metadata": { - "title": "Community Guidelines" - }, - "title": "10. Mini-modding", - "url": "https://docs.nhcarrigan.com/community/guide#10-mini-modding" - }, - { - "content": "", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::0", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/dev/contributing#" - }, - { - "content": "1. Scope and General Contribution Guidelines", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::1", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1. Scope and General Contribution Guidelines", - "url": "https://docs.nhcarrigan.com/dev/contributing#1-scope-and-general-contribution-guidelines" - }, - { - "content": "1.1 Overview\n\nThis document outlines the general guidelines for contributing to our projects. It serves as a high-level framework for all contributors, whether you're submitting code, documentation, or other forms of contribution.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::2", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1.1 Overview", - "url": "https://docs.nhcarrigan.com/dev/contributing#11-overview" - }, - { - "content": "1.2 Project-Specific Instructions\n\nWhile these guidelines apply broadly, individual projects may have unique requirements or processes. Always refer to the specific project's documentation for:\n\n- Supplemental instructions\n- Project-specific workflows\n- Coding standards\n- Testing requirements\n- Other relevant information\n\nIn case of any discrepancy between this document and project-specific guidelines, the project-specific instructions take precedence.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::3", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1.2 Project-Specific Instructions", - "url": "https://docs.nhcarrigan.com/dev/contributing#12-project-specific-instructions" - }, - { - "content": "1.3 Commit Signing Requirements\n\nAll commits must be cryptographically signed using either GPG or SSH. This requirement serves to verify the authenticity and integrity of your contributions.\n\n- For GPG signing, ensure your GPG key is associated with your GitHub or Codeberg account.\n- For SSH signing, use a key linked to your GitHub or Codeberg account.\n\nBy signing your commit, you are certifying that:\n\n- The commit adheres to our [Contributor Covenant](/covenant.md)\n- You have the right to submit the contribution under our project license.\n- You understand and agree to our contribution terms.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::4", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1.3 Commit Signing Requirements", - "url": "https://docs.nhcarrigan.com/dev/contributing#13-commit-signing-requirements" - }, - { - "content": "1.4 Contributor Covenant\n\nAll contributors are expected to adhere to our Contributor Covenant. The full text of the Contributor Covenant can be found in [its own document](/covenant.md).", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::5", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1.4 Contributor Covenant", - "url": "https://docs.nhcarrigan.com/dev/contributing#14-contributor-covenant" - }, - { - "content": "1.5 Licensing of Contributions\n\nAll contributions to our projects, including but not limited to code, documentation, artwork, and other materials, will be licensed under our global software license. By submitting a contribution, you are agreeing to license your work under the terms of this license.\n\n- Our global software license: Naomi's Public License\n- Full text of the license: https://docs.nhcarrigan.com/#/license", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::6", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1.5 Licensing of Contributions", - "url": "https://docs.nhcarrigan.com/dev/contributing#15-licensing-of-contributions" - }, - { - "content": "1.6 Intellectual Property\n\nBy contributing to our projects, you affirm that:\n\n- You own the copyright to your contribution or have authorization from the copyright owner to submit it under our license.\n- Your contribution does not infringe on any third-party intellectual property rights.\n- You grant us a perpetual, worldwide, non-exclusive, royalty-free license to use, modify, and distribute your contribution.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::7", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1.6 Intellectual Property", - "url": "https://docs.nhcarrigan.com/dev/contributing#16-intellectual-property" - }, - { - "content": "1.7 Legal Compliance\n\nEnsure all contributions comply with relevant laws and regulations, including export controls and data protection laws.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::8", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1.7 Legal Compliance", - "url": "https://docs.nhcarrigan.com/dev/contributing#17-legal-compliance" - }, - { - "content": "1.8 Acceptance of Contributions\n\nWhile we appreciate all contributions, we reserve the right to reject any contribution that doesn't meet our standards or align with our project goals. The project maintainers have final say on the inclusion of any contribution.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::9", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "1.8 Acceptance of Contributions", - "url": "https://docs.nhcarrigan.com/dev/contributing#18-acceptance-of-contributions" - }, - { - "content": "2. Secrets Management", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::10", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "2. Secrets Management", - "url": "https://docs.nhcarrigan.com/dev/contributing#2-secrets-management" - }, - { - "content": "2.1 Overview\n\nProper management of secrets is crucial for maintaining the security and integrity of our projects. We use 1Password as our centralized secrets management solution. This section outlines our policies and procedures for handling secrets.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::11", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "2.1 Overview", - "url": "https://docs.nhcarrigan.com/dev/contributing#21-overview" - }, - { - "content": "2.2 General Policy\n\n- Plain-text secrets should never be stored on personal machines, development environments, or our servers.\n- All secrets should be stored and managed through 1Password.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::12", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "2.2 General Policy", - "url": "https://docs.nhcarrigan.com/dev/contributing#22-general-policy" - }, - { - "content": "2.3 1Password Setup and Usage\n\nTo work with secrets locally, you must set up the 1Password CLI (Command Line Interface) and integrate it with your 1Password desktop application.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::13", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "2.3 1Password Setup and Usage", - "url": "https://docs.nhcarrigan.com/dev/contributing#23-1password-setup-and-usage" - }, - { - "content": "2.3.1 Setup Instructions\n\n- Install the 1Password desktop application if you haven't already.\n- Install the 1Password CLI. Instructions can be found at: https://developer.1password.com/docs/cli/get-started/\n- Authenticate the CLI with your 1Password account.\n- Configure your development environment to use the 1Password CLI for secret retrieval. https://developer.1password.com/docs/cli/secrets-environment-variables/", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::14", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "2.3.1 Setup Instructions", - "url": "https://docs.nhcarrigan.com/dev/contributing#231-setup-instructions" - }, - { - "content": "2.3.2 Best Practices\n\n- Use environment variables to store secrets retrieved from 1Password during runtime.\n- Never log or display secrets in any form.\n- Rotate secrets regularly.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::15", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "2.3.2 Best Practices", - "url": "https://docs.nhcarrigan.com/dev/contributing#232-best-practices" - }, - { - "content": "2.4 Handling Secrets in Code\n\n- Development environment variables should be set in `dev.env` - changes to this file should generally be excluded from your contributions.\n- Use 1Password references instead of actual secret values in configuration files.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::16", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "2.4 Handling Secrets in Code", - "url": "https://docs.nhcarrigan.com/dev/contributing#24-handling-secrets-in-code" - }, - { - "content": "3. Setting Up Your Development Environment", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::17", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "3. Setting Up Your Development Environment", - "url": "https://docs.nhcarrigan.com/dev/contributing#3-setting-up-your-development-environment" - }, - { - "content": "3.1 Forking the Repository\n\n1. Navigate to the original repository on Codeberg.\n2. Click the \"Fork\" button in the upper right corner of the page.\n3. Select your account as the destination for the fork.\n4. Wait for Codeberg to create a copy of the repository in your account.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::18", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "3.1 Forking the Repository", - "url": "https://docs.nhcarrigan.com/dev/contributing#31-forking-the-repository" - }, - { - "content": "3.2 Cloning Your Fork\n\n1. Go to your forked repository on Codeberg.\n2. Click the \"Code\" button and copy the URL (HTTPS or SSH, depending on your setup).\n3. Open your terminal or command prompt.\n4. Navigate to the directory where you want to store the project.\n5. Run the following command, replacing `` with the URL you copied:\n\n ```\n git clone \n ```\n\n6. Enter your GitHub credentials if prompted.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::19", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "3.2 Cloning Your Fork", - "url": "https://docs.nhcarrigan.com/dev/contributing#32-cloning-your-fork" - }, - { - "content": "3.3 Setting Up the Upstream Remote\n\nAdding the original repository as an upstream remote allows you to easily keep your fork up-to-date.\n\n1. Change into the project directory:\n\n ```\n cd \n ```\n\n2. Add the upstream remote:\n\n ```\n git remote add upstream \n ```\n\n Replace `` with the **git** URL of the original repository.\n\n3. Verify the new remote:\n\n ```\n git remote -v\n ```\n\n You should see entries for both `origin` (your fork) and `upstream`.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::20", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "3.3 Setting Up the Upstream Remote", - "url": "https://docs.nhcarrigan.com/dev/contributing#33-setting-up-the-upstream-remote" - }, - { - "content": "3.4 Keeping Your Fork Up-to-Date\n\nRegularly update your fork to incorporate changes from the upstream repository:\n\n1. Fetch the branches and commits from the upstream repository:\n\n ```\n git fetch upstream\n ```\n\n2. Check out your fork's local main branch:\n\n ```\n git checkout main\n ```\n\n3. Merge changes from upstream/main into your local main branch:\n\n ```\n git merge upstream/main\n ```", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::21", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "3.4 Keeping Your Fork Up-to-Date", - "url": "https://docs.nhcarrigan.com/dev/contributing#34-keeping-your-fork-up-to-date" - }, - { - "content": "3.5 Troubleshooting\n\nIf you encounter any issues during setup:\n\n1. Check the project's FAQ or troubleshooting guide (if available).\n2. Search for similar issues in the project's issue tracker.\n3. If the problem persists, open a new issue with detailed information about the problem and steps to reproduce it.\n\nYou can also reach out to us on our forum: https://forum.nhcarrigan.com", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::22", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "3.5 Troubleshooting", - "url": "https://docs.nhcarrigan.com/dev/contributing#35-troubleshooting" - }, - { - "content": "4. Claiming an Issue", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::23", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4. Claiming an Issue", - "url": "https://docs.nhcarrigan.com/dev/contributing#4-claiming-an-issue" - }, - { - "content": "4.1 Finding an Issue\n\n1. Navigate to the project's issue tracker.\n2. Browse open issues or use filters to find tasks that interest you.\n3. Read the issue description thoroughly to understand the requirements and context.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::24", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.1 Finding an Issue", - "url": "https://docs.nhcarrigan.com/dev/contributing#41-finding-an-issue" - }, - { - "content": "4.2 Expressing Interest\n\n1. If you find an issue you'd like to work on, comment on the issue expressing your interest.\n2. Example comment: \"I'm interested in working on this issue. May I be assigned to it?\"\n3. Wait for a project maintainer to respond and potentially assign the issue to you.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::25", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.2 Expressing Interest", - "url": "https://docs.nhcarrigan.com/dev/contributing#42-expressing-interest" - }, - { - "content": "4.3 Issue Assignment\n\n- Project maintainers will assign issues based on the order of interest and the contributor's experience level.\n- Once assigned, you'll see your username in the \"Assignees\" section of the issue.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::26", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.3 Issue Assignment", - "url": "https://docs.nhcarrigan.com/dev/contributing#43-issue-assignment" - }, - { - "content": "4.4 Already Assigned Issues\n\nIf an issue is already assigned:\n\n1. Check the assignee and the last activity date.\n2. If you're still interested in contributing, you can:\n a. Comment on the issue expressing your interest to collaborate.\n b. Reach out to the assigned person to offer assistance or discuss collaboration.\n\nWe encourage collaboration and pair programming on complex issues!", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::27", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.4 Already Assigned Issues", - "url": "https://docs.nhcarrigan.com/dev/contributing#44-already-assigned-issues" - }, - { - "content": "4.5 Working on the Issue\n\n1. Once assigned, create a new branch in your fork for this specific issue.\n2. Use a descriptive branch name, e.g., `fix/issue-123-button-alignment`.\n3. Make your changes, committing regularly with clear, concise commit messages.\n4. Push your changes to your fork.\n5. Open a pull request when ready for review (see Pull Request Guidelines in section [X]).", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::28", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.5 Working on the Issue", - "url": "https://docs.nhcarrigan.com/dev/contributing#45-working-on-the-issue" - }, - { - "content": "4.6 Keeping the Community Updated\n\n1. Provide regular updates on your progress in the issue comments.\n2. If you encounter obstacles, don't hesitate to ask for help in the issue thread.\n3. If you need to step away from an issue, please let us know so it can be reassigned if necessary.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::29", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.6 Keeping the Community Updated", - "url": "https://docs.nhcarrigan.com/dev/contributing#46-keeping-the-community-updated" - }, - { - "content": "4.7 Time Management\n\n- Try to start working on the issue within a few days of assignment.\n- If you haven't made progress within a week, the issue may be unassigned to keep the project moving forward.\n- If you need more time, communicate this in the issue comments.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::30", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.7 Time Management", - "url": "https://docs.nhcarrigan.com/dev/contributing#47-time-management" - }, - { - "content": "4.8 Multiple Issues\n\n- We encourage focusing on one issue at a time to ensure quality and timely completion.\n- If you want to work on multiple issues, please complete one before requesting assignment to another.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::31", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.8 Multiple Issues", - "url": "https://docs.nhcarrigan.com/dev/contributing#48-multiple-issues" - }, - { - "content": "4.9 Issue Labels\n\nPay attention to issue labels for additional context:\n\n- `good first issue`: Suitable for newcomers to the project or open source.\n- `help wanted`: Issues where we're actively seeking community help.\n- `staff only`: Issue that will require staff attention.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::32", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.9 Issue Labels", - "url": "https://docs.nhcarrigan.com/dev/contributing#49-issue-labels" - }, - { - "content": "4.10 Respectful Communication\n\n- Always be courteous and professional in issue discussions.\n- Respect the decisions of project maintainers regarding issue assignments and priorities.\n- If you disagree with something, express your thoughts constructively and be open to feedback.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::33", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "4.10 Respectful Communication", - "url": "https://docs.nhcarrigan.com/dev/contributing#410-respectful-communication" - }, - { - "content": "5. Working on Your Issue", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::34", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5. Working on Your Issue", - "url": "https://docs.nhcarrigan.com/dev/contributing#5-working-on-your-issue" - }, - { - "content": "5.1 Updating Your Fork\n\nBefore starting work, ensure your forked version is up to date with the original repository. If you've set up the `upstream` remote as mentioned in Section 3, follow these steps:\n\n1. Open your terminal and navigate to your project's root directory.\n2. Run the following commands:\n\n ```bash\n git fetch upstream\n git merge upstream/main\n ```", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::35", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5.1 Updating Your Fork", - "url": "https://docs.nhcarrigan.com/dev/contributing#51-updating-your-fork" - }, - { - "content": "5.2 Creating a New Branch\n\nAlways create a new branch for your work:\n\n1. Create and switch to a new branch:\n\n ```bash\n git checkout -b \n ```\n\n2. Follow the branch naming convention: `type/description`\n\n - `type`: Indicates the nature of the changes (e.g., `feat`, `fix`, `docs`, `refactor`)\n - `description`: A brief, hyphenated description of the changes\n\n Examples:\n\n - `feat/add-login-page`\n - `fix/resolve-memory-leak`\n - `docs/update-api-endpoints`", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::36", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5.2 Creating a New Branch", - "url": "https://docs.nhcarrigan.com/dev/contributing#52-creating-a-new-branch" - }, - { - "content": "5.3 Making Changes\n\n1. Make your code changes, following the project's coding standards and guidelines.\n2. Regularly commit your changes with clear, concise messages.\n3. Push your changes to your fork periodically:\n\n ```bash\n git push origin \n ```", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::37", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5.3 Making Changes", - "url": "https://docs.nhcarrigan.com/dev/contributing#53-making-changes" - }, - { - "content": "5.4 Committing Changes\n\nWhen you're ready to commit your changes:\n\n1. Stage your changes:\n\n ```bash\n git add .\n ```\n\n Or stage specific files:\n\n ```bash\n git add \n ```\n\n2. Commit:\n\n ```bash\n git commit\n ```", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::38", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5.4 Committing Changes", - "url": "https://docs.nhcarrigan.com/dev/contributing#54-committing-changes" - }, - { - "content": "5.5 Commit Message Guidelines\n\n- Follow Conventional Commit standards: `type(scope): description` such as `docs: update contributing guidelines`.\n- Use the present tense (\"Add feature\" not \"Added feature\")\n- Use the imperative mood (\"Move cursor to...\" not \"Moves cursor to...\")\n- Limit the first line to 50 characters or less\n - Additional information can be included in the body\n- Do NOT reference issues/PRs in your commit\n\nExample:\n\n```\nfeat: add user authentication system\n\nImplement JWT-based authentication for API endpoints.\n```", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::39", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5.5 Commit Message Guidelines", - "url": "https://docs.nhcarrigan.com/dev/contributing#55-commit-message-guidelines" - }, - { - "content": "5.7 Testing Your Changes\n\n- Run the linter to ensure your code complies with [our style guidelines](/dev/style).\n\n ```bash\n pnpm lint # or the appropriate lint command for your project\n ```\n\n- Run any existing tests to ensure your changes haven't broken anything:\n\n ```bash\n pnpm test # or the appropriate test command for your project\n ```\n\n- Add new tests for your changes if applicable.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::40", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5.7 Testing Your Changes", - "url": "https://docs.nhcarrigan.com/dev/contributing#57-testing-your-changes" - }, - { - "content": "5.8 Documentation\n\n- Update relevant documentation to reflect your changes.\n- If you've added new features, include appropriate documentation.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::41", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5.8 Documentation", - "url": "https://docs.nhcarrigan.com/dev/contributing#58-documentation" - }, - { - "content": "5.9 Preparing for Pull Request\n\nBefore submitting a pull request:\n\n1. Check that your code adheres to the project's style guidelines - the linters should pass.\n1. Ensure the build succeeds.\n1. Ensure all tests pass.\n1. Review your changes and commit history.\n\nIf you're unsure about any part of the process or need help, don't hesitate to ask in our [forum](https://forum.nhcarrigan.com). Our community is here to support you!", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::42", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "5.9 Preparing for Pull Request", - "url": "https://docs.nhcarrigan.com/dev/contributing#59-preparing-for-pull-request" - }, - { - "content": "6. Submitting a Pull Request", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::43", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6. Submitting a Pull Request", - "url": "https://docs.nhcarrigan.com/dev/contributing#6-submitting-a-pull-request" - }, - { - "content": "6.1 Pushing Your Changes\n\n1. Push your changes to your forked repository:\n\n```bash\ngit push -u origin \n```\n\n- `-u` sets the upstream, linking your local branch to the remote branch\n- `origin` specifies your forked repository as the destination\n- `` is the name of your local branch\n\n2. Ensure the push is successful and your changes appear in your forked repository on Codeberg.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::44", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6.1 Pushing Your Changes", - "url": "https://docs.nhcarrigan.com/dev/contributing#61-pushing-your-changes" - }, - { - "content": "6.2 Creating the Pull Request\n\n1. Navigate to your forked repository on Codeberg.\n2. You should see a prompt to create a pull request for your recently pushed branch. If not, click on the \"Pull requests\" tab and then the \"New pull request\" button.\n3. Ensure the base repository is the original project repository and the base branch is `main`.\n4. Select your fork as the head repository and your recently pushed branch as the compare branch.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::45", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6.2 Creating the Pull Request", - "url": "https://docs.nhcarrigan.com/dev/contributing#62-creating-the-pull-request" - }, - { - "content": "6.3 Filling Out the Pull Request\n\n1. Change the title of your pull request to be a conventional commit message summarising all changes in that PR\n2. Fill out the pull request description with as much information as possible. This typically includes:\n - A clear description of the changes\n - The issue number(s) your pull request addresses\n - Any additional context or explanations\n3. Fill out the rest of the pull request form *completely*.\n4. If your changes include visual elements, consider adding screenshots or GIFs to illustrate the modifications.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::46", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6.3 Filling Out the Pull Request", - "url": "https://docs.nhcarrigan.com/dev/contributing#63-filling-out-the-pull-request" - }, - { - "content": "6.4 Pull Request Best Practices\n\n- Ensure your PR addresses only one issue or adds one feature. If you have made multiple unrelated changes, consider breaking them into separate pull requests.\n- Double-check that all tests pass and there are no conflicts with the base branch.\n- If your PR is a work in progress, mark it as a draft pull request.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::47", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6.4 Pull Request Best Practices", - "url": "https://docs.nhcarrigan.com/dev/contributing#64-pull-request-best-practices" - }, - { - "content": "6.5 After Submitting\n\n- Keep an eye on your pull request for any comments, requests for changes, or approval.\n- Be prepared to make additional commits to your branch if changes are requested.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::48", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6.5 After Submitting", - "url": "https://docs.nhcarrigan.com/dev/contributing#65-after-submitting" - }, - { - "content": "6.6 Updating Your Pull Request\n\nIf you need to make changes to your pull request:\n\n1. Make the required changes in your local branch.\n2. Commit the changes.\n3. Push the new commits to your fork:\n\n ```bash\n git push origin \n ```\n\n4. The pull request will automatically update with your new commits.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::49", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6.6 Updating Your Pull Request", - "url": "https://docs.nhcarrigan.com/dev/contributing#66-updating-your-pull-request" - }, - { - "content": "6.7 Pull Request Etiquette\n\n- Be patient. Maintainers are often managing multiple priorities.\n- Be open to feedback and willing to make changes.\n- Respond promptly to any questions or requests from reviewers.\n- If there's a delay in your ability to respond or make requested changes, leave a comment explaining the situation.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::50", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6.7 Pull Request Etiquette", - "url": "https://docs.nhcarrigan.com/dev/contributing#67-pull-request-etiquette" - }, - { - "content": "6.8 Merging and Closing\n\n- Once your pull request is approved, a maintainer will merge it into the main project.\n- After merging, you can delete your branch from your fork if you won't be using it anymore.\n- Celebrate your contribution to the project!", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::51", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "6.8 Merging and Closing", - "url": "https://docs.nhcarrigan.com/dev/contributing#68-merging-and-closing" - }, - { - "content": "7. Pull Request Reviews", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::52", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7. Pull Request Reviews", - "url": "https://docs.nhcarrigan.com/dev/contributing#7-pull-request-reviews" - }, - { - "content": "7.1 Review Process Overview\n\n- All pull requests require at least one approved review before merging.\n- Reviews are primarily conducted by Naomi, but some projects may have additional reviewers.\n- The review process helps maintain code quality, consistency, and project standards.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::53", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.1 Review Process Overview", - "url": "https://docs.nhcarrigan.com/dev/contributing#71-review-process-overview" - }, - { - "content": "7.2 What Reviewers Look For\n\nReviewers typically assess the following aspects:\n\n1. Code quality and style adherence\n2. Functionality and correctness of the implementation\n3. Test coverage and passing status\n4. Documentation updates (if applicable)\n5. Adherence to project-specific guidelines\n6. Potential impact on existing features or performance", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::54", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.2 What Reviewers Look For", - "url": "https://docs.nhcarrigan.com/dev/contributing#72-what-reviewers-look-for" - }, - { - "content": "7.3 Types of Review Outcomes\n\n1. **Approved**: Your pull request is ready to be merged.\n2. **Changes Requested**: Modifications or additional information is needed before approval.\n3. **Commented**: The reviewer has provided feedback but hasn't explicitly approved or requested changes.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::55", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.3 Types of Review Outcomes", - "url": "https://docs.nhcarrigan.com/dev/contributing#73-types-of-review-outcomes" - }, - { - "content": "7.4 Responding to Review Feedback\n\nIf changes are requested:\n\n1. Read all comments carefully to understand the requested modifications.\n2. Ask for clarification if any feedback is unclear.\n3. Make the necessary changes in your local branch.\n4. Commit and push the changes to update your pull request.\n5. Respond to each comment, explaining how you addressed the feedback or why you chose a different approach.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::56", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.4 Responding to Review Feedback", - "url": "https://docs.nhcarrigan.com/dev/contributing#74-responding-to-review-feedback" - }, - { - "content": "7.5 Best Practices for Handling Reviews\n\n- Respond promptly to review comments (ideally within a few days).\n- Be open to constructive criticism and willing to make changes.\n- If you disagree with a suggestion, explain your reasoning politely and be open to discussion.\n- Use the review process as a learning opportunity to improve your coding skills.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::57", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.5 Best Practices for Handling Reviews", - "url": "https://docs.nhcarrigan.com/dev/contributing#75-best-practices-for-handling-reviews" - }, - { - "content": "7.6 Timelines and Expectations\n\n- We strive to review pull requests as quickly as possible, typically within a week.\n- If your pull request requires changes, please address them promptly.\n- Pull requests with outstanding change requests and no activity for a week may be closed as stale.\n- If you need more time to address changes, communicate this in the pull request comments to prevent your contribution from being closed.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::58", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.6 Timelines and Expectations", - "url": "https://docs.nhcarrigan.com/dev/contributing#76-timelines-and-expectations" - }, - { - "content": "7.7 Multiple Iterations\n\n- Complex changes may require multiple rounds of reviews and revisions.\n- Stay engaged throughout the process and be patient if additional iterations are needed.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::59", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.7 Multiple Iterations", - "url": "https://docs.nhcarrigan.com/dev/contributing#77-multiple-iterations" - }, - { - "content": "7.8 Learning from the Review Process\n\n- Take note of common feedback to improve future contributions.\n- Consider reviewing other pull requests to gain insights into the project's standards and practices.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::60", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.8 Learning from the Review Process", - "url": "https://docs.nhcarrigan.com/dev/contributing#78-learning-from-the-review-process" - }, - { - "content": "7.9 After Approval\n\nOnce your pull request is approved:\n\n1. It will be merged into the main branch by a project maintainer.\n2. Depending on the project's deployment pipeline, your changes may be deployed immediately or as part of the next release cycle.\n\nThank you for providing that section. I'll expand and improve it to make it more comprehensive and encourage a wider range of contributions. Here's an enhanced version:", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::61", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "7.9 After Approval", - "url": "https://docs.nhcarrigan.com/dev/contributing#79-after-approval" - }, - { - "content": "8. Other Contributions\n\nWe value all types of contributions, not just code. There are many ways to contribute to our project, regardless of your technical experience or comfort level with the codebase. Here are several ways you can make a meaningful impact:", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::62", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8. Other Contributions", - "url": "https://docs.nhcarrigan.com/dev/contributing#8-other-contributions" - }, - { - "content": "8.1 Documentation Updates\n\nClear and accurate documentation is crucial for any project. You can help by:\n\n- Fixing typos, grammatical errors, or unclear phrasing\n- Adding examples or clarifying existing explanations\n- Creating new documentation for undocumented features\n- Improving README files, API documentation, or user guides", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::63", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.1 Documentation Updates", - "url": "https://docs.nhcarrigan.com/dev/contributing#81-documentation-updates" - }, - { - "content": "8.2 Feature Requests\n\nYour ideas can help shape the future of the project. To suggest a new feature:\n\n1. Check existing issues to ensure your idea hasn't been proposed\n1. Clearly describe the feature and its potential benefits\n1. If possible, outline how the feature might be implemented\n\n:::tip[Before you start:]\nConsider discussing your idea in our community chat before creating an issue to gather initial feedback.\n:::", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::64", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.2 Feature Requests", - "url": "https://docs.nhcarrigan.com/dev/contributing#82-feature-requests" - }, - { - "content": "8.3 Bug Reports\n\nIdentifying and reporting bugs is a valuable contribution. When reporting a bug:\n\n1. Search existing issues to avoid duplicates\n1. Provide a clear, concise description of the problem\n1. Include steps to reproduce the bug\n1. Describe the expected behavior and what actually happened\n1. If possible, include screenshots, error messages, or code samples", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::65", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.3 Bug Reports", - "url": "https://docs.nhcarrigan.com/dev/contributing#83-bug-reports" - }, - { - "content": "8.4 User Support\n\nHelping other users is a great way to contribute to the community:\n\n- Answer questions in our Discord server or other community platforms\n- Share your knowledge and experiences with the project\n- Guide new users through common issues or setup processes\n- Create tutorials or blog posts about using the project", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::66", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.4 User Support", - "url": "https://docs.nhcarrigan.com/dev/contributing#84-user-support" - }, - { - "content": "8.5 Design Contributions\n\nIf you have design skills, you can contribute by:\n\n- Creating or improving project logos or icons\n- Designing user interface mockups for new features\n- Improving the overall user experience and accessibility\n- Creating infographics or visual aids for documentation", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::67", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.5 Design Contributions", - "url": "https://docs.nhcarrigan.com/dev/contributing#85-design-contributions" - }, - { - "content": "8.6 Testing and Quality Assurance\n\nHelp improve the project's stability by:\n\n- Testing new features or bug fixes\n- Performing usability testing and providing feedback\n- Writing or improving automated tests\n- Identifying edge cases or potential security issues", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::68", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.6 Testing and Quality Assurance", - "url": "https://docs.nhcarrigan.com/dev/contributing#86-testing-and-quality-assurance" - }, - { - "content": "8.7 Community Building\n\nFoster a welcoming and inclusive community by:\n\n- Welcoming new contributors and helping them get started\n- Organizing or participating in community events or meetups\n- Promoting the project on social media or relevant forums\n- Helping to moderate community discussions", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::69", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.7 Community Building", - "url": "https://docs.nhcarrigan.com/dev/contributing#87-community-building" - }, - { - "content": "8.8 Internationalization and Localization\n\nMake the project accessible to a global audience:\n\n- Translate user interfaces\n- Provide localized documentation\n- Ensure the project supports multiple languages and cultures", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::70", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.8 Internationalization and Localization", - "url": "https://docs.nhcarrigan.com/dev/contributing#88-internationalization-and-localization" - }, - { - "content": "8.9 Code Reviews\n\nEven if you're not comfortable making code changes, you can:\n\n- Review pull requests for documentation or small changes\n- Provide feedback on proposed features or bug fixes\n- Help ensure code style and convention consistency", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::71", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.9 Code Reviews", - "url": "https://docs.nhcarrigan.com/dev/contributing#89-code-reviews" - }, - { - "content": "8.10 Fundraising and Sponsorship\n\nIf you have connections or experience in this area:\n\n- Help identify potential sponsors or grants\n- Assist with writing grant applications\n- Organize fundraising events or campaigns\n\nOr even make a donation yourself!", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::72", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.10 Fundraising and Sponsorship", - "url": "https://docs.nhcarrigan.com/dev/contributing#810-fundraising-and-sponsorship" - }, - { - "content": "8.11 Mentoring\n\nShare your knowledge and experience:\n\n- Mentor new contributors\n- Create learning resources for the project\n- Participate in or organize coding workshops related to the project\n\nRemember, all contributions, big or small, are valuable to the project. Don't hesitate to get involved in any way you feel comfortable. If you have any questions about how to contribute or need help getting started, please reach out to us in our Discord server or through the project's communication channels.", - "file": "src/content/docs/dev/contributing.md", - "id": "src/content/docs/dev/contributing.md::73", - "metadata": { - "title": "Contributing Documentation" - }, - "title": "8.11 Mentoring", - "url": "https://docs.nhcarrigan.com/dev/contributing#811-mentoring" - }, - { - "content": "Copyright (C) 2024 nhcarrigan and its contributors.\n\nEveryone is permitted to copy and distribute verbatim copies of this\nlicense document, but changing it is not allowed.", - "file": "src/content/docs/dev/covenant.md", - "id": "src/content/docs/dev/covenant.md::0", - "metadata": { - "title": "nhcarrigan Contributor Covenant" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/dev/covenant#" - }, - { - "content": "nhcarrigan Contributor Covenant 1.0\n\nBy making a contribution to this project I certify that:\n\n
    \n
  1. \n I have read, understood, and agree to abide by the project's Code of Conduct in its entirety.\n
  2. \n
  3. \n My contribution and participation align with the principles outlined in the Code of Conduct, including respect for all community members regardless of their identity or background.\n
  4. \n
  5. \n I have the right to submit any code, documentation, or other content under the project's designated license.\n
  6. \n
  7. \n If my contribution is based on previous work covered under an open source license, I have the right to submit that work with modifications under the project's license.\n
  8. \n
  9. \n Any contribution provided to me by another person for submission to this project has been done so with certification of points a through d, and I have not modified it.\n
  10. \n
  11. \n I understand that my contributions may be logged publicly, and that moderation actions taken in response to Code of Conduct violations may be recorded in the community's public moderation log.\n
  12. \n
  13. \n I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.\n
  14. \n
  15. \n I acknowledge that community leaders have the right and responsibility to remove, edit, or reject my contributions if they do not align with this certificate or the project's Code of Conduct.\n
  16. \n
  17. \n I agree to release my contribution to nhcarrigan pursuant to the Terms of Service.\n
  18. \n
", - "file": "src/content/docs/dev/covenant.md", - "id": "src/content/docs/dev/covenant.md::1", - "metadata": { - "title": "nhcarrigan Contributor Covenant" - }, - "title": "nhcarrigan Contributor Covenant 1.0", - "url": "https://docs.nhcarrigan.com/dev/covenant#nhcarrigan-contributor-covenant-10" - }, - { - "content": "This page documents Naomi's local development environment. The information here is provided to allow contributors to mirror the environment as closely as possible, ensuring the smoothest developer experience.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::0", - "metadata": { - "title": "Development Environment" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "1. System Information\n\nNaomi's local environment runs on the Arch Linux kernel.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::1", - "metadata": { - "title": "Development Environment" - }, - "title": "1. System Information", - "url": "https://docs.nhcarrigan.com/dev/environment#1-system-information" - }, - { - "content": "1.1. `hyfetch`\n\nThis is the current diagnostic report from `hyfetch`.\n\n```bash title=\"hyfetch\"\nnaomi@technomancer\n------------------\nOS: Arch Linux x86_64\n├─Kernel: 6.14.2-arch1-1\n├─Locale: en_GB.UTF-8\n├─Shell: /usr/bin/zsh 5.9\n├─WM: sway version 1.10.1\n├─Terminal: ghostty\nHost: MS-7B86 4.0\n├─CPU: AMD Ryzen 5 3600X (12) @ 3.8GHz [80.7°on]\n├─GPU: NVIDIA GeForce GTX 1070 Ti\n├───GPU Driver: NVIDIA 570.133.07\n├─Disk: /home: 377G/412G (97%)\n├───Root: /: 42G/45G (98%)\n├───Boot: /boot: 466M/1022M (46%)\n└─Memory: 15.51GiB / 31.29GiB (49%)\n\nProgramming Languages\n---------------------\nBash: 5.2.37(1)-release\nClang: 19.1.7\nC++: 14.2.1\nDart\n└─Flutter: failed\nDotnet: 9.0.104\n└─C-sharp Compiler: 3.9.0-6.21124.20\nGo: 1.24.2\nHaskell: 9.4.8\n└─Cabal: 3.8.1.0\nJava: version\n├─Gradle: 8.13\n└─Kotlin: 2.1.20-release-217\nLua: 5.4.7\nPHP: 8.4.6\nPython: 3.13.3\n└─PIP: 25.0.1\nNode: v23.9.0\n├─NPM: 11.3.0\n├─Yarn: 1.22.22\n└─PNPM: 10.8.1\nRuby: 3.3.7\nRust: 1.80.1\n├─Rustup: 1.27.1\n└─Cargo: 1.80.1\nTypeScript: 5.9.0-dev\nZig: 0.13.0\n\nDatabases\n---------\nMongoDB: v8.0.4\n└─Mongo Shell: v8.0.4\nMySQL: 9.2.0\nPostgreSQL: 17.4\nSQlite: 3.49.1\n\nTools\n-----\nBrowser: Zen 1.11.3b\nEditor: Emacs 30.1\n└─Nano: 8.4\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::2", - "metadata": { - "title": "Development Environment" - }, - "title": "1.1. `hyfetch`", - "url": "https://docs.nhcarrigan.com/dev/environment#11-`hyfetch`" - }, - { - "content": "2. Packages\n\nNaomi uses the following packages.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::3", - "metadata": { - "title": "Development Environment" - }, - "title": "2. Packages", - "url": "https://docs.nhcarrigan.com/dev/environment#2-packages" - }, - { - "content": "2.1. Foreign Packages\n\nThese packages come from unofficial repositories, such as the AUR. This list is generated with `yay -Qm`.\n\n
\n Expand List\n\n```txt frame=\"terminal\" title=\"yay -Qm\"\n1password-cli 2.30.3-1\namor-debug 15.08.3-11\nangular-cli 19.2.7-1\napg 2.2.3-5\nasciiquarium-transparent-git r24.cfe288e-1\naws-cli-v2-bin 2:2.22.15-1\ncal3d 0.11.0-7\ncal3d-debug 0.11.0-7\ncbonsai 1.3.1-3\nccze 0.2.1-13\nchafa-git 1.14.5.r112.g9aa862e-1\nckb-next-debug 0.6.0-1\ncrowdin-cli 4.7.0-1\ndependency-check-cli 12.1.0-1\ndreamweb 1.1-1\nelectron25-bin 25.9.8-3\nespanso-gui 24.7-1\nespanso-wayland 2.2.3-1\neternallands 1.9.7.0-0\neternallands-debug 1.9.7.0-0\nfaudio 25.04-1\nfaudio-debug 25.04-1\nflyctl 0.3.105-1\nflyctl-debug 0.3.105-1\nfreetube-bin 0.23.3-1\nfreetube-nightly-debug 0.23.2_nightly_5764-1\nghostty-git 1.1.2.r307.ge07b6fd-1\nghostty-git-debug 1.1.2.r307.ge07b6fd-1\ngoogle-chat-linux-bin 5.29.23-1\ngoogle-chat-linux-bin-debug 5.29.23-1\ngpu-usage-waybar-git 0.1.12.r17.g61ebe61-1\ngrimshot 1.10-1\ngwenview-no-purpose 24.12.3-1\ngwenview-no-purpose-debug 24.12.3-1\nhaskell-data-array-byte 0.1.0.1-84\nhollywood 1.21-7\ninsomnium 0.2.3_a-8\nlib32-sdl2-debug 2.30.11-2\nlibelectron 2025.3-1\nlibelectron-debug 2025.3-1\nlibretro-beetle-psx-git 2747.80d3eba2-1\nlibretro-beetle-psx-git-debug 2747.80d3eba2-1\nlibrewolf-bin 1:137.0.2_1-1\nlibrewolf-bin-debug 1:137.0.2_1-1\nlibscanmem-git 0.17.1103.0def8b2-1\nlrexlib-pcre5.1 2.9.0-2\nlua-yajl 2.0-2\nlua51-lcf 5.1-3\nlua51-sql-sqlite 2.3.0-4\nluazip5.1 1.2.7-1\nmommy 1.6.0-1\nmongodb-tools-bin 100.10.0-3\nmongosh-bin 2.5.0-1\nmongosh-bin-debug 2.5.0-1\nmoosync-debug 11.0.1-2\nmpris-discord-rpc 0.2.2-1\nmpris-discord-rpc-debug 0.2.2-1\nneverwinter.nim-bin 2.0.1-1\nnodejs-http-server 14.1.1-1\nnotepad++ 8.7.6-1\nnoto-fonts-emoji-flags 20200120-1\nobs-retro-effects-debug 1.0.0-1\nobs-studio-liberty-debug 31.0.3-1\nopenlinkhub-bin-debug 0.5.1-4\nopenssl-1.0 1.0.2.u-6\notf-compagnon 1.000-1\npipes.sh 1.3.0-1\nplay.it-git 2.29.1.r1.g03ba243f-1\nproton-ge-custom 2:GE.Proton9.23-1\npython-eyed3 0.9.7-3\npython-keyboard 0.13.5-2\nredact-bin 0.18.0-1\nrenovate-git-debug 39.83.2.r0.g68c05cf-1\nresonance 0.1.3-1\nresonance-debug 0.1.3-1\nroam 157.0.0.beta001-1\nrpgvxace-rtp 100-3\nsamrewritten-git r261.cac0291-1\nsamrewritten-git-debug r261.cac0291-1\nsdl2-debug 2.30.11-2\nshellspec 0.28.1-3\nslack-cli 3.0.0-0\nslack-cli-debug 3.0.0-0\nsonar-scanner 7.0.2.4839-1\nspacecadetpinball-bin 2.1.0-2\nspacecadetpinball-bin-debug 2.1.0-2\nspeedometer 2.9-3\nttf-joypixels 8.0.0-2\nvercel 39.2.2-1\nvercel-debug 39.2.2-1\nvsce 3.3.2-1\nvsce-debug 3.3.2-1\nwofi-emoji 1.2-3\nwscat 5.2.0-2\nwxhexeditor 0.24-4\n```\n\n
", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::4", - "metadata": { - "title": "Development Environment" - }, - "title": "2.1. Foreign Packages", - "url": "https://docs.nhcarrigan.com/dev/environment#21-foreign-packages" - }, - { - "content": "2.2. Explicit Installations\n\nThese are all of the packages Naomi has specifically installed. This list is generated with `yay -Qe`.\n\n
\n Expand List\n\n```txt frame=\"terminal\" title=\"yay -Qe\"\n1password 8.10.72-27\n1password-cli 2.30.3-1\n7zip 24.09-3\nact 0.2.76-1\nactivitywatch-bin 0.13.2-1\nalacarte 1:3.54.1-1\nalacritty 0.15.1-1\nalsa-utils 1.2.14-1\namberol 2024.2-1\namd-ucode 20250408.c1a774f3-1\nangular-cli 19.2.7-1\nanime-games-launcher-bin 1.0.2-1\nappimagelauncher 2.2.0-9.8\nasciiquarium-transparent-git r24.cfe288e-1\naspell 0.60.8.1-2\naws-cli-v2-bin 2:2.22.15-1\nbaobab 48.0-2\nbase 3-2\nbase-devel 1-2\nbind 9.20.8-1\nbrave-bin 1:1.77.100-1\nbtop 1.4.0-5\ncabal-install 3.8.1.0-25\ncalc 2.15.1.0-1\ncbonsai 1.3.1-3\nccls 0.20241108-1\nchafa-git 1.14.5.r112.g9aa862e-1\nchaotic-keyring 20230616-1\nchaotic-mirrorlist 20240724-3\ncheese 44.1-3\ncinny-desktop 4.6.0-1.5\ncliphist 1:0.6.1-1\ncloc 2.04-1\ncloudflared 2025.4.0-1\ncmake 4.0.1-1\ncmatrix 2.0-3\ncrowdin-cli 4.7.0-1\ndependency-check-cli 12.1.0-1\ndiscord 1:0.0.91-1\ndkms 3.1.8-1\ndoctl 1.124.0-1\ndolphin 24.12.3-1\ndosbox-x 2025.02.01-1\ndosfstools 4.2-5\ndotnet-runtime-8.0 8.0.14.sdk114-1\ndotnet-sdk 9.0.3.sdk104-1\ndotnet-sdk-8.0 8.0.14.sdk114-1\ndotnet-targeting-pack-8.0 8.0.14.sdk114-1\ndowngrade 11.5.1-1\ndpkg 1.22.18-1\ndreamweb 1.1-1\nduckstation 0.1.7465-1.5\ndunst 1.12.2-1\nefibootmgr 18-3\nelisa 24.12.3-1\nemacs 30.1-4\nespanso-gui 24.7-1\nespanso-wayland 2.2.3-1\neternallands 1.9.7.0-0\neza 0.21.0-1\nfirefox 137.0.2-1\nflameshot 12.1.0-6\nflatpak-builder 1.4.4-1\nfluffychat 1.25.1-1.3\nflyctl 0.3.105-1\nfreetube-bin 0.23.3-1\ngameconqueror 0.17-10\nghc 9.4.8-1\nghostty-git 1.1.2.r307.ge07b6fd-1\ngimp 3.0.2-2\ngit 2.49.0-1\ngithub-cli 2.70.0-1\ngitleaks 8.24.3-1\ngnome-clocks 48.0-1\ngnome-keyring 1:48.0-1\ngnu-netcat 0.7.1-10\ngoogle-chat-linux-bin 5.29.23-1\ngoogle-chrome 135.0.7049.95-1\ngpu-usage-waybar-git 0.1.12.r17.g61ebe61-1\ngradle 8.13-1\ngrim 1.4.1-3\ngrimshot 1.10-1\ngrype-bin 0.91.0-1\ngst-plugin-pipewire 1:1.4.2-1\ngwenview-no-purpose 24.12.3-1\nhexchat 2.16.2-4\nhexedit 1.6-2\nhollywood 1.21-7\nhtop 3.4.1-1\nhunspell-en_gb 2020.12.07-5\nhyfetch 1.99.0-2\nicoutils 0.32.3-3\nid3v2 0.1.12-7\ninetutils 2.6-1\ninnoextract 1.9-12\ninsomnium 0.2.3_a-8\niwd 3.6-1\njoyutils 1.8.1-3\nkazam 1.4.5-9.8\nkdenlive 24.12.3-1\nkitty 0.41.1-1\nkotlin 2.1.20-1\nlazygit 0.49.0-1\nlib32-gnutls 3.8.9-1\nlib32-libpulse 17.0+r43+g3e2bb8a1e-1\nlib32-openal 1.24.3-1\nlibgnome-keyring 1:3.12.0+r14+g23438cc-1\nlibpulse 17.0+r43+g3e2bb8a1e-1\nlibqalculate 5.5.2-1\nlibredefender 0.7.0-2\nlibreoffice-fresh 25.2.2-2\nlibretro-beetle-psx-git 2747.80d3eba2-1\nlibretro-core-info 1.20.0-1\nlibretro-genesis-plus-gx 2217-1\nlibretro-mesen 2904-1\nlibretro-mesen-s 916-4\nlibretro-mgba 9298-2\nlibretro-picodrive 2736-1\nlibretro-sameboy 1720-3\nlibretro-shaders-slang 1648-1\nlibrewolf-bin 1:137.0.2_1-1\nlibscanmem-git 0.17.1103.0def8b2-1\nlinux 6.14.2.arch1-1\nlinux-firmware 20250408.c1a774f3-1\nlinux-headers 6.14.2.arch1-1\nlrzip 0.651-3\nluanti 5.11.0-1\nlutris 0.5.19-2\nlynx 2.9.2-1\nman-db 2.13.0-1\nmari0 1.6.2-5\nmommy 1.6.0-1\nmongodb 8.0.4-1.4\nmongodb-tools-bin 100.10.0-3\nmongosh-bin 2.5.0-1\nmpris-discord-rpc 0.2.2-1\nmpv 1:0.40.0-2\nmysql 9.2.0-1\nnano 8.4-1\nnasm 2.16.03-1\nncurses5-compat-libs 6.5-1.1\nneofetch 7.1.0-2\nnet-tools 2.10-3\nnetwork-manager-applet 1.36.0-1\nnetworkmanager 1.52.0-1\nneverwinter.nim-bin 2.0.1-1\nnmap 7.95-1\nnodejs-http-server 14.1.1-1\nnodejs-nativefier 52.0.0-1\nnotepad++ 8.7.6-1\nnotepadnext 0.11-1\nnoto-fonts 1:2025.04.01-1\nnoto-fonts-cjk 20240730-1\nnoto-fonts-emoji 1:2.047-1\nnoto-fonts-emoji-flags 20200120-1\nnpm-check-updates 17.1.16-1\nnvidia-dkms 570.133.07-1\nnvtop 3.2.0-1\nodilia 0.1.4-1\noneko 1.2.5-5.1\nopendoas 6.8.2-3\nopenrgb 0.9-4\norca 48.0-1\notf-compagnon 1.000-1\notf-font-awesome 6.7.2-1\notf-opendyslexic-nerd 3.3.0-1\npavucontrol 1:6.1-1\npcsx2-avx-git 2.3.281.r0.g01120f6-1\nperl-archive-zip 1.68-10\nperl-image-exiftool 13.25-1\nperl-net-telnet 3.05-6\nphp 8.4.6-1\npicom-git 12.5.r92.gb995372-1\npipes.sh 1.3.0-1\npipewire 1:1.4.2-1\npipewire-alsa 1:1.4.2-1\npipewire-jack 1:1.4.2-1\npipewire-pulse 1:1.4.2-1\npnpm 10.8.1-1\npokemon-colorscripts-git r114.5802ff67-1\npolkit-gnome 0.105-11\npolkit-kde-agent 6.3.4-1\npostgresql 17.4-1\nproton-ge-custom 2:GE.Proton9.23-1\nproton-vpn-gtk-app 4.9.6-1\npyright 1.1.399-1\npython-eyed3 0.9.7-3\npython-pipenv 2024.4.1-1\npython-pipx 1.7.1-2\npython-pyquery 2.0.1-1\npython-virtualenv 20.28.0-1\nqbittorrent 5.0.4-3\nqt5-wayland 5.15.16+kde+r60-1\nqt6-wayland 6.9.0-2\nquodlibet 4.6.0-5\nredact-bin 0.18.0-1\nreflector 2023-3\nresonance 0.1.3-1\nretroarch 1.20.0-2\nretroarch-assets-xmb 1:528-1\nroam 157.0.0.beta001-1\nrofimoji 6.5.0-2\nrpgvxace-rtp 100-3\nrpm-tools 4.20.1-1\nrsync 3.4.1-2\nruby 3.3.7-2\nsamrewritten-git r261.cac0291-1\nscanmem 0.17-10\nscrcpy 3.2-1\nsddm 0.21.0-6\nser2net 4.6.2-1\nsignal-desktop 7.51.0-1\nslack-cli 3.0.0-0\nslack-desktop 4.43.51-1\nslurp 1.5.0-1\nsmartmontools 7.4-2\nsonar-scanner 7.0.2.4839-1\nspacecadetpinball-bin 2.1.0-2\nspeedtest-cli 2.1.3-9\nspotdl 4.2.11-1\nspotify 1:1.2.60.564-2.6\nsquashfs-tools 4.6.1-2\nstarship 1.22.1-1\nsteam 1.0.0.82-2\nstrace 6.14-1\nsublime-text-4 4.4192-1\nswappy 1.5.1-2\nsway 1:1.10.1-2\nswaybg 1.2.1-1\nswayidle 1.8.0-2\nswaylock-effects 1.7.0.0-4.4\nsyft 1.20.0-1\ntailscale 1.82.5-1\nthefuck 3.32-11\nthunar 4.20.2-1\nthunderbird 137.0.1-1\ntk 8.6.16-1\ntransmission-cli 4.0.6-9\ntrayscale 0.14.3-2\ntrivy 0.61.1-1\nttf-firacode-nerd 3.3.0-1\nttf-font-awesome 6.7.2-1\nttf-jetbrains-mono-nerd 3.3.0-1\nttf-joypixels 8.0.0-2\nttf-symbola 14.00-2\nttf-twemoji 15.1.0-1\ntypescript 5.8.3-1\ntypescript-language-server 4.3.3-1\nunrar 1:7.1.6-1\nv4l2loopback-dkms 0.14.0-1\nvalgrind 3.24.0-3\nvercel 39.2.2-1\nvi 1:070224-6\nvim 9.1.1236-1\nvosk-api 0.3.50-5\nvsce 3.3.2-1\nvscodium 1.99.32562-1\nvscodium-marketplace 1.97.0-1\nw3m 0.5.3.git20230713_1-1\nwaybar 0.12.0-1\nwaybar-module-pacman-updates-git 0.2.7-1\nwebcamoid 9.2.3-1.5\nwebsocat 1.14.0-1\nwev 1.0.0-13\nwget 1.25.0-2\nwhatsapp-for-linux 1.7.0-1.3\nwine 10.5-1\nwireless_tools 30.pre9-4\nwireplumber 0.5.8-1\nwlogout 1.2.2-0.3\nwofi 1.4.1-1\nwofi-emoji 1.2-3\nwscat 5.2.0-2\nwxhexeditor 0.24-4\nxclip 0.13-6\nxdg-desktop-portal-hyprland 1.3.9-8\nxdg-desktop-portal-wlr 0.7.1-1\nxdg-utils 1.2.1-1\nxorg-server 21.1.16-1\nxorg-xcursorgen 1.0.8-2\nxorg-xhost 1.0.10-1\nxorg-xinit 1.4.4-1\nyamllint 1.37.0-1\nyay 12.4.2-1.1\nyq 3.4.3-2\nzen-browser-bin 1.11.3b-1\nzig 0.13.0-2\nzoom 6.4.3-1\nzsh 5.9-5\n```\n\n
", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::5", - "metadata": { - "title": "Development Environment" - }, - "title": "2.2. Explicit Installations", - "url": "https://docs.nhcarrigan.com/dev/environment#22-explicit-installations" - }, - { - "content": "2.3. Pinned Packages\n\nThese packages have updates ignored, due to incompatibility issues. This list is generated with `grep \"^IgnorePkg\" /etc/pacman.conf`.\n\n```ini frame=\"code\" title=\"pacman.conf\"\nIgnorePkg =\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::6", - "metadata": { - "title": "Development Environment" - }, - "title": "2.3. Pinned Packages", - "url": "https://docs.nhcarrigan.com/dev/environment#23-pinned-packages" - }, - { - "content": "2.4. All Packages\n\nThis is a complete list of all packages on the machine. This list is generated with `yay -Q`.\n\n:::caution\nThis list is quite large.\n:::\n\n
\n Expand List\n\n```txt frame=\"terminal\" title=\"yay -Q\"\n1password 8.10.72-27\n1password-cli 2.30.3-1\n7zip 24.09-3\na52dec 0.8.0-2\naalib 1.4rc5-18\nabseil-cpp 20250127.1-1\naccounts-qml-module 0.7-6\nacl 2.3.2-1\nact 0.2.76-1\nactivitywatch-bin 0.13.2-1\nadobe-source-code-pro-fonts 2.042u+1.062i+1.026vf-2\nadwaita-cursors 48.0-1\nadwaita-fonts 48.2-1\nadwaita-icon-theme 48.0-1\nadwaita-icon-theme-legacy 46.2-3\nalacarte 1:3.54.1-1\nalacritty 0.15.1-1\nalsa-card-profiles 1:1.4.2-1\nalsa-lib 1.2.14-1\nalsa-plugins 1:1.2.12-4\nalsa-topology-conf 1.2.5.1-4\nalsa-ucm-conf 1.2.14-1\nalsa-utils 1.2.14-1\namberol 2024.2-1\namd-ucode 20250408.c1a774f3-1\namor-debug 15.08.3-11\nandroid-tools 35.0.2-14\nandroid-udev 20250314-1\nangular-cli 19.2.7-1\nanime-games-launcher-bin 1.0.2-1\naom 3.12.1-1\napg 2.2.3-5\nappimagelauncher 2.2.0-9.8\nappmenu-gtk-module 24.05-1\nappstream 1.0.4-1\nappstream-glib 0.8.3-2\naquamarine 0.8.0-3\narchlinux-keyring 20250123-1\nargon2 20190702-6\naribb24 1.0.3-4\nasciiquarium-transparent-git r24.cfe288e-1\nasio 1.34.2-1\naspell 0.60.8.1-2\nat-spi2-core 2.56.1-1\natkmm 2.28.4-1\nattica 6.12.0-1\nattr 2.5.2-1\naudit 4.0.3-1\nautoconf 2.72-1\nautomake 1.17-1\navahi 1:0.8+r194+g3f79789-3\naws-cli-v2-bin 2:2.22.15-1\nayatana-ido 0.10.4-1\nbabl 0.1.112-1\nbaloo 6.12.0-1\nbaloo-widgets 24.12.3-1\nbaobab 48.0-2\nbase 3-2\nbase-devel 1-2\nbash 5.2.037-2\nbind 9.20.8-1\nbinutils 2.44-1\nbison 3.8.2-8\nblas 3.12.1-2\nbluez-libs 5.82-1\nbmon 4.0-5\nboost 1.87.0-3\nboost-libs 1.87.0-3\nbotan2 2.19.5-2\nbrave-bin 1:1.77.100-1\nbreeze-icons 6.12.0-1\nbreezy 3.3.9-4\nbridge-utils 1.7.1-2\nbrltty 6.7-5\nbrotli 1.1.0-3\nbtop 1.4.0-5\nbubblewrap 0.11.0-1\nbyobu 6.12-1\nbzip2 1.0.8-6\nc-ares 1.34.5-1\nca-certificates 20240618-1\nca-certificates-mozilla 3.110-1\nca-certificates-utils 20240618-1\ncabal-install 3.8.1.0-25\ncabextract 1.11-2\ncairo 1.18.4-1\ncairomm 1.14.5-1\ncairomm-1.16 1.18.0-1\ncal3d 0.11.0-7\ncal3d-debug 0.11.0-7\ncalc 2.15.1.0-1\ncantarell-fonts 1:0.303.1-2\ncapstone 5.0.6-1\ncbindgen 0.28.0-1\ncblas 3.12.1-2\ncbonsai 1.3.1-3\nccls 0.20241108-1\nccze 0.2.1-13\ncdparanoia 10.2-9\ncfitsio 1:4.6.2-1\nchafa-git 1.14.5.r112.g9aa862e-1\nchaotic-keyring 20230616-1\nchaotic-mirrorlist 20240724-3\ncheese 44.1-3\nchromaprint 1.5.1-10\ncifs-utils 7.3-1\ncinny-desktop 4.6.0-1.5\ncjson 1.7.18-1\nckb-next-debug 0.6.0-1\nclamav 1.4.2-1\nclang 19.1.7-1\nclang18 18.1.8-1\ncliphist 1:0.6.1-1\ncloc 2.04-1\ncloudflared 2025.4.0-1\nclucene 2.3.3.4-16\nclutter 1.26.4-3\nclutter-gst 3.0.27-5\nclutter-gtk 1.8.4-4\ncmake 4.0.1-1\ncmatrix 2.0-3\ncogl 1.22.8-3\ncolord 1.4.7-2\ncompiler-rt 19.1.7-1\ncompiler-rt18 18.1.8-1\ncomposefs 1.0.7-1\nconfuse 3.3-4\ncontainerd 2.0.5-1\nconvertlit 1.8-12\ncoreutils 9.7-1\ncpio 2.15-2\ncppdap 1.58.0-2\ncrowdin-cli 4.7.0-1\ncryptsetup 2.7.5-2\ncurl 8.13.0-2\ndav1d 1.5.1-1\ndb5.3 5.3.28-5\ndbus 1.16.2-1\ndbus-broker 36-4\ndbus-broker-units 36-4\ndbus-glib 0.114-1\ndconf 0.40.0-3\ndebugedit 5.1-1\ndebuginfod 0.192-4\ndefault-cursors 3-1\ndeno 2.2.7-1\ndependency-check-cli 12.1.0-1\ndesktop-file-utils 0.28-1\ndevice-mapper 2.03.31-1\ndiffutils 3.12-1\ndiscord 1:0.0.91-1\ndkms 3.1.8-1\ndnssec-anchors 20190629-4\ndocbook-xml 4.5-10\ndocbook-xsl 1.79.2-9\ndoctl 1.124.0-1\ndolphin 24.12.3-1\ndosbox-x 2025.02.01-1\ndosfstools 4.2-5\ndotconf 1.4.1-1\ndotnet-host 9.0.3.sdk104-1\ndotnet-runtime 9.0.3.sdk104-1\ndotnet-runtime-8.0 8.0.14.sdk114-1\ndotnet-sdk 9.0.3.sdk104-1\ndotnet-sdk-8.0 8.0.14.sdk114-1\ndotnet-targeting-pack 9.0.3.sdk104-1\ndotnet-targeting-pack-8.0 8.0.14.sdk114-1\ndouble-conversion 3.3.1-1\ndowngrade 11.5.1-1\ndpkg 1.22.18-1\ndreamweb 1.1-1\nduckstation 0.1.7465-1.5\nduktape 2.7.0-7\ndunst 1.12.2-1\ne2fsprogs 1.47.2-2\nebook-tools 0.2.2-8\nefibootmgr 18-3\nefivar 39-1\negl-gbm 1.1.2.1-1\negl-wayland 4:1.1.18-1\negl-x11 1.0.0-1\neglexternalplatform 1.2-2\nelectron25-bin 25.9.8-3\nelectron32 32.3.1-3\nelectron34 34.5.0-2\nelfutils 0.192-4\nelisa 24.12.3-1\nell 0.76-1\nemacs 30.1-4\nenchant 2.8.2-2\nenet 1.3.18-1\nespanso-gui 24.7-1\nespanso-wayland 2.2.3-1\neternallands 1.9.7.0-0\neternallands-debug 1.9.7.0-0\nexiv2 0.28.5-1\nexo 4.20.0-2\nexpat 2.7.1-1\nextra-cmake-modules 6.12.0-1\neza 0.21.0-1\nfaac 1.31.1-1\nfaad2 2.11.2-1\nfakeroot 1.37.1.1-1\nfaudio 25.04-1\nfaudio-debug 25.04-1\nfeh 3.10.3-1\nffmpeg 2:7.1-9\nffmpeg4.4 4.4.5-3\nffnvcodec-headers 13.0.19.0-1\nfftw 3.3.10-7\nfile 5.46-4\nfilesystem 2024.11.21-1\nfindutils 4.10.0-2\nfirefox 137.0.2-1\nflac 1.5.0-1\nflameshot 12.1.0-6\nflatbuffers 25.2.10-1\nflatpak 1:1.16.0-2\nflatpak-builder 1.4.4-1\nflex 2.6.4-5\nfluffychat 1.25.1-1.3\nfluidsynth 2.4.5-3\nflutter-bin 3.29.3-1\nflyctl 0.3.105-1\nflyctl-debug 0.3.105-1\nfmt 11.1.4-1\nfontconfig 2:2.16.2-1\nfreeglut 3.6.0-1\nfreetube-bin 0.23.3-1\nfreetube-nightly-debug 0.23.2_nightly_5764-1\nfreetype2 2.13.3-3\nfrei0r-plugins 2.3.3-3\nfribidi 1.0.16-1\nfuse-common 3.17.1-1\nfuse-overlayfs 1.14-2\nfuse2 2.9.9-5\nfuse3 3.17.1-1\nfzf 0.61.1-1\ngameconqueror 0.17-10\ngawk 5.3.2-1\ngc 8.2.8-2\ngcc 14.2.1+r753+g1cd744a6828f-1\ngcc-libs 14.2.1+r753+g1cd744a6828f-1\ngcr 3.41.2-2\ngcr-4 4.4.0.1-1\ngd 2.3.3-8\ngdb 16.2-1\ngdb-common 16.2-1\ngdbm 1.25-1\ngdk-pixbuf2 2.42.12-2\ngegl 0.4.58-1\ngensio 2.8.10-1\ngeoclue 2.7.2-1\ngeocode-glib-2 3.26.4-4\ngeocode-glib-common 3.26.4-4\ngettext 0.24-1\nghc 9.4.8-1\nghc-libs 9.4.8-1\nghostty-git 1.1.2.r307.ge07b6fd-1\nghostty-git-debug 1.1.2.r307.ge07b6fd-1\ngiflib 5.2.2-2\ngimp 3.0.2-2\ngit 2.49.0-1\ngit-lfs 3.6.1-1\ngithub-cli 2.70.0-1\ngitleaks 8.24.3-1\nglew 2.2.0-7\nglew1.10 1.10.0-4\nglib-networking 1:2.80.1-1\nglib2 2.84.1-1\nglibc 2.41+r9+ga900dbaf70f0-1\nglibmm 2.66.8-1\nglibmm-2.68 2.84.0-1\ngloox 1.0.28-1\nglslang 15.2.0-2\nglu 9.0.3-2\ngmp 6.3.0-2\ngn 0.2223.6e8e0d6d-1\ngnome-clocks 48.0-1\ngnome-desktop 1:44.1-1\ngnome-desktop-4 1:44.1-1\ngnome-desktop-common 1:44.1-1\ngnome-keyring 1:48.0-1\ngnome-menus 3.36.0-3\ngnome-video-effects 1:0.6.0-2\ngnu-free-fonts 20120503-8\ngnu-netcat 0.7.1-10\ngnulib-l10n 20241231-1\ngnupg 2.4.7-1\ngnutls 3.8.9-1\ngo 2:1.24.2-1\ngobject-introspection 1.84.0-1\ngobject-introspection-runtime 1.84.0-1\ngoogle-chat-linux-bin 5.29.23-1\ngoogle-chat-linux-bin-debug 5.29.23-1\ngoogle-chrome 135.0.7049.95-1\ngperf 3.1-5\ngperftools 2.16-1\ngpgme 1.24.2-1\ngpm 1.20.7.r38.ge82d1a6-6\ngpu-usage-waybar-git 0.1.12.r17.g61ebe61-1\ngradle 8.13-1\ngraphene 1.10.8-2\ngraphite 1:1.3.14-4\ngrep 3.12-1\ngrim 1.4.1-3\ngrimshot 1.10-1\ngroff 1.23.0-7\ngrype-bin 0.91.0-1\ngsettings-desktop-schemas 48.0-1\ngsettings-system-schemas 48.0-1\ngsfonts 20200910-4\ngsm 1.0.22-2\ngspell 1.14.0-2\ngssdp 1.6.3-2\ngst-libav 1.26.0-3\ngst-plugin-pipewire 1:1.4.2-1\ngst-plugins-bad 1.26.0-3\ngst-plugins-bad-libs 1.26.0-3\ngst-plugins-base 1.26.0-3\ngst-plugins-base-libs 1.26.0-3\ngst-plugins-good 1.26.0-3\ngst-plugins-ugly 1.26.0-3\ngstreamer 1.26.0-3\ngtest 1.16.0-2\ngtk-layer-shell 0.9.1-1\ngtk-update-icon-cache 1:4.18.4-1\ngtk2 2.24.33-5\ngtk3 1:3.24.49-1\ngtk4 1:4.18.4-1\ngtkmm-4.0 4.18.0-2\ngtkmm3 3.24.10-1\ngtksourceview3 1:3.24.11+r28+g73e57b57-2\nguile 3.0.10-1\ngulp 5.0.0-1\ngupnp 1:1.6.8-1\ngupnp-igd 1.6.0-1\ngvfs 1.57.2-2\ngwenview-no-purpose 24.12.3-1\ngwenview-no-purpose-debug 24.12.3-1\ngzip 1.14-1\nharfbuzz 11.0.1-1\nharfbuzz-icu 11.0.1-1\nhaskell-async 2.2.5-96\nhaskell-base-orphans 0.9.0-6\nhaskell-base16-bytestring 1.0.2.0-104\nhaskell-base64-bytestring 1.2.1.0-128\nhaskell-cabal-install-solver 3.8.1.0-9\nhaskell-cryptohash-sha256 0.11.102.1-115\nhaskell-data-array-byte 0.1.0.1-84\nhaskell-echo 0.1.4-6\nhaskell-ed25519 0.0.5.0-26\nhaskell-edit-distance 0.2.2.1-232\nhaskell-ghc-bignum-orphans 0.1.1-3\nhaskell-hackage-security 0.6.2.6-42\nhaskell-hashable 1.4.4.0-81\nhaskell-http 4000.4.1-262\nhaskell-lukko 0.1.1.3-221\nhaskell-network 3.1.4.0-44\nhaskell-network-uri 2.6.4.2-56\nhaskell-os-string 2.0.7-26\nhaskell-random 1.2.1.2-77\nhaskell-regex-base 0.94.0.3-2\nhaskell-regex-posix 0.96.0.2-2\nhaskell-resolv 0.2.0.2-225\nhaskell-safe-exceptions 0.1.7.4-45\nhaskell-splitmix 0.1.0.5-71\nhaskell-tar 0.5.1.1-196\nhaskell-th-compat 0.1.6-6\nhaskell-zlib 0.6.3.0-84\nhexchat 2.16.2-4\nhexedit 1.6-2\nhicolor-icon-theme 0.18-1\nhidapi 0.14.0-3\nhighway 1.2.0-1\nhollywood 1.21-7\nhtop 3.4.1-1\nhttp-parser 2.9.4-2\nhunspell 1.7.2-2\nhunspell-en_gb 2020.12.07-5\nhwdata 0.394-1\nhyfetch 1.99.0-2\nhyphen 2.8.8-6\nhyprcursor 0.1.12-2\nhyprgraphics 0.1.3-3\nhyprland-qt-support 0.1.0-5\nhyprland-qtutils 0.1.3-6\nhyprlang 0.6.1-1\nhyprutils 0.6.0-1\nhyprwayland-scanner 0.4.4-1\ni2c-tools 4.4-2\niana-etc 20250328-1\nicoutils 0.32.3-3\nicu 76.1-1\nid3lib 3.8.3-19\nid3v2 0.1.12-7\nimagemagick 7.1.1.47-1\nimake 1.0.10-2\nimath 3.1.12-3\nimlib2 1.12.5-1\ninetutils 2.6-1\ninnoextract 1.9-12\ninsomnium 0.2.3_a-8\nintltool 0.51.0-6\niproute2 6.14.0-1\niptables 1:1.8.11-2\niputils 20240905-1\niso-codes 4.18.0-1\niwd 3.6-1\njansson 2.14.1-1\njasper 4.2.5-1\njava-environment-common 3-6\njava-runtime-common 3-6\njbigkit 2.1-8\njdk17-openjdk 17.0.15.u6-1\njdk21-openjdk 21.0.7.u6-1\njemalloc 1:5.3.0-5\njoyutils 1.8.1-3\njp2a 1.3.2-1\njq 1.7.1-2\njson-c 0.18-1\njson-glib 1.10.6-1\njsoncpp 1.9.6-3\nkaccounts-integration 24.12.3-1\nkarchive 6.12.0-1\nkarchive5 5.116.0-1\nkauth 6.12.0-1\nkauth5 5.116.0-1\nkazam 1.4.5-9.8\nkbd 2.7.1-2\nkbookmarks 6.12.0-1\nkcmutils 6.12.0-1\nkcodecs 6.12.0-1\nkcodecs5 5.116.0-1\nkcolorpicker 0.3.1-4\nkcolorscheme 6.12.0-1\nkcompletion 6.12.0-1\nkconfig 6.12.0-1\nkconfig5 5.116.0-1\nkconfigwidgets 6.12.0-1\nkconfigwidgets5 5.116.0-1\nkcoreaddons 6.12.0-2\nkcoreaddons5 5.116.0-1\nkcrash 6.12.0-1\nkdbusaddons 6.12.0-1\nkdbusaddons5 5.116.0-1\nkddockwidgets-qt6 2.2.2-2.1\nkdenlive 24.12.3-1\nkdnssd 6.12.0-1\nkdoctools5 5.116.0-1\nkdsoap-qt6 2.2.0-1\nkdsoap-ws-discovery-client 0.4.0-1\nkeystone 0.9.2-7\nkeyutils 1.6.3-3\nkfilemetadata 6.12.0-1\nkglobalaccel 6.12.0-1\nkglobalaccel5 5.116.0-1\nkguiaddons 6.12.0-2\nkguiaddons5 5.116.0-1\nki18n 6.12.0-1\nki18n5 5.116.0-1\nkiconthemes 6.12.0-1\nkiconthemes5 5.116.0-1\nkidletime 6.12.0-1\nkimageannotator 0.7.1-3\nkio 6.12.0-1\nkio-extras 24.12.3-1\nkirigami 6.12.0-1\nkirigami-addons 1.7.0-1\nkitemmodels 6.12.0-1\nkitemviews 6.12.0-1\nkitemviews5 5.116.0-1\nkitty 0.41.1-1\nkitty-shell-integration 0.41.1-1\nkitty-terminfo 0.41.1-1\nkjobwidgets 6.12.0-1\nkmod 34.2-1\nknewstuff 6.12.0-1\nknotifications 6.12.0-2\nknotifyconfig 6.12.0-1\nkotlin 2.1.20-1\nkpackage 6.12.0-1\nkparts 6.12.0-1\nkrb5 1.21.3-1\nkservice 6.12.0-1\nksvg 6.12.0-1\nktextwidgets 6.12.0-1\nkuserfeedback 6.12.0-1\nkwallet 6.12.0-1\nkwidgetsaddons 6.12.0-2\nkwidgetsaddons5 5.116.0-1\nkwindowsystem 6.12.0-3\nkwindowsystem5 5.116.0-1\nkxmlgui 6.12.0-2\nkxmlgui5 5.116.0-1\nl-smash 2.14.5-4\nlame 3.100-5\nlapack 3.12.1-2\nlazygit 0.49.0-1\nlcms2 2.17-1\nldb 2:4.22.1-1\nleancrypto 1.3.0-1\nlensfun 1:0.3.4-5\nless 1:668-1\nlhasa 0.4.0-1\nlib32-acl 2.3.2-1\nlib32-alsa-lib 1.2.14-1\nlib32-alsa-plugins 1.2.12-1\nlib32-at-spi2-core 2.56.1-1\nlib32-attr 2.5.2-1\nlib32-audit 4.0.3-1\nlib32-brotli 1.1.0-1\nlib32-bzip2 1.0.8-4\nlib32-cairo 1.18.4-1\nlib32-curl 8.13.0-1\nlib32-dbus 1.16.2-1\nlib32-dbus-glib 0.112-3\nlib32-duktape 2.7.0-7\nlib32-e2fsprogs 1.47.2-1\nlib32-expat 2.7.1-1\nlib32-flac 1.5.0-1\nlib32-fontconfig 2:2.16.2-1\nlib32-freeglut 3.6.0-1\nlib32-freetype2 2.13.3-3\nlib32-fribidi 1.0.16-1\nlib32-gcc-libs 14.2.1+r753+g1cd744a6828f-1\nlib32-gdk-pixbuf2 2.42.12-2\nlib32-gettext 0.24-1\nlib32-giflib 5.2.2-1\nlib32-glew1.10 1.10.0-6\nlib32-glib-networking 1:2.80.1-1\nlib32-glib2 2.84.1-1\nlib32-glibc 2.41+r9+ga900dbaf70f0-1\nlib32-glu 9.0.3-2\nlib32-gmp 6.3.0-2\nlib32-gnutls 3.8.9-1\nlib32-gtk2 2.24.33-5\nlib32-harfbuzz 11.0.1-1\nlib32-icu 76.1-1\nlib32-imlib2 1.12.5-1\nlib32-json-c 0.18-1\nlib32-keyutils 1.6.3-2\nlib32-krb5 1.21.3-1\nlib32-libappindicator-gtk2 12.10.0.r298-2\nlib32-libasyncns 1:0.8+r3+g68cd5af-3\nlib32-libcaca 0.99.beta20-2\nlib32-libcanberra 1:0.30+r2+gc0620e4-3\nlib32-libcap 2.76-1\nlib32-libcups 2.4.11-1\nlib32-libcurl-compat 8.13.0-1\nlib32-libcurl-gnutls 8.13.0-1\nlib32-libdatrie 0.2.13-3\nlib32-libdbusmenu-glib 16.04.0-6\nlib32-libdbusmenu-gtk2 16.04.0-6\nlib32-libdrm 2.4.124-1\nlib32-libelf 0.192-2\nlib32-libffi 3.4.8-1\nlib32-libgcrypt 1.11.0-1\nlib32-libgcrypt15 1.5.6-8\nlib32-libglvnd 1.7.0-1\nlib32-libgpg-error 1.51-1\nlib32-libgudev 238-2\nlib32-libice 1.1.1-2\nlib32-libidn11 1.33-3\nlib32-libidn2 2.3.7-1\nlib32-libindicator-gtk2 12.10.1-10\nlib32-libjpeg-turbo 3.1.0-1\nlib32-libjpeg6-turbo 1.5.3-3\nlib32-libldap 2.6.9-1\nlib32-libltdl 2.5.4+r1+gbaa1fe41-1\nlib32-libmikmod 3.3.12-1\nlib32-libmodplug 0.8.9.0-5\nlib32-libnghttp2 1.65.0-1\nlib32-libnghttp3 1.8.0-1\nlib32-libnl 3.11.0-1\nlib32-libnm 1.52.0-1\nlib32-libnsl 2.0.1-1\nlib32-libogg 1.3.5-2\nlib32-libpcap 1.10.5-2\nlib32-libpciaccess 0.18.1-1\nlib32-libpipewire 1:1.4.2-1\nlib32-libpng 1.6.47-1\nlib32-libpng12 1.2.59-3\nlib32-libproxy 0.5.9-1\nlib32-libpsl 0.21.5-1\nlib32-libpulse 17.0+r43+g3e2bb8a1e-1\nlib32-librsvg 2:2.60.0-1\nlib32-librtmp0 2.4-6\nlib32-libsm 1.2.4-2\nlib32-libsndfile 1.2.2-3\nlib32-libsoup 2.74.3-2\nlib32-libssh2 1.11.1-1\nlib32-libtasn1 4.20.0-1\nlib32-libthai 0.1.29-3\nlib32-libtheora 1.1.1-14\nlib32-libtiff 4.7.0-1\nlib32-libtiff4 3.9.7-6\nlib32-libtirpc 1.3.6-1\nlib32-libudev0-shim 2-1\nlib32-libunistring 1.3-1\nlib32-libunwind 1.8.1-1\nlib32-libusb 1.0.28-1\nlib32-libva 2.22.0-1\nlib32-libvdpau 1.5-3\nlib32-libvorbis 1.3.7-4\nlib32-libvpx 1.15.0-1\nlib32-libvpx1.3 1.3.0-4\nlib32-libwebp 1.5.0-1\nlib32-libx11 1.8.12-1\nlib32-libxau 1.0.11-2\nlib32-libxcb 1.17.0-1\nlib32-libxcomposite 0.4.6-2\nlib32-libxcrypt 4.4.38-1\nlib32-libxcrypt-compat 4.4.38-1\nlib32-libxcursor 1.2.3-1\nlib32-libxdamage 1.1.6-2\nlib32-libxdmcp 1.1.5-1\nlib32-libxext 1.3.6-1\nlib32-libxfixes 6.0.1-2\nlib32-libxft 2.3.8-2\nlib32-libxi 1.8.2-1\nlib32-libxinerama 1.1.5-2\nlib32-libxkbcommon 1.8.1-1\nlib32-libxml2 2.13.7-1\nlib32-libxmu 1.2.1-1\nlib32-libxrandr 1.5.4-1\nlib32-libxrender 0.9.11-2\nlib32-libxshmfence 1.3.3-1\nlib32-libxss 1.2.4-2\nlib32-libxt 1.3.1-1\nlib32-libxtst 1.2.5-2\nlib32-libxxf86vm 1.1.5-2\nlib32-llvm-libs 1:19.1.7-1\nlib32-lm_sensors 1:3.6.0.r41.g31d1f125-3\nlib32-lzo 2.10-2\nlib32-mesa 1:25.0.3-1\nlib32-mpg123 1.32.10-1\nlib32-ncurses 6.5-1\nlib32-nettle 3.10.1-1\nlib32-nspr 4.36-1\nlib32-nss 3.110-1\nlib32-nvidia-utils 570.133.07-1\nlib32-openal 1.24.3-1\nlib32-openssl 1:3.5.0-1\nlib32-openssl-1.1 1.1.1.w-2\nlib32-opus 1.5.2-1\nlib32-p11-kit 0.25.5-1\nlib32-pam 1.7.0-1\nlib32-pango 1:1.56.3-1\nlib32-pcre2 10.45-1\nlib32-pipewire 1:1.4.2-1\nlib32-pixman 0.44.2-1\nlib32-sdl12-compat 1.2.68-2\nlib32-sdl2-compat 2.32.54-1\nlib32-sdl2-debug 2.30.11-2\nlib32-sdl2_image 2.8.4-1\nlib32-sdl2_mixer 2.8.0-1\nlib32-sdl2_ttf 2.24.0-1\nlib32-sdl3 3.2.10-1\nlib32-sdl_image 1.2.12-9\nlib32-sdl_mixer 1.2.12-6\nlib32-sdl_ttf 2.0.11-9\nlib32-speex 1.2.1-2\nlib32-spirv-tools 1:1.4.309.0-1\nlib32-sqlite 3.49.1-1\nlib32-systemd 257.5-1\nlib32-tdb 1.4.12-1\nlib32-util-linux 2.41-1\nlib32-vulkan-icd-loader 1.4.309.0-1\nlib32-wayland 1.23.1-1\nlib32-xz 5.8.1-1\nlib32-zlib 1.3.1-2\nlib32-zstd 1.5.7-2\nlibabw 0.1.3-4\nlibaccounts-glib 1.27-2\nlibaccounts-qt 1.17-1\nlibadwaita 1:1.7.2-1\nlibaio 0.3.113-3\nlibajantv2 1:17.1.0-2\nlibao 1.2.2-6\nlibappimage 1.0.4.5-9\nlibappindicator-gtk3 12.10.0.r298-4\nlibarchive 3.7.9-1\nlibass 0.17.3-1\nlibassuan 3.0.0-1\nlibasyncns 1:0.8+r3+g68cd5af-3\nlibatasmart 0.19-6\nlibatomic_ops 7.8.2-1\nlibavc1394 0.5.4-6\nlibavif 1.2.1-1\nlibavtp 0.2.0-3\nlibayatana-appindicator 0.5.94-1\nlibayatana-indicator 0.9.4-1\nlibb2 0.98.1-3\nlibb64 1.2.1-5\nlibbacktrace 1.0.git1-1\nlibblockdev 3.3.0-1\nlibblockdev-crypto 3.3.0-1\nlibblockdev-fs 3.3.0-1\nlibblockdev-loop 3.3.0-1\nlibblockdev-mdraid 3.3.0-1\nlibblockdev-nvme 3.3.0-1\nlibblockdev-part 3.3.0-1\nlibblockdev-swap 3.3.0-1\nlibbluray 1.3.4-2\nlibbpf 1.5.0-1\nlibbs2b 3.1.0-9\nlibbsd 0.12.2-2\nlibbytesize 2.11-1\nlibcaca 0.99.beta20-5\nlibcamera 0.5.0-1\nlibcamera-ipa 0.5.0-1\nlibcanberra 1:0.30+r2+gc0620e4-4\nlibcap 2.76-1\nlibcap-ng 0.8.5-3\nlibcbor 0.11.0-1\nlibcdio 2.2.0-1\nlibcdio-paranoia 10.2+2.0.2-1\nlibcdr 0.1.8-2\nlibcgif 0.5.0-1\nlibcheese 44.1-3\nlibcloudproviders 0.3.6-1\nlibcmis 0.6.2-3\nlibcolord 1.4.7-2\nlibconfig 1.7.3-3\nlibcups 2:2.4.12-1\nlibcurl-compat 8.13.0-2\nlibcurl-gnutls 8.13.0-2\nlibdaemon 0.14-6\nlibdatachannel 0.21.2-2\nlibdatrie 0.2.13-4\nlibdbusmenu-glib 16.04.0.r498-2\nlibdbusmenu-gtk2 16.04.0.r498-2\nlibdbusmenu-gtk3 16.04.0.r498-2\nlibdbusmenu-qt5 0.9.3+16.04.20160218-7\nlibdc1394 2.2.7-1\nlibdca 0.0.7-2\nlibde265 1.0.15-3\nlibdecor 0.2.2-1\nlibdeflate 1.23-1\nlibdisplay-info 0.2.0-2\nlibdovi 3.3.1-1\nlibdrm 2.4.124-1\nlibdv 1.0.0-11\nlibdvbpsi 1:1.3.3-3\nlibdvdnav 6.1.1-2\nlibdvdread 6.1.3-2\nlibe-book 0.1.3-17\nlibebml 1.4.5-1\nlibebur128 1.2.6-2\nlibedit 20250104_3.1-1\nlibei 1.4.0-1\nlibelectron 2025.3-1\nlibelectron-debug 2025.3-1\nlibelf 0.192-4\nlibepoxy 1.5.10-3\nlibepubgen 0.1.1-5\nlibetonyek 0.1.12-2\nlibev 4.33-3\nlibevdev 1.13.4-1\nlibevent 2.1.12-4\nlibexif 0.6.25-1\nlibexttextcat 3.4.7-1\nlibfdk-aac 2.0.3-1\nlibffi 3.4.8-1\nlibfido2 1.15.0-1\nlibfontenc 1.1.8-1\nlibfreeaptx 0.2.2-1\nlibfreehand 0.1.2-5\nlibgccjit 14.2.1+r753+g1cd744a6828f-1\nlibgcrypt 1.11.0-3\nlibgcrypt15 1.5.6-6\nlibgdiplus 6.2-1\nlibgexiv2 0.14.3-2\nlibgirepository 1.84.0-1\nlibgit2 1:1.9.0-2\nlibglvnd 1.7.0-1\nlibgme 0.6.4-1\nlibgnome-keyring 1:3.12.0+r14+g23438cc-1\nlibgpg-error 1.53-1\nlibgtop 2.41.3-2\nlibgudev 238-1\nlibgusb 0.4.9-2\nlibgweather-4 4.4.4-1\nlibheif 1.19.7-3\nlibibus 1.5.31-2\nlibice 1.1.2-1\nlibidn 1.43-1\nlibidn11 1.33-2\nlibidn2 2.3.7-1\nlibiec61883 1.2.0-8\nlibimagequant 4.3.4-1\nlibimobiledevice 1.3.0-16\nlibimobiledevice-glue 1.3.1-1\nlibindicator-gtk2 12.10.1-10\nlibinih 58-1\nlibinput 1.28.1-1\nlibinstpatch 1.1.6-3\nlibisl 0.27-1\nlibixion 0.20.0-1\nlibjpeg-turbo 3.1.0-1\nlibjpeg6-turbo 1.5.3-2\nlibjuice 1.5.2-1\nlibjxl 0.11.1-3\nlibkdcraw 24.12.3-1\nlibkexiv2 24.12.3-1\nlibkeybinder3 0.3.2-5\nlibksba 1.6.7-2\nliblangtag 0.6.7-1\nliblc3 1.1.3-1\nlibldac 2.0.2.3-2\nlibldap 2.6.9-1\nlibliftoff 0.5.0-1\nliblouis 3.33.0-1\nliblqr 0.4.3-1\nliblrdf 0.6.1-5\nlibltc 1.3.2-2\nlibmad 0.15.1b-10\nlibmalcontent 0.13.0-1\nlibmanette 0.2.12-1\nlibmatroska 1.7.1-2\nlibmaxminddb 1.12.2-2\nlibmd 1.1.0-2\nlibmfx 23.2.2-3\nlibmicrodns 0.2.0-2\nlibmicrohttpd 1.0.1-1\nlibmikmod 3.3.12-1\nlibmm-glib 1.24.0-1\nlibmng 2.0.3-4\nlibmnl 1.0.5-2\nlibmodplug 0.8.9.0-6\nlibmpc 1.3.1-2\nlibmpcdec 1:0.1+r475-6\nlibmpdclient 2.22-1\nlibmpeg2 0.5.1-10\nlibmspack 1:1.11-1\nlibmspub 0.1.4-17\nlibmtp 1.1.22-1\nlibmwaw 0.3.22-3\nlibmypaint 1.6.1-2\nlibmysofa 1.3.3-1\nlibmysqlclient 9.2.0-1\nlibnatpmp 20230423-3\nlibndp 1.9-1\nlibnet 2:1.3-1\nlibnetfilter_conntrack 1.0.9-2\nlibnewt 0.52.25-1\nlibnfnetlink 1.0.2-2\nlibnftnl 1.2.9-1\nlibnghttp2 1.65.0-1\nlibnghttp3 1.8.0-1\nlibngtcp2 1.12.0-1\nlibnice 0.1.22-1\nlibnl 3.11.0-1\nlibnm 1.52.0-1\nlibnma 1.10.6-3\nlibnma-common 1.10.6-3\nlibnoise 1.0.0-7\nlibnotify 0.8.6-1\nlibnsl 2.0.1-1\nlibnumbertext 1.0.11-2\nlibnvme 1.12-2\nlibodfgen 0.1.8-3\nlibogg 1.3.5-2\nlibolm 3.2.16-5\nlibomxil-bellagio 0.9.3-5\nlibopenmpt 0.7.13-2\nliborcus 0.20.0-1\nlibotf 0.9.16-5\nlibp11-kit 0.25.5-1\nlibpagemaker 0.0.4-4\nlibpcap 1.10.5-2\nlibpciaccess 0.18.1-2\nlibpgm 5.3.128-3\nlibpipeline 1.5.8-1\nlibpipewire 1:1.4.2-1\nlibplacebo 7.349.0-6\nlibplist 2.6.0-2\nlibpng 1.6.47-1\nlibpng12 1.2.59-2\nlibproxy 0.5.9-1\nlibpsl 0.21.5-2\nlibpulse 17.0+r43+g3e2bb8a1e-1\nlibqalculate 5.5.2-1\nlibqxp 0.0.2-13\nlibraqm 0.10.2-1\nlibraw 0.21.3-1\nlibraw1394 2.1.2-4\nlibredefender 0.7.0-2\nlibreoffice-fresh 25.2.2-2\nlibretro-beetle-psx-git 2747.80d3eba2-1\nlibretro-beetle-psx-git-debug 2747.80d3eba2-1\nlibretro-core-info 1.20.0-1\nlibretro-genesis-plus-gx 2217-1\nlibretro-mesen 2904-1\nlibretro-mesen-s 916-4\nlibretro-mgba 9298-2\nlibretro-picodrive 2736-1\nlibretro-sameboy 1720-3\nlibretro-shaders-slang 1648-1\nlibrevenge 0.0.5-3\nlibrewolf-bin 1:137.0.2_1-1\nlibrewolf-bin-debug 1:137.0.2_1-1\nlibrist 0.2.11-1\nlibrsvg 2:2.60.0-1\nlibrsync 1:2.3.4-2\nlibrtmp0 2.4-6\nlibsamplerate 0.2.2-3\nlibsasl 2.1.28-5\nlibscanmem-git 0.17.1103.0def8b2-1\nlibseccomp 2.5.6-1\nlibsecret 0.21.7-1\nlibshout 1:2.4.6-3\nlibsigc++ 2.12.1-1\nlibsigc++-3.0 3.6.0-1\nlibsixel 1.10.5-1\nlibslirp 4.9.0-1\nlibsm 1.2.6-1\nlibsndfile 1.2.2-3\nlibsodium 1.0.20-1\nlibsoup 2.74.3-1\nlibsoup3 3.6.5-1\nlibsoxr 0.1.3-4\nlibspeechd 0.12.0-1\nlibspiro 1:20240903-1\nlibspng 0.7.4-2\nlibsrtp 1:2.7.0-1\nlibssh 0.11.1-1\nlibssh2 1.11.1-1\nlibstaroffice 0.0.7-4\nlibstemmer 2.2.0-2\nlibsysprof-capture 48.0-4\nlibtar 1.2.20-7\nlibtasn1 4.20.0-1\nlibteam 1.32-2\nlibthai 0.1.29-3\nlibtheora 1.1.1-6\nlibtiff 4.7.0-1\nlibtiff4 3.9.7-6\nlibtirpc 1.3.6-1\nlibtommath 1.3.0-1\nlibtool 2.5.4+r1+gbaa1fe41-3\nlibtorrent-rasterbar 1:2.0.11-3\nlibudev0-shim 2-1\nlibunibreak 6.1-1\nlibunistring 1.3-1\nlibunwind 1.8.1-3\nlibupnp 1.14.20-2\nliburcu 0.15.1-1\nliburing 2.9-1\nlibusb 1.0.28-1\nlibusbmuxd 2.1.0-1\nlibutempter 1.2.3-1\nlibuv 1.50.0-1\nlibva 2.22.0-1\nlibvdpau 1.5-3\nlibverto 0.3.2-5\nlibvips 8.16.1-2\nlibvisio 0.1.8-2\nlibvlc 3.0.21-16\nlibvorbis 1.3.7-4\nlibvpl 2.14.0-1\nlibvpx 1.15.0-1\nlibvpx1.3 1.3.0-3\nlibwacom 2.15.0-1\nlibwbclient 2:4.22.1-1\nlibwebp 1.5.0-1\nlibwireplumber 0.5.8-1\nlibwmf 0.2.13-4\nlibwnck3 43.2-1\nlibwpd 0.10.3-5\nlibwps 0.4.14-3\nlibx11 1.8.12-1\nlibxau 1.0.12-1\nlibxaw 1.0.16-1\nlibxcb 1.17.0-1\nlibxcomposite 0.4.6-2\nlibxcrypt 4.4.38-1\nlibxcrypt-compat 4.4.38-1\nlibxcursor 1.2.3-1\nlibxcvt 0.1.3-1\nlibxdamage 1.1.6-2\nlibxdmcp 1.1.5-1\nlibxext 1.3.6-1\nlibxfce4ui 4.20.1-1\nlibxfce4util 4.20.1-1\nlibxfixes 6.0.1-2\nlibxfont2 2.0.7-1\nlibxft 2.3.8-2\nlibxi 1.8.2-1\nlibxinerama 1.1.5-2\nlibxkbcommon 1.8.1-1\nlibxkbcommon-x11 1.8.1-1\nlibxkbfile 1.1.3-1\nlibxml2 2.13.7-1\nlibxmlb 0.3.22-1\nlibxmu 1.2.1-1\nlibxpm 3.5.17-2\nlibxpresent 1.0.1-2\nlibxrandr 1.5.4-1\nlibxrender 0.9.12-1\nlibxres 1.2.2-2\nlibxshmfence 1.3.3-1\nlibxslt 1.1.43-1\nlibxss 1.2.4-2\nlibxt 1.3.1-1\nlibxtst 1.2.5-1\nlibxv 1.0.13-1\nlibxxf86vm 1.1.6-1\nlibyaml 0.2.5-3\nlibyuv r2426+464c51a03-1\nlibzip 1.11.3-1\nlibzmf 0.0.2-17\nlicenses 20240728-1\nlilv 0.24.26-1\nlinux 6.14.2.arch1-1\nlinux-api-headers 6.14-1\nlinux-firmware 20250408.c1a774f3-1\nlinux-firmware-whence 20250408.c1a774f3-1\nlinux-headers 6.14.2.arch1-1\nlld 19.1.7-1\nlld18 18.1.6-2\nllhttp 9.2.1-2\nllvm 19.1.7-1\nllvm-libs 19.1.7-1\nllvm18-libs 18.1.8-1\nlm_sensors 1:3.6.0.r41.g31d1f125-3\nlmdb 0.9.33-1\nlove 11.5-1\nlpsolve 5.5.2.11-3\nlrexlib-pcre5.1 2.9.0-2\nlrzip 0.651-3\nlsb-release 2.0.r55.a25a4fc-1\nlsof 4.99.4-1\nlua 5.4.7-1\nlua-yajl 2.0-2\nlua51 5.1.5-12\nlua51-filesystem 1.8.0-5\nlua51-lcf 5.1-3\nlua51-luautf8 0.1.6-1\nlua51-sql-sqlite 2.3.0-4\nluajit 2.1.1741730670-1\nluanti 5.11.0-1\nluanti-common 5.11.0-1\nluarocks 3.11.1-2\nluazip5.1 1.2.7-1\nlutris 0.5.19-2\nlv2 1.18.10-1\nlynx 2.9.2-1\nlz4 1:1.10.0-2\nlzo 2.10-5\nm17n-db 1.8.8-1\nm17n-lib 1.8.4-4\nm4 1.4.19-3\nmailcap 2.1.54-2\nmake 4.4.1-2\nman-db 2.13.0-1\nmari0 1.6.2-5\nmbedtls 3.6.3-1\nmbedtls2 2.28.10-1\nmd4c 0.5.2-1\nmdadm 4.4-1\nmedia-player-info 26-1\nmesa 1:25.0.3-1\nmesa-utils 9.0.0-5\nminiupnpc 2.3.0-1\nminizip 1:1.3.1-2\nmjpegtools 2.2.1-2\nmkinitcpio 39.2-3\nmkinitcpio-busybox 1.36.1-1\nmlt 7.30.0-1\nmobile-broadband-provider-info 20240407-1\nmommy 1.6.0-1\nmongodb 8.0.4-1.4\nmongodb-tools-bin 100.10.0-3\nmongosh-bin 2.5.0-1\nmongosh-bin-debug 2.5.0-1\nmono 6.12.0.206-1\nmono-msbuild 16.10.1.xamarinxplat.2021.05.26.14.00-5\nmoosync-debug 11.0.1-2\nmoreutils 0.70-1\nmpdecimal 4.0.0-2\nmpfr 4.2.2-1\nmpg123 1.32.10-1\nmpris-discord-rpc 0.2.2-1\nmpris-discord-rpc-debug 0.2.2-1\nmpv 1:0.40.0-2\nmtdev 1.1.7-1\nmujs 1.3.6-1\nmypaint-brushes1 1.3.1-2\nmysql 9.2.0-1\nmysql-clients 9.2.0-1\nnano 8.4-1\nnasm 2.16.03-1\nncompress 5.0-3\nncurses 6.5-3\nncurses5-compat-libs 6.5-1.1\nneofetch 7.1.0-2\nneon 0.34.2-1\nnet-tools 2.10-3\nnetstandard-targeting-pack 9.0.3.sdk104-1\nnettle 3.10.1-1\nnetwork-manager-applet 1.36.0-1\nnetworkmanager 1.52.0-1\nnetworkmanager-openvpn 1.12.0-1\nneverwinter.nim-bin 2.0.1-1\nninja 1.12.1-2\nnlohmann-json 3.12.0-1\nnm-connection-editor 1.36.0-1\nnmap 7.95-1\nnode-gyp 11.2.0-1\nnodejs 23.9.0-1\nnodejs-http-server 14.1.1-1\nnodejs-nativefier 52.0.0-1\nnodejs-nopt 7.2.1-1\nnotepad++ 8.7.6-1\nnotepadnext 0.11-1\nnoto-fonts 1:2025.04.01-1\nnoto-fonts-cjk 20240730-1\nnoto-fonts-emoji 1:2.047-1\nnoto-fonts-emoji-flags 20200120-1\nnpm 11.3.0-1\nnpm-check-updates 17.1.16-1\nnpth 1.8-1\nnspr 4.36-1\nnss 3.110-1\nnumactl 2.0.19-1\nnvidia-dkms 570.133.07-1\nnvidia-utils 570.133.07-1\nnvtop 3.2.0-1\nobs-retro-effects-debug 1.0.0-1\nobs-studio-liberty-debug 31.0.3-1\nocl-icd 2.3.2-2\nodilia 0.1.4-1\noneko 1.2.5-5.1\noniguruma 6.9.10-1\nopenal 1.24.3-1\nopencore-amr 0.1.6-2\nopendoas 6.8.2-3\nopenexr 3.3.3-1\nopenh264 2.6.0-1\nopenjpeg2 2.5.3-1\nopenlinkhub-bin-debug 0.5.1-4\nopenrgb 0.9-4\nopenssh 10.0p1-3\nopenssl 3.5.0-1\nopenssl-1.0 1.0.2.u-6\nopenssl-1.1 1.1.1.w-2\nopenvpn 2.6.14-1\nopus 1.5.2-1\nopusfile 0.12-4\norc 0.4.41-1\norca 48.0-1\nostree 2025.2-2\notf-compagnon 1.000-1\notf-font-awesome 6.7.2-1\notf-opendyslexic-nerd 3.3.0-1\np11-kit 0.25.5-1\npacman 7.0.0.r6.gc685ae6-2\npacman-contrib 1.11.0-1\npacman-mirrorlist 20250311-1\npahole 1:1.29-1\npam 1.7.0-2\npambase 20230918-2\npango 1:1.56.3-1\npangomm 2.46.4-1\npangomm-2.48 2.56.1-1\nparted 3.6-2\npatch 2.8-1\npatchelf 0.18.0-3\npatchutils 0.4.2-3\npavucontrol 1:6.1-1\npciutils 3.13.0-2\npcre 8.45-4\npcre2 10.45-1\npcsclite 2.3.3-1\npcsx2-avx-git 2.3.281.r0.g01120f6-1\nperl 5.40.2-1\nperl-algorithm-diff 1:1.201-6\nperl-archive-zip 1.68-10\nperl-class-method-modifiers 2.15-4\nperl-clone 0.47-1\nperl-curses 1.45-2\nperl-data-optlist 0.114-4\nperl-devel-globaldestruction 0.14-11\nperl-encode-locale 1.05-13\nperl-error 0.17030-1\nperl-file-listing 6.16-4\nperl-html-parser 3.83-1\nperl-html-tagset 3.24-2\nperl-http-cookiejar 0.014-3\nperl-http-cookies 6.11-2\nperl-http-daemon 6.16-4\nperl-http-date 6.06-3\nperl-http-message 7.00-1\nperl-http-negotiate 6.01-14\nperl-image-exiftool 13.25-1\nperl-import-into 1.002005-11\nperl-io-html 1.004-6\nperl-io-tty 1.20-2\nperl-ipc-run 20231003.0-2\nperl-libwww 6.78-1\nperl-lwp-mediatypes 6.04-6\nperl-mailtools 2.22-1\nperl-module-runtime 0.017-1\nperl-moo 2.005005-4\nperl-net-http 6.23-4\nperl-net-telnet 3.05-6\nperl-parallel-forkmanager 2.03-2\nperl-params-util 1.102-6\nperl-regexp-common 2024080801-2\nperl-role-tiny 2.002004-6\nperl-sub-exporter 0.991-2\nperl-sub-exporter-progressive 0.001013-11\nperl-sub-install 0.929-2\nperl-sub-quote 1:2.006008-4\nperl-term-animation 2.6-12\nperl-time-duration 1:1.21-2\nperl-timedate 2.33-7\nperl-try-tiny 0.32-2\nperl-uri 5.31-1\nperl-www-robotrules 6.02-14\nperl-xml-parser 2.47-2\nphonon-qt6 4.12.0-4\nphonon-qt6-vlc 0.12.0-2\nphp 8.4.6-1\nphysfs 3.2.0-2\npicom-git 12.5.r92.gb995372-1\npinentry 1.3.1-5\npipes.sh 1.3.0-1\npipewire 1:1.4.2-1\npipewire-alsa 1:1.4.2-1\npipewire-audio 1:1.4.2-1\npipewire-jack 1:1.4.2-1\npipewire-pulse 1:1.4.2-1\npixman 0.44.2-1\npkcs11-helper 1.30.0-1\npkgconf 2.4.3-1\nplasma-activities 6.3.4-1\nplay.it-git 2.29.1.r1.g03ba243f-1\nplayerctl 2.4.1-4\nplocate 1.1.23-1\npnpm 10.8.1-1\npokemon-colorscripts-git r114.5802ff67-1\npolkit 126-2\npolkit-gnome 0.105-11\npolkit-kde-agent 6.3.4-1\npolkit-qt5 0.200.0-1\npolkit-qt6 0.200.0-1\npoppler 25.04.0-1\npoppler-data 0.4.12-2\npoppler-glib 25.04.0-1\npoppler-qt6 25.04.0-1\npopt 1.19-2\nportaudio 1:19.7.0-3\npostgresql 17.4-1\npostgresql-libs 17.4-1\nprocps-ng 4.0.5-3\nprotobuf 30.1-1\nproton-ge-custom 2:GE.Proton9.23-1\nproton-vpn-gtk-app 4.9.6-1\npsmisc 23.7-1\npugixml 1.15-2\npurpose 6.12.0-1\npyright 1.1.399-1\npython 3.13.3-1\npython-aiohappyeyeballs 2.5.0-1\npython-aiohttp 3.10.11-1\npython-aiosignal 1.3.1-8\npython-annotated-types 0.7.0-2\npython-anyio 4.8.0-1\npython-argcomplete 3.5.3-1\npython-asgiref 3.8.1-2\npython-attrs 24.1.0-1\npython-autocommand 2.2.2-7\npython-bandcamp-api 0.2.3-2.1\npython-bcrypt 4.2.1-2\npython-beautifulsoup4 4.13.3-1\npython-cairo 1.28.0-1\npython-capstone 5.0.6-1\npython-certifi 2025.01.31-1\npython-cffi 1.17.1-2\npython-charset-normalizer 3.4.1-1\npython-click 8.1.8-1\npython-colorama 0.4.6-5\npython-configargparse 1.5.5-3\npython-configobj 5.0.9-5\npython-cryptography 44.0.2-1\npython-cssselect 1.2.0-8\npython-dacite 1.9.2-2\npython-dateutil 2.9.0-6\npython-dbus 1.4.0-1\npython-decorator 5.2.1-1\npython-demjson3 3.0.6-2.1\npython-deprecated 1.2.18-1\npython-deprecation 2.1.0-10\npython-distlib 0.3.9-2\npython-distro 1.9.0-3\npython-distutils-extra 2.39-14\npython-dotenv 1.1.0-1\npython-dulwich 0.22.8-1\npython-evdev 1.9.0-1\npython-eyed3 0.9.7-3\npython-factory-boy 3.3.3-1\npython-faker 37.1.0-1\npython-fastapi 0.115.12-1\npython-fastbencode 0.3.1-2\npython-fastjsonschema 2.21.1-1\npython-feedparser 6.0.11-3\npython-filelock 3.18.0-1\npython-filetype 1.2.0-6\npython-frozenlist 1.4.1-4\npython-gnupg 0.5.4-2\npython-gobject 3.52.3-3\npython-h11 0.14.0-6\npython-html5lib 1.1-15\npython-httplib2 0.22.0-8\npython-httptools 0.6.4-1\npython-idna 3.10-2\npython-importlib-metadata 7.2.1-4\npython-inflect 7.5.0-1\npython-iniconfig 2.1.0-1\npython-jaconv 0.4.0-1\npython-jaraco.classes 3.4.0-2\npython-jaraco.collections 5.1.0-1\npython-jaraco.context 6.0.1-1\npython-jaraco.functools 4.1.0-1\npython-jaraco.text 4.0.0-2\npython-jeepney 0.9.0-1\npython-jinja 1:3.1.5-1\npython-keyboard 0.13.5-2\npython-keyring 25.6.0-1\npython-keystone 0.9.2-7\npython-loguru 0.7.2-3\npython-lxml 5.3.2-1\npython-magic 1:0.4.27-5\npython-mako 1.3.9-1\npython-markdown 3.7-2\npython-markdown-it-py 3.0.0-4\npython-markupsafe 2.1.5-3\npython-mdurl 0.1.2-8\npython-merge3 0.0.15-2\npython-moddb 0.12.0-1\npython-more-itertools 10.6.0-1\npython-multidict 6.0.5-4\npython-mutagen 1.47.0-3\npython-numpy 2.2.4-1\npython-ordered-set 4.1.0-7\npython-packaging 24.2-3\npython-pathspec 0.12.1-3\npython-patiencediff 0.2.15-2\npython-pexpect 4.9.0-4\npython-pillow 11.2.1-1\npython-pip 25.0.1-1\npython-pipenv 2024.4.1-1\npython-pipx 1.7.1-2\npython-platformdirs 4.3.6-2\npython-pluggy 1.5.0-3\npython-proton-core 0.4.0-4\npython-proton-keyring-linux 0.2.0-4\npython-proton-vpn-api-core 0.42.4-1\npython-proton-vpn-local-agent 1.4.5-1\npython-proton-vpn-network-manager 0.12.13-1\npython-psutil 7.0.0-1\npython-ptyprocess 0.7.0-8\npython-pycparser 2.22-3\npython-pydantic 2.11.3-1\npython-pydantic-core 2:2.33.1-1\npython-pydantic-extra-types 2.10.3-1\npython-pydantic-settings 2.8.1-1\npython-pygdbmi 0.11.0.0-5\npython-pygments 2.19.1-1\npython-pyinotify 0.9.6-15\npython-pykakasi 2.3.0-2\npython-pynacl 1.5.0-3\npython-pyopenssl 25.0.0-1\npython-pyparsing 3.2.1-1\npython-pyqt5 5.15.11-2\npython-pyqt5-sip 12.17.0-1\npython-pyqt6 6.9.0-1\npython-pyqt6-sip 13.10.0-1\npython-pyquery 2.0.1-1\npython-pyte 0.8.2-4\npython-pytest 1:8.3.5-1\npython-pytube 15.0.0-4\npython-pyxdg 0.28-4\npython-rapidfuzz 3.12.2-1\npython-redis 5.2.1-2\npython-requests 2.32.3-4\npython-rich 14.0.0-1\npython-scrap_engine-git 1.4.2-1\npython-secretstorage 3.3.3-6\npython-sentry_sdk 2.26.1-1\npython-setproctitle 1.3.5-1\npython-setuptools 1:78.1.0-1\npython-sgmllib3k 1.0.0-7\npython-six 1.17.0-1\npython-slugify 8.0.4-3\npython-sniffio 1.3.1-4\npython-soundcloud-v2 1.6.0-1.1\npython-soupsieve 2.6-2\npython-spotipy 2.25.1-1\npython-starlette 0.46.2-1\npython-syncedlyrics 1.0.1-1.1\npython-text-unidecode 1.3-12\npython-tomli 2.0.1-5\npython-tomlkit 0.13.2-2\npython-tqdm 4.67.1-2\npython-trove-classifiers 2025.4.11.15-1\npython-typeguard 4.4.2-1\npython-typing-inspection 0.4.0-1\npython-typing_extensions 4.12.2-3\npython-tzdata 2025.2-1\npython-tzlocal 1:5.3.1-1\npython-urllib3 2.4.0-1\npython-urwid 2.6.15-2\npython-userpath 1.9.2-3\npython-uvloop 0.21.0-2\npython-validate-pyproject 0.24.1-1\npython-virtualenv 20.28.0-1\npython-virtualenv-clone 0.5.7-6\npython-wand 0.6.11-5\npython-wcwidth 0.2.13-3\npython-webencodings 0.5.1-12\npython-websockets 12.0-3\npython-wheel 0.45.1-1\npython-wrapt 1.16.0-4\npython-xlib 0.33-4\npython-xmltodict 0.14.2-1\npython-yaml 6.0.2-2\npython-yarl 1.13.1-1\npython-ytmusicapi 1.10.3-1\npython-zipp 3.21.0-2\nqbittorrent 5.0.4-3\nqca-qt6 2.3.10-1\nqqc2-desktop-style 6.12.0-1\nqrcodegencpp-cmake 1:1.8.0-3\nqrencode 4.1.1-3\nqt5-base 5.15.16+kde+r131-1\nqt5-declarative 5.15.16+kde+r22-3\nqt5-gamepad 5.15.16-2.2\nqt5-location 5.15.16+kde+r7-4\nqt5-multimedia 5.15.16+kde+r2-3\nqt5-remoteobjects 5.15.16-3\nqt5-svg 5.15.16+kde+r5-3\nqt5-tools 5.15.16+kde+r3-6\nqt5-translations 5.15.16-3\nqt5-wayland 5.15.16+kde+r60-1\nqt5-webchannel 5.15.16+kde+r3-3\nqt5-webengine 5.15.18-6\nqt5-x11extras 5.15.16-3\nqt6-5compat 6.9.0-1\nqt6-base 6.9.0-1\nqt6-declarative 6.9.0-2\nqt6-multimedia 6.9.0-1\nqt6-multimedia-ffmpeg 6.9.0-1\nqt6-networkauth 6.9.0-1\nqt6-positioning 6.9.0-1\nqt6-shadertools 6.9.0-1\nqt6-speech 6.9.0-1\nqt6-svg 6.9.0-1\nqt6-tools 6.9.0-2\nqt6-translations 6.9.0-1\nqt6-wayland 6.9.0-2\nqt6-webchannel 6.9.0-1\nqt6-webengine 6.9.0-4\nqt6-websockets 6.9.0-1\nqtkeychain-qt5 0.15.0-1\nqtkeychain-qt6 0.15.0-1\nquazip-qt5 1.5-1\nquodlibet 4.6.0-5\nrapidjson 1.1.0-6\nraptor 2.0.16-6\nrasqal 1:0.9.33-7\nrav1e 0.7.1-1\nre2 1:20240702-4\nreadline 8.2.013-1\nredact-bin 0.18.0-1\nredland 1:1.0.17-9\nreflector 2023-3\nrenovate-git-debug 39.83.2.r0.g68c05cf-1\nresonance 0.1.3-1\nresonance-debug 0.1.3-1\nretroarch 1.20.0-2\nretroarch-assets-xmb 1:528-1\nrhash 1.4.4-1\nripgrep 14.1.1-1\nripgrep-all 0.10.6-3\nrnnoise 1:0.2-1\nroam 157.0.0.beta001-1\nrofimoji 6.5.0-2\nrpcsvc-proto 1.4.4-2\nrpgvxace-rtp 100-3\nrpm-sequoia 1.8.0-1\nrpm-tools 4.20.1-1\nrsync 3.4.1-2\nrtkit 0.13-3\nrtmpdump 1:2.4.r105.6f6bb13-1\nrubberband 4.0.0-1\nruby 3.3.7-2\nrubygems 3.5.22-3\nrunc 1.2.6-1\nrustup 1.28.1-1\nsamrewritten-git r261.cac0291-1\nsamrewritten-git-debug r261.cac0291-1\nsbc 2.0-2\nscanmem 0.17-10\nscrcpy 3.2-1\nscummvm 2.9.0-2\nsdbus-cpp 2.1.0-2\nsddm 0.21.0-6\nsdl12-compat 1.2.68-2\nsdl2-compat 2.32.54-2\nsdl2-debug 2.30.11-2\nsdl2_image 2.8.8-1\nsdl2_mixer 2.8.1-1\nsdl2_net 1:2.2.0-2\nsdl2_ttf 2.24.0-1\nsdl3 3.2.10-1\nsdl_gfx 2.0.27-1\nsdl_image 1.2.12-9\nsdl_mixer 1.2.12-12\nsdl_ttf 2.0.11-7\nseatd 0.9.1-1\nsed 4.9-3\nsemver 7.7.1-1\nser2net 4.6.2-1\nserd 0.32.4-1\nsfml 3.0.0-2\nshaderc 2025.1-3\nshadow 4.17.4-1\nshared-mime-info 2.4-1\nshellspec 0.28.1-3\nsignal-desktop 7.51.0-1\nsignon-kwallet-extension 24.12.3-1\nsignon-plugin-oauth2 0.25-3\nsignon-ui 0.17+20231016-3\nsignond 8.61-3\nsimdjson 1:3.12.3-1\nslack-cli 3.0.0-0\nslack-cli-debug 3.0.0-0\nslack-desktop 4.43.51-1\nslang 2.3.3-3\nslurp 1.5.0-1\nsmartmontools 7.4-2\nsmbclient 2:4.22.1-1\nsnappy 1.2.2-1\nsndio 1.10.0-1\nsolid 6.12.0-1\nsonar-scanner 7.0.2.4839-1\nsonnet 6.12.0-1\nsord 0.16.18-1\nsound-theme-freedesktop 0.8-6\nsoundtouch 2.3.3-1\nsource-highlight 3.1.9-14\nspacecadetpinball-bin 2.1.0-2\nspacecadetpinball-bin-debug 2.1.0-2\nspandsp 0.0.6-5\nspatialindex 2.0.0-1\nspdlog 1.15.2-1\nspeech-dispatcher 0.12.0-1\nspeedometer 2.9-3\nspeedtest-cli 2.1.3-9\nspeex 1.2.1-2\nspeexdsp 1.2.1-2\nspirv-headers 1:1.4.309.0-1\nspirv-tools 1:1.4.309.0-1\nspotdl 4.2.11-1\nspotify 1:1.2.60.564-2.6\nsqlite 3.49.1-1\nsquashfs-tools 4.6.1-2\nsquashfuse 0.6.0-1\nsratom 0.6.18-1\nsrt 1.5.4-1\nstarship 1.22.1-1\nstartup-notification 0.12-8\nsteam 1.0.0.82-2\nsteam-native-runtime 1.0.0.75-4\nstrace 6.14-1\nsublime-text-4 4.4192-1\nsudo 1.9.16.p2-2\nsuitesparse 7.10.2-1\nsvt-av1 3.0.2-1\nsvt-hevc 1.5.1-3\nswappy 1.5.1-2\nsway 1:1.10.1-2\nswaybg 1.2.1-1\nswayidle 1.8.0-2\nswaylock-effects 1.7.0.0-4.4\nswig 4.3.0-1\nsyft 1.20.0-1\nsyndication 6.12.0-1\nsyntax-highlighting 6.12.0-1\nsystemd 257.5-1\nsystemd-libs 257.5-1\nsystemd-sysvcompat 257.5-1\ntaglib 2.0.2-1\ntailscale 1.82.5-1\ntalloc 2.4.3-1\ntar 1.35-2\ntcl 8.6.16-1\ntdb 1.4.13-1\ntevent 1:0.16.2-1\ntexinfo 7.2-1\nthefuck 3.32-11\nthunar 4.20.2-1\nthunderbird 137.0.1-1\ntinysparql 3.9.1-1\ntk 8.6.16-1\ntmux 3.5_a-1\ntomlplusplus 3.4.0-1\ntpm2-tss 4.1.3-1\ntransmission-cli 4.0.6-9\ntrayscale 0.14.3-2\ntree 2.2.1-1\ntree-sitter 0.25.3-1\ntrivy 0.61.1-1\ntslib 1.23-1\nttf-dejavu 2.37+18+g9b5d1b2f-7\nttf-firacode-nerd 3.3.0-1\nttf-font-awesome 6.7.2-1\nttf-jetbrains-mono-nerd 3.3.0-1\nttf-joypixels 8.0.0-2\nttf-liberation 2.1.5-2\nttf-symbola 14.00-2\nttf-twemoji 15.1.0-1\ntwolame 0.4.0-4\ntypescript 5.8.3-1\ntypescript-language-server 4.3.3-1\ntzdata 2025b-1\nuchardet 0.0.8-3\nudisks2 2.10.1-5\nunionfs-fuse 3.6-1\nunrar 1:7.1.6-1\nunzip 6.0-22\nupower 1.90.9-1\nusbutils 018-1\nuthash 2.3.0-2\nutil-linux 2.41-4\nutil-linux-libs 2.41-4\nuvicorn 0.34.0-1\nv4l-utils 1.28.1-2\nv4l2loopback-dkms 0.14.0-1\nvalgrind 3.24.0-3\nvapoursynth R70-2\nvercel 39.2.2-1\nvercel-debug 39.2.2-1\nvesktop 1.5.6-1\nvi 1:070224-6\nvid.stab 1.1.1-2\nvim 9.1.1236-1\nvim-runtime 9.1.1236-1\nvlc 3.0.21-16\nvmaf 3.0.0-1\nvolume_key 0.3.12-10\nvosk-api 0.3.50-5\nvsce 3.3.2-1\nvsce-debug 3.3.2-1\nvscodium 1.99.32562-1\nvscodium-marketplace 1.97.0-1\nvulkan-headers 1:1.4.309.0-1\nvulkan-icd-loader 1.4.309.0-1\nvulkan-tools 1.4.309.0-1\nvulkan-validation-layers 1.4.309.0-1\nw3m 0.5.3.git20230713_1-1\nwasi-compiler-rt 19.1.6-1\nwasi-libc 1:0+410+574b88da-2\nwasi-libc++ 19.1.6-2\nwasi-libc++abi 19.1.6-2\nwavpack 5.8.1-1\nwaybar 0.12.0-1\nwaybar-module-pacman-updates-git 0.2.7-1\nwayland 1.23.1-1\nwayland-protocols 1.43-1\nwebcamoid 9.2.3-1.5\nwebkit2gtk 2.48.1-1\nwebkit2gtk-4.1 2.48.1-1\nwebrtc-audio-processing-1 1.3-4\nwebsocat 1.14.0-1\nwebsocketpp 0.8.2-3\nweston 14.0.0-2\nwev 1.0.0-13\nwget 1.25.0-2\nwhatsapp-for-linux 1.7.0-1.3\nwhich 2.23-1\nwildmidi 0.4.6-1\nwine 10.5-1\nwireless_tools 30.pre9-4\nwireplumber 0.5.8-1\nwl-clipboard 1:2.2.1-2\nwlogout 1.2.2-0.3\nwlroots 0.18.2-2\nwlroots0.17 0.17.4-3\nwmctrl 1.07-6\nwoff2 1.0.2-5\nwofi 1.4.1-1\nwofi-emoji 1.2-3\nwpa_supplicant 2:2.11-3\nwscat 5.2.0-2\nwtype 0.4-2\nwxhexeditor 0.24-4\nwxwidgets-common 3.2.7.1-2\nwxwidgets-gtk3 3.2.7.1-2\nx264 3:0.164.r3108.31e19f9-2\nx265 4.0-1\nxautomation 1.09-6\nxcb-proto 1.17.0-3\nxcb-util 0.4.1-2\nxcb-util-cursor 0.1.5-1\nxcb-util-errors 1.0.1-2\nxcb-util-image 0.4.1-3\nxcb-util-keysyms 0.4.1-5\nxcb-util-renderutil 0.3.10-2\nxcb-util-wm 0.4.2-2\nxcb-util-xrm 1.3-3\nxclip 0.13-6\nxdelta3 3.1.0-5\nxdg-dbus-proxy 0.1.6-1\nxdg-desktop-portal 1.20.0-2\nxdg-desktop-portal-hyprland 1.3.9-8\nxdg-desktop-portal-wlr 0.7.1-1\nxdg-user-dirs 0.18-2\nxdg-utils 1.2.1-1\nxf86-input-libinput 1.5.0-1\nxfconf 4.20.0-2\nxkeyboard-config 2.44-1\nxmlsec 1.3.7-1\nxorg-fonts-alias-misc 1.0.5-1\nxorg-fonts-encodings 1.1.0-1\nxorg-fonts-misc 1.0.4-2\nxorg-mkfontscale 1.2.3-1\nxorg-server 21.1.16-1\nxorg-server-common 21.1.16-1\nxorg-setxkbmap 1.3.4-2\nxorg-xauth 1.1.4-1\nxorg-xcursorgen 1.0.8-2\nxorg-xdpyinfo 1.3.4-2\nxorg-xhost 1.0.10-1\nxorg-xinit 1.4.4-1\nxorg-xinput 1.6.4-2\nxorg-xkbcomp 1.4.7-1\nxorg-xmodmap 1.0.11-2\nxorg-xprop 1.2.8-1\nxorg-xrandr 1.5.3-1\nxorg-xrdb 1.2.2-2\nxorg-xset 1.2.5-2\nxorg-xwayland 24.1.6-1\nxorg-xwd 1.0.9-2\nxorgproto 2024.1-2\nxvidcore 1.3.7-3\nxwayland-run-git 0.0.4.r4.g3d0a384-1.1\nxxhash 0.8.3-1\nxz 5.8.1-1\nyad 14.1-2\nyajl 2.1.0-6\nyaml-cpp 0.8.0-2\nyamllint 1.37.0-1\nyarn 1.22.22-2\nyasm 1.3.0-7\nyay 12.4.2-1.1\nyq 3.4.3-2\nyt-dlp 2025.03.31-1\nzbar 0.23.93-4\nzen-browser-bin 1.11.3b-1\nzenity 4.1.90-1\nzeromq 4.3.5-2\nzig 0.13.0-2\nzimg 3.0.5-1\nzip 3.0-11\nzix 0.6.2-1\nzlib 1:1.3.1-2\nzoom 6.4.3-1\nzsh 5.9-5\nzstd 1.5.7-2\nzvbi 0.2.44-1\nzxing-cpp 2.3.0-4\nzycore-c 1.5.0-1\nzydis 4.1.0-1\nzziplib 0.13.78-1\n```\n\n
", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::7", - "metadata": { - "title": "Development Environment" - }, - "title": "2.4. All Packages", - "url": "https://docs.nhcarrigan.com/dev/environment#24-all-packages" - }, - { - "content": "2.5. AppImages\n\nThese are portable applications Naomi has installed locally.\n\n```txt frame=\"terminal\" title=\"ls ~/Applications\"\n0ad-0.0.27-rc1-27645-alpha-2306180726-jammy-x86_64_cbded66ae29716e935227ef4cb299d37.AppImage\nBeyond-All-Reason-1.2988.0_9fb3f6a9297f1ec22d919932ae885bd3.AppImage\nCameoMod-playtest-20250216-x86_64_a41bc76b4c0745adb0dfb1d5c63cfcf0.AppImage\nCombinedArms-1.05.1-x86_64_417a5cc685d34536edaac5b40061bf46.AppImage\nEternalLands-Linux-x86_64_1.9.7.0_19d1a1810624505aee843061155a6894.AppImage\nFractured Realms-release-v1.2_20230723-x86_64_7ab34cf8b77e62529b1195e8770eabd0.AppImage\nGeneralsAlpha-gen-20240829-x86_64_8fbe511107c1325422c496eb7b4172d1.AppImage\nnaev-0.12.3-linux-x86-64_239e0699e5a8136b4eca1f590e3a23fb.AppImage\nOpenDR-devtest-20221110-x86_64_10791154aedc0626e152a7902cfa1e68.AppImage\nOpenHV-20240908-x86_64_d473508a0c9592b269617989d8a68cc8.AppImage\nOpenRA-Dune-2000-x86_64_9fe830325d03aa43cd4c105115f185d4.AppImage\nOpenRA-Red-Alert-x86_64_f1d7ea8052bd4fe918d45a31ba851215.AppImage\nOpenRA-Tiberian-Dawn-x86_64_9c8e76f77716f90a652120ee035be3a5.AppImage\nOpenSA-20230905-x86_64_240722c9473761e361e5e363f877603e.AppImage\nopenttd-14.1-linux-generic-amd64\nRomanovs.Vengeance-playtest-20241215-x86_64_cb20ddd4d79808397df6503848e85692.AppImage\nShatteredParadise-playtest-20241231-x86_64_be7a765e388c6b6f9fd9d318f1687fd3.AppImage\nWidelands-1.2.1-x86_64_769576562cd3efe6293fcd7e9b7023ce.AppImage\nYouMustConstructAdditional-v0.95.49-x86_64_e20cd34f19f938052377b61b4d250292.AppImage\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::8", - "metadata": { - "title": "Development Environment" - }, - "title": "2.5. AppImages", - "url": "https://docs.nhcarrigan.com/dev/environment#25-appimages" - }, - { - "content": "3. Configuration\n\nNaomi's specific application configurations are noted here for posterity.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::9", - "metadata": { - "title": "Development Environment" - }, - "title": "3. Configuration", - "url": "https://docs.nhcarrigan.com/dev/environment#3-configuration" - }, - { - "content": "3.1. `git`\n\nThe most important thing to note is that Naomi signs her commits with her SSH key, not a GPG key.\n\n```ini frame=\"code\" title=\"~/.gitconfig\"\n[gpg]\n format = ssh\n[gpg \"ssh\"]\n program = /opt/1Password/op-ssh-sign\n[commit]\n gpgsign = true\n[user]\n signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFObmWsDIA2Y95uY8PVmepbTkjG2EFp36PTcnHCi/MYlaBlVPT8c0ixLj6XMwGaTWiiw+SaoSds1zf/WFRfkd8KujWWLQg0xE9Nh0oThF07HwoRIvi1YuAa69TmOSaNaT1YjX5uCIp7QNck5AkLckMK6v5Vhb5XPwZktEp96IBCQqdBcV2F6wX6Oro73iqGCoiAcUZRzeA9dzLtNCg77n3hFKrSeNpuXzX/3SiVOx9x2+3vZdyLlCXogQvH29LU8exPaYOor2h+ijPLVRivlO+yyt6s11iArrVhgINRpTEDbHde7GtNzQeLRNdnFyFSwkj1KPVpbfvAWDTbzteCawic0OP5swQ0rFLtjSnQI+K2GqFFu+Nvypz3YX5ozqTBSFudyI5XZgLObIsR/Lug6zEdRnvoKDnHcBqRxnZeHOD5Mq+oHrHSyA8KROLH+XmtFwdtyakw1NnuwLrFM08HOHKFBj66zgU1SSNjUiUkv3lBIhlDIVAWDk7XG5yRJx0GzcNLA4vvIKhS3SVOqZezRVrfB60SglOIPOgxjvWJuY9jCTcN5aKBT46+Hjam3dF754dx3rG103Azvn0/b3Hicf30+LpRNtxi4k+QdD4q/LlRmsrSl00S4wcfaKeza7L8WAAUNmfCqeApJ06U1O+TopJikzT5bT5ObHyDeUgHdB1jw==\n name = Naomi Carrigan\n email = commits@nhcarrigan.com\n[core]\n editor = emacs -nw\n[push]\n autoSetupRemote = true\n[init]\n defaultBranch = main\n[credential]\n helper = store\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::10", - "metadata": { - "title": "Development Environment" - }, - "title": "3.1. `git`", - "url": "https://docs.nhcarrigan.com/dev/environment#31-`git`" - }, - { - "content": "3.2. `zsh`\n\nNaomi uses Oh My ZSH instead of bash.\n\n```bash frame=\"code\" title=\"~/.zshrc\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::11", - "metadata": { - "title": "Development Environment" - }, - "title": "3.2. `zsh`", - "url": "https://docs.nhcarrigan.com/dev/environment#32-`zsh`" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::12", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Dotfile for Oh My Zsh.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::13", - "metadata": { - "title": "Development Environment" - }, - "title": "Dotfile for Oh My Zsh.", - "url": "https://docs.nhcarrigan.com/dev/environment#dotfile-for-oh-my-zsh" - }, - { - "content": "Installs on top of zsh,", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::14", - "metadata": { - "title": "Development Environment" - }, - "title": "Installs on top of zsh,", - "url": "https://docs.nhcarrigan.com/dev/environment#installs-on-top-of-zsh," - }, - { - "content": "so install that first.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::15", - "metadata": { - "title": "Development Environment" - }, - "title": "so install that first.", - "url": "https://docs.nhcarrigan.com/dev/environment#so-install-that-first" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::16", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "SYSTEM", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::17", - "metadata": { - "title": "Development Environment" - }, - "title": "SYSTEM", - "url": "https://docs.nhcarrigan.com/dev/environment#system" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::18", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Path to your Oh My Zsh installation.\nexport ZSH=\"$HOME/.oh-my-zsh\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::19", - "metadata": { - "title": "Development Environment" - }, - "title": "Path to your Oh My Zsh installation.", - "url": "https://docs.nhcarrigan.com/dev/environment#path-to-your-oh-my-zsh-installation" - }, - { - "content": "Plugins\nplugins=(git zsh-256color zsh-autosuggestions zsh-syntax-highlighting)\n\nsource $ZSH/oh-my-zsh.sh", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::20", - "metadata": { - "title": "Development Environment" - }, - "title": "Plugins", - "url": "https://docs.nhcarrigan.com/dev/environment#plugins" - }, - { - "content": "We're lazy. :3\nalias zshrc=\"source ~/.zshrc\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::21", - "metadata": { - "title": "Development Environment" - }, - "title": "We're lazy. :3", - "url": "https://docs.nhcarrigan.com/dev/environment#we're-lazy-:3" - }, - { - "content": "We hate nano\nalias nano=\"emacs -nw\"\nalias code=\"codium .\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::22", - "metadata": { - "title": "Development Environment" - }, - "title": "We hate nano", - "url": "https://docs.nhcarrigan.com/dev/environment#we-hate-nano" - }, - { - "content": "Listing files\nalias ls=\"eza -ahl --extended --octal-permissions --git -g\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::23", - "metadata": { - "title": "Development Environment" - }, - "title": "Listing files", - "url": "https://docs.nhcarrigan.com/dev/environment#listing-files" - }, - { - "content": "More details on which thing to run\nalias which=\"type -a\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::24", - "metadata": { - "title": "Development Environment" - }, - "title": "More details on which thing to run", - "url": "https://docs.nhcarrigan.com/dev/environment#more-details-on-which-thing-to-run" - }, - { - "content": "Untar\nalias untar=\"tar -xvzf\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::25", - "metadata": { - "title": "Development Environment" - }, - "title": "Untar", - "url": "https://docs.nhcarrigan.com/dev/environment#untar" - }, - { - "content": "Packages\nalias yay-list=\"yay -Qs\"\nalias yay-clean=\"yay -Scc\"\nalias yay-update=\"yay -Syu\"\nalias yay-new=\"yay -Syuu\"\nalias yay-install=\"yay\" # Just for consistency.\nalias yay-uninstall=\"yay -R\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::26", - "metadata": { - "title": "Development Environment" - }, - "title": "Packages", - "url": "https://docs.nhcarrigan.com/dev/environment#packages" - }, - { - "content": "File System\nalias .2=\"cd ../..\"\nalias .3=\"cd ../../..\"\nalias .4=\"cd ../../../..\"\nalias .5=\"cd ../../../../..\"\nalias delete=\"rm -rf\"\nalias cp=\"cp -i\"\nalias mkdir=\"mkdir -p\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::27", - "metadata": { - "title": "Development Environment" - }, - "title": "File System", - "url": "https://docs.nhcarrigan.com/dev/environment#file-system" - }, - { - "content": "git\nalias clone=\"git clone\"\nalias comm=\"git add -A && git commit\"\nalias commv=\"git add -A && git commit --no-verify\"\nalias push=\"git push\"\nalias pull=\"git pull\"\nalias upmain=\"git checkout main && git fetch upstream && git merge upstream/main\"\nalias co=\"git checkout\"\nalias cob=\"git checkout -b\"\n\nalias fcc=\"cd ~/code/freecodecamp\"\nalias ridm=\"cd ~/code/rythm\"\nalias sc=\"cd ~/code/streamcord\"\nalias dg=\"cd ~/code/deepgram\"\nalias naomi=\"cd ~/code/naomi\"\n\nalias hug=\"curl -L https://api.github.com/octocat\\?s\\=You%20deserve%20a%20hug\"\n\nalias tunnel2=\"cloudflared tunnel --config ~/.cloudflared/local2.yml run local2\"\nalias tunnel1=\"cloudflared tunnel --config ~/.cloudflared/local.yml run local\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::28", - "metadata": { - "title": "Development Environment" - }, - "title": "git", - "url": "https://docs.nhcarrigan.com/dev/environment#git" - }, - { - "content": "Silly\nalias tree=\"cbonsai -S\"\nalias poke=\"pokemon-colorscripts --no-title -r\"\nalias fish=\"asciiquarium --transparent\"\nalias matrix=\"cmatrix -r\"\nalias pipe=\"pipes.sh\"\nalias hacker=\"hollywood\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::29", - "metadata": { - "title": "Development Environment" - }, - "title": "Silly", - "url": "https://docs.nhcarrigan.com/dev/environment#silly" - }, - { - "content": "THE FUCK\neval $(thefuck --alias)\n\nalias shit=\"fuck\"\nalias damn=\"fuck\"\nalias crap=\"fuck\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::30", - "metadata": { - "title": "Development Environment" - }, - "title": "THE FUCK", - "url": "https://docs.nhcarrigan.com/dev/environment#the-fuck" - }, - { - "content": "pnpm\nexport PNPM_HOME=\"/home/naomi/.local/share/pnpm\"\ncase \":$PATH:\" in\n *\":$PNPM_HOME:\"*) ;;\n *) export PATH=\"$PNPM_HOME:$PATH\" ;;\nesac", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::31", - "metadata": { - "title": "Development Environment" - }, - "title": "pnpm", - "url": "https://docs.nhcarrigan.com/dev/environment#pnpm" - }, - { - "content": "pnpm end\nexport PATH=$HOME/.local/bin:$PATH", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::32", - "metadata": { - "title": "Development Environment" - }, - "title": "pnpm end", - "url": "https://docs.nhcarrigan.com/dev/environment#pnpm-end" - }, - { - "content": "sonarqube\nexport SONAR_SCANNER_HOME=\"/opt/sonar-scanner\"\nexport PATH=${SONAR_SCANNER_HOME}/bin:${PATH}", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::33", - "metadata": { - "title": "Development Environment" - }, - "title": "sonarqube", - "url": "https://docs.nhcarrigan.com/dev/environment#sonarqube" - }, - { - "content": "dotnet\nexport PATH=\"$PATH:/home/naomi/.dotnet/tools\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::34", - "metadata": { - "title": "Development Environment" - }, - "title": "dotnet", - "url": "https://docs.nhcarrigan.com/dev/environment#dotnet" - }, - { - "content": "Starship\neval \"$(starship init zsh)\"\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::35", - "metadata": { - "title": "Development Environment" - }, - "title": "Starship", - "url": "https://docs.nhcarrigan.com/dev/environment#starship" - }, - { - "content": "3.2.1. `starship`\n\nNaomi uses `starship` to manage her customised shell prompt.\n\nNote that her config requires your terminal be using a Nerd Font, or the symbols will not render.\n\n```toml frame=\"code\" title=\"~/.config/starship.toml\"\n\"$schema\" = 'https://starship.rs/config-schema.json'\n\nformat = '''\n┌─  $username$hostname$fill$git_commit$git_branch󰊢 ─┐\n│  $directory$fill$git_state$git_metrics$git_status│\n└─  $dotnet$nodejs$golang$python$dart$c$gradle$java$kotlin$php$ruby$rust$package$fill$status$cmd_duration$time ─┘'''\n\nright_format = '$custom'\n\nadd_newline = false\n\n[fill]\nsymbol = \" \"\n\n[username]\nshow_always = true\nformat = '[$user]($style) @ '\n\n[hostname]\nssh_only = false\nformat = '[$hostname]($style)'\n\n[directory]\ntruncate_to_repo = true\ntruncation_length = 5\ntruncation_symbol = \"\"\n\n[nodejs]\nformat = '[$symbol($version )]($style)'\n\n[dotnet]\nformat = '[$symbol($version )(🎯 $tfm )]($style)'\ndetect_extensions = ['csproj', 'fsproj', 'xproj', 'sln']\n\n[golang]\nformat = '[$symbol($version )]($style)'\n\n[python]\nformat = '[${symbol}${pyenv_prefix}(${version} )(\\($virtualenv\\) )]($style)'\n\n[dart]\nformat = '[$symbol($version )]($style)'\n\n[c]\nformat = '[$symbol($version(-$name) )]($style)'\n\n[gradle]\nformat = '[$symbol($version )]($style)'\n\n[java]\nformat = '[${symbol}(${version} )]($style)'\n\n[kotlin]\nformat = '[$symbol($version )]($style)'\n\n[php]\nformat = '[$symbol($version )]($style)'\n\n[ruby]\nformat = '[$symbol($version )]($style)'\n\n[rust]\nformat = '[$symbol($version )]($style)'\n\n[cmd_duration]\nformat = 'took [$duration]($style) at '\nmin_time = 0\n\n[git_commit]\nonly_detached = false\nformat = '[$hash$tag]($style) '\n\n[git_status]\nconflicted = '!'\nuntracked = 'u'\nmodified = 'm'\nstaged = 's'\nrenamed = 'r'\ndeleted = 'd'\nstashed = ''\n\n[git_metrics]\ndisabled = false\n\n[package]\nformat = '[$symbol$version]($style) '\ndisplay_private = true\n\n[time]\ndisabled = false\nformat = '[$time]($style) '\n\n[status]\nformat = '[$symbol $status]($style) '\ndisabled = false\nsuccess_symbol = '✅'\n\n[custom.mommy]\ncommand = \"mommy -1 -s $status\"\nwhen = true\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::36", - "metadata": { - "title": "Development Environment" - }, - "title": "3.2.1. `starship`", - "url": "https://docs.nhcarrigan.com/dev/environment#321-`starship`" - }, - { - "content": "3.3. `pacman`\n\nNaomi's package manager configuration.\n\n```ini frame=\"code\" title=\"/etc/pacman.conf\"\n[options]\nHoldPkg = pacman glibc\nArchitecture = auto\nCheckSpace\nSigLevel = Required DatabaseOptional\nLocalFileSigLevel = Optional\n\n[core]\nInclude = /etc/pacman.d/mirrorlist\n\n[extra]\nInclude = /etc/pacman.d/mirrorlist\n\n[multilib]\nInclude = /etc/pacman.d/mirrorlist\n\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n\n[sublime-text]\nServer = https://download.sublimetext.com/arch/stable/x86_64\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::37", - "metadata": { - "title": "Development Environment" - }, - "title": "3.3. `pacman`", - "url": "https://docs.nhcarrigan.com/dev/environment#33-`pacman`" - }, - { - "content": "3.4 `sway`\n\n```ini frame=\"code\" title=\"~/.config/sway/config\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::38", - "metadata": { - "title": "Development Environment" - }, - "title": "3.4 `sway`", - "url": "https://docs.nhcarrigan.com/dev/environment#34-`sway`" - }, - { - "content": "Logo key. Use Mod1 for Alt.\nset $mod Mod4\nset $left Left\nset $down Down\nset $up Up\nset $right Right\nset $term ghostty\nset $menu wofi --show=drun --allow-images\n\noutput HDMI-A-1 mode 1920x1080 pos 0 0\noutput DP-2 mode 1920x1080 pos 1920 0\noutput DP-3 mode 1920x1080 pos 3840 0\noutput DP-2 bg /home/naomi/cloud/Photos/background.png fill\noutput DP-3 bg /home/naomi/cloud/Photos/bg-right.png fill\noutput HDMI-A-1 bg /home/naomi/cloud/Photos/bg-left.png fill\n\nbindsym $mod+q exec $term\nbindsym $mod+c kill\nbindsym $mod+r exec $menu\nbindsym $mod+e exec thunar\nbindsym $mod+v floating toggle\nbindsym $mod+x exec cliphist list | wofi --dmenu | cliphist decode | wl-copy\nbindsym $mod+f fullscreen\n\nexec swayidle -w \\\n timeout 240 'notify-send \"Locking workstation due to inactivity\"' \\\n resume 'notify-send \"Cancelled lock\"' \\\n timeout 300 'swaylock' \\\n before-sleep 'swaylock'", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::39", - "metadata": { - "title": "Development Environment" - }, - "title": "Logo key. Use Mod1 for Alt.", - "url": "https://docs.nhcarrigan.com/dev/environment#logo-key-use-mod1-for-alt" - }, - { - "content": "Move with mod + left click, resize with mod + right click\nfloating_modifier $mod normal\n\ninput * {\n xkb_layout us\n xkb_numlock enabled\n pointer_accel 0\n accel_profile flat\n}\n\nfocus_follows_mouse yes\ndefault_border none\ndefault_floating_border none\nfont pango:OpenDyslexicMono 10", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::40", - "metadata": { - "title": "Development Environment" - }, - "title": "Move with mod + left click, resize with mod + right click", - "url": "https://docs.nhcarrigan.com/dev/environment#move-with-mod-+-left-click,-resize-with-mod-+-right-click" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::41", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Keybinds:", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::42", - "metadata": { - "title": "Development Environment" - }, - "title": "Keybinds:", - "url": "https://docs.nhcarrigan.com/dev/environment#keybinds:" - }, - { - "content": "bindsym $mod+$left focus left\nbindsym $mod+$down focus down\nbindsym $mod+$up focus up\nbindsym $mod+$right focus right\nbindsym $mod+Shift+$left move left\nbindsym $mod+Shift+$down move down\nbindsym $mod+Shift+$up move up\nbindsym $mod+Shift+$right move right\nbindsym $mod+Shift+h splith\nbindsym $mod+Shift+v splitv\nbindsym $mod+Shift+s layout stacking\nbindsym $mod+Shift+w layout tabbed\nbindsym $mod+Shift+e layout toggle split\nbindsym $mod+l exec swaylock\nbindsym $mod+p focus parent\nbindsym $mod+Shift+space focus mode_toggle\nbindsym $mod+period exec rofimoji -a copy --skin-tone light\nbindsym $mod+period+Ctrl exec rofimoji -f all -a copy --skin-tone light\nbindsym --locked XF86AudioMute exec pactl set-sink-mute \\@DEFAULT_SINK@ toggle\nbindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \\@DEFAULT_SINK@ -1%\nbindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \\@DEFAULT_SINK@ +1%\nbindsym --locked XF86AudioPlay exec playerctl play-pause\nbindsym --locked XF86AudioNext exec playerctl next\nbindsym --locked XF86AudioPrev exec playerctl previous\nbindsym Print exec grimshot --notify --cursor copy area\nbindsym Ctrl+Print exec grimshot --notify --cursor --wait 5 copy area\nbindsym $mod+Shift+r mode \"resize\"\nbindsym $mod+Shift+c exec swaymsg reload", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::43", - "metadata": { - "title": "Development Environment" - }, - "title": "bindsym $mod+$left focus left", - "url": "https://docs.nhcarrigan.com/dev/environment#bindsym-$mod+$left-focus-left" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::44", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Workspace bindings:", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::45", - "metadata": { - "title": "Development Environment" - }, - "title": "Workspace bindings:", - "url": "https://docs.nhcarrigan.com/dev/environment#workspace-bindings:" - }, - { - "content": "bindsym $mod+1 workspace number 1\nbindsym $mod+2 workspace number 2\nbindsym $mod+3 workspace number 3\nbindsym $mod+4 workspace number 4\nbindsym $mod+5 workspace number 5\nbindsym $mod+6 workspace number 6\nbindsym $mod+7 workspace number 7\nbindsym $mod+8 workspace number 8\nbindsym $mod+9 workspace number 9\nbindsym $mod+0 workspace number 10\nbindsym $mod+Shift+1 workspace number 11\nbindsym $mod+Shift+2 workspace number 12\nbindsym $mod+Shift+3 workspace number 13\nbindsym $mod+Shift+4 workspace number 14\nbindsym $mod+Shift+5 workspace number 15\nbindsym $mod+Shift+6 workspace number 16\nbindsym $mod+Shift+7 workspace number 17\nbindsym $mod+Shift+8 workspace number 18\nbindsym $mod+Shift+9 workspace number 19\nbindsym $mod+Shift+0 workspace number 20\n\nworkspace 1 output HDMI-A-1\nworkspace 2 output DP-3\nworkspace 3 output DP-2\nworkspace 4 output HDMI-A-1\nworkspace 5 output HDMI-A-1\nworkspace 6 output HDMI-A-1\nworkspace 7 output HDMI-A-1\nworkspace 8 output HDMI-A-1\nworkspace 9 output HDMI-A-1\nworkspace 10 output DP-3\nworkspace 11 output DP-2\nworkspace 12 output DP-2\nworkspace 13 output DP-2\nworkspace 14 output DP-2\nworkspace 15 output DP-2\nworkspace 16 output DP-3\n\nassign [title=\".*Discord.*\"] 1\nassign [title=\".*LibreWolf.*\"] 2\nassign [title=\".*Google Chat.*\"] 4\nassign [title=\".*Slack.*\"] 5\nassign [title=\".*Roam.*\"] 6\nassign [title=\".*WasIstLos.*\"] 7\nassign [title=\".*NHCarrigan.*\"] 8\nassign [title=\".*nhcarrigan.*\"] 8\nassign [title=\".*NHcarrigan.*\"] 8\nassign [title=\".*Asana.*\"] 9\nassign [title=\".*Amberol.*\"] 10\nassign [title=\".*Sublime Text.*\"] 11\nassign [title=\".*Thunderbird.*\"] 12\nassign [title=\".*1Password.*\"] 13\nassign [title=\".*Espanso.*\"] 14\nassign [title=\".*Steam.*\"] 15\nassign [title=\".*FreeTube.*\"] 16\n\nfor_window [title=\".*Discord.*\"] opacity 0.9\nfor_window [title=\".*VSCodium.*\"] opacity 0.9\nfor_window [title=\".*Amberol.*\"] opacity 0.9\nfor_window [title=\".*Sublime Text.*\"] opacity 0.9\nfor_window [title=\".*Thunderbird.*\"] opacity 0.9\nfor_window [title=\".*1Password.*\"] opacity 0.9\nfor_window [title=\".*Slack.*\"] opacity 0.9\nfor_window [title=\".*Google Chat.*\"] opacity 0.9\nfor_window [title=\".*WasIstLos.*\"] opacity 0.9", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::46", - "metadata": { - "title": "Development Environment" - }, - "title": "bindsym $mod+1 workspace number 1", - "url": "https://docs.nhcarrigan.com/dev/environment#bindsym-$mod+1-workspace-number-1" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::47", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Resizing containers:", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::48", - "metadata": { - "title": "Development Environment" - }, - "title": "Resizing containers:", - "url": "https://docs.nhcarrigan.com/dev/environment#resizing-containers:" - }, - { - "content": "mode \"resize\" {\n bindsym $left resize shrink width 10px\n bindsym $down resize grow height 10px\n bindsym $up resize shrink height 10px\n bindsym $right resize grow width 10px\n\n # Return to default mode\n bindsym Return mode \"default\"\n bindsym Escape mode \"default\"\n}", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::49", - "metadata": { - "title": "Development Environment" - }, - "title": "mode \"resize\" {", - "url": "https://docs.nhcarrigan.com/dev/environment#mode-\"resize\"-{" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::50", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Startup Apps:", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::51", - "metadata": { - "title": "Development Environment" - }, - "title": "Startup Apps:", - "url": "https://docs.nhcarrigan.com/dev/environment#startup-apps:" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::52", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Clipboard manager\nexec wl-paste --watch cliphist store", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::53", - "metadata": { - "title": "Development Environment" - }, - "title": "Clipboard manager", - "url": "https://docs.nhcarrigan.com/dev/environment#clipboard-manager" - }, - { - "content": "This creates the GUI for apps to ask for sudo perms\nexec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1\nexec gsettings set org.gnome.desktop.interface gtk-theme \"Sweet-Ambar-Blue-Dark-v40\"\nexec gsettings set org.gnome.desktop.interface color-scheme prefer-dark\nexec gsettings set org.gnome.desktop.interface font-name 'OpenDyslexicMono 10'\nexec gsettings set org.gnome.desktop.interface cursor-theme miku-cursor-linux\nexec echo \"Xcursor.theme: miku-cursor-linux\" | xrdb -merge\nexec aw-qt\nexec aw-awatcher", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::54", - "metadata": { - "title": "Development Environment" - }, - "title": "This creates the GUI for apps to ask for sudo perms", - "url": "https://docs.nhcarrigan.com/dev/environment#this-creates-the-gui-for-apps-to-ask-for-sudo-perms" - }, - { - "content": "Actual apps\nexec discord\nexec librewolf\nexec google-chat-linux\nexec slack\nexec roam\nexec wasistlos\nexec /home/naomi/Applications/Forum-linux-x64/Forum\nexec /home/naomi/Applications/Code-linux-x64/Code\nexec /home/naomi/Applications/Asana-linux-x64/Asana\nexec amberol\nexec subl\nexec thunderbird\nexec 1password\nexec steam\nexec freetube", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::55", - "metadata": { - "title": "Development Environment" - }, - "title": "Actual apps", - "url": "https://docs.nhcarrigan.com/dev/environment#actual-apps" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::56", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Status Bar:", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::57", - "metadata": { - "title": "Development Environment" - }, - "title": "Status Bar:", - "url": "https://docs.nhcarrigan.com/dev/environment#status-bar:" - }, - { - "content": "", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::58", - "metadata": { - "title": "Development Environment" - }, - "title": "", - "url": "https://docs.nhcarrigan.com/dev/environment#" - }, - { - "content": "Read `man 5 sway-bar` for more information about this section.\nbar {\n swaybar_command waybar\n}\n\ninclude /etc/sway/config.d/*\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::59", - "metadata": { - "title": "Development Environment" - }, - "title": "Read `man 5 sway-bar` for more information about this section.", - "url": "https://docs.nhcarrigan.com/dev/environment#read-`man-5-sway-bar`-for-more-information-about-this-section" - }, - { - "content": "3.4.1. `swaylock`\n\n```ini frame=\"code\" title=\"~/.config/swaylock/config\"", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::60", - "metadata": { - "title": "Development Environment" - }, - "title": "3.4.1. `swaylock`", - "url": "https://docs.nhcarrigan.com/dev/environment#341-`swaylock`" - }, - { - "content": "Background image\nimage=/home/naomi/cloud/Photos/bg-left.png\nscaling=fill\nscreenshot=false\n\nignore-empty-password\nshow-failed-attempts", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::61", - "metadata": { - "title": "Development Environment" - }, - "title": "Background image", - "url": "https://docs.nhcarrigan.com/dev/environment#background-image" - }, - { - "content": "Background effects\nfade-in=0.2\neffect-blur=8x2\neffect-vignette=0.5:0.5", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::62", - "metadata": { - "title": "Development Environment" - }, - "title": "Background effects", - "url": "https://docs.nhcarrigan.com/dev/environment#background-effects" - }, - { - "content": "Ring customization\nindicator-radius=120\nindicator-thickness=20\nindicator-idle-visible\n\nclock\nclockoutline-color=abfcec\nclock-color=04624f\nclock-radius=60\nclock-thickness=10\ntimestr=%H:%M:%S\ndatestr=%a, %B %e", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::63", - "metadata": { - "title": "Development Environment" - }, - "title": "Ring customization", - "url": "https://docs.nhcarrigan.com/dev/environment#ring-customization" - }, - { - "content": "Colors\nkey-hl-color=04624f\nseparator-color=04624f\ninside-color=04624fcc\ninside-clear-color=04624fcc\ninside-ver-color=04624fcc\ninside-wrong-color=04624fcc\n\nring-color=abfcec\nring-clear-color=abfcec\nring-ver-color=abfcec\nring-wrong-color=cc8822\n\nline-color=04624f\nline-clear-color=04624f\nline-ver-color=04624f\nline-wrong-color=04624f\n\ntext-color=abfcec\ntext-clear-color=abfcec\ntext-ver-color=abfcec\ntext-wrong-color=abfcec", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::64", - "metadata": { - "title": "Development Environment" - }, - "title": "Colors", - "url": "https://docs.nhcarrigan.com/dev/environment#colors" - }, - { - "content": "Text customization\nfont=OpenDyslexicMono\nfont-size=24\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::65", - "metadata": { - "title": "Development Environment" - }, - "title": "Text customization", - "url": "https://docs.nhcarrigan.com/dev/environment#text-customization" - }, - { - "content": "3.5 Waybar\n\nThese manage Naomi's waybar instance.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::66", - "metadata": { - "title": "Development Environment" - }, - "title": "3.5 Waybar", - "url": "https://docs.nhcarrigan.com/dev/environment#35-waybar" - }, - { - "content": "`config.jsonc`\n\n```json frame=\"code\" title=\"~/.config/waybar/config.jsonc\"\n{\n \"layer\": \"top\",\n \"position\": \"top\",\n \"mode\": \"dock\",\n \"height\": 15,\n \"exclusive\": true,\n \"passthrough\": false,\n \"gtk-layer-shell\": true,\n \"reload_style_on_change\": true,\n \"modules-left\": [\"custom/ws\", \"sway/workspaces\", \"sway/window\"],\n \"modules-center\": [\n \"custom/storage\",\n \"custom/cpuinfo\",\n \"memory\",\n \"cpu\",\n \"custom/gpu-usage\",\n \"custom/arch\",\n \"clock#time\",\n \"clock#date\",\n \"custom/weather\"\n ],\n \"modules-right\": [\n \"pulseaudio\",\n \"custom/updates\",\n \"tray\",\n \"custom/notifs\",\n \"custom/power\"\n ],\n \"custom/notifs\": {\n \"exec\": \"~/.config/waybar/scripts/dunst.sh\",\n \"return-type\": \"json\",\n \"interval\": 1,\n \"tooltip\": false,\n \"on-click\": \"dunstctl history-pop\",\n \"on-click-right\": \"dunstctl set-paused toggle\"\n },\n \"custom/ws\": {\n \"format\": \"\",\n \"tooltip\": false,\n \"on-click\": \"wofi --show=drun --allow-images\"\n },\n \"custom/gpu-usage\": {\n \"format\": \"{icon} {0}\",\n \"exec\": \"gpu-usage-waybar\",\n \"return-type\": \"json\",\n \"format-icons\": \"󰾲\",\n \"on-click\": \"kitty nvtop\",\n \"min-length\": 8,\n \"max-length\": 10\n },\n \"custom/weather\": {\n \"exec\": \"python ~/.config/waybar/scripts/weather.py\",\n \"restart-interval\": 300,\n \"return-type\": \"json\",\n \"on-click\": \"zen-browser https://weather.com/weather/today/l/f1fc8cc5233b6f8620dda922b1cb97b5cc8781f508c572de2f969ff79c7b293a\"\n },\n \"custom/updates\": {\n \"format\": \"{} {icon}\",\n \"return-type\": \"json\",\n \"format-icons\": {\n \"has-updates\": \"󱍷\",\n \"updated\": \"󰂪\"\n },\n \"exec-if\": \"which waybar-module-pacman-updates\",\n \"exec\": \"waybar-module-pacman-updates --interval-seconds 5 --network-interval-seconds 300\",\n \"min-length\": 4,\n \"max-length\": 8,\n \"on-click\": \"ghostty -e yay -Syu\"\n },\n \"sway/workspaces\": {\n \"all-outputs\": false,\n \"active-only\": false,\n \"on-click\": \"activate\",\n \"disable-scroll\": true,\n \"sort-by-number\": true\n },\n \"sway/window\": {\n \"format\": \"{}\",\n \"separate-outputs\": true,\n \"rewrite\": {\n \"naomi@technomancer:(.*)\": \" $1\",\n \"(.*)naomi@technomancer:~\": \" naomi@technomancer\",\n \"(.*) - Visual Studio Code\": \"󰨞 $1\",\n \"(.*) - VSCodium\": \"󰨞 $1\",\n \"(.*) - Sublime Text(.*)\": \"󰘦 $1\",\n \"(.*)Zen Browser\": \"󰇧 $1\",\n \"(.*) — LibreWolf\": \"󰇧 $1\",\n \"(.*) — 1Password\": \"󰢁 $1\",\n \"(.*) - Slack\": \"󰒱 $1\",\n \"(.*) - Chat\": \"󰊭 $1\",\n \"(.*) - Roam\": \" $1\",\n \"(.*) - Mozilla Thunderbird\": \"󰊫 $1\",\n \"(.*)Steam\": \"󰓓 Steam\",\n \"(.*) - Discord\": \" $1\",\n \"(.*)GNU Image Manipulation Program\": \" $1\",\n \"(.*)GIMP\": \" $1\",\n \"OBS(.*)\": \" OBS Studio\",\n \"(.*) - FreeTube\": \" $1\",\n \"WasIstLos\": \" WasIstLos\",\n \"(.*).jpg\": \" $1.jpg\",\n \"(.*).png\": \" $1.png\",\n \"(.*).svg\": \" $1.svg\",\n \"(.*)Thunar\": \" $1\",\n \"Espanso.*\": \"󰌵 Espanso\",\n \"(.*) - NHCarrigan\": \" $1\",\n \"\": \" Naomi 󰅂 Technomancer\"\n }\n },\n \"custom/cpuinfo\": {\n \"exec\": \"~/.config/waybar/scripts/cpuinfo.sh\",\n \"return-type\": \"json\",\n \"format\": \"{}\",\n \"tooltip\": true,\n \"interval\": 5,\n \"on-click\": \"ghostty -e watch sensors\"\n },\n \"memory\": {\n \"states\": { \"c\": 90 },\n \"format\": \"󰘚 {percentage}%\",\n \"format-c\": \"󰀪 {percentage}%\",\n \"tooltip\": true,\n \"tooltip-format\": \"{used:0.1f}GB / {total:0.1f}GB\",\n \"interval\": 20,\n \"on-click\": \"ghostty -e btop\"\n },\n \"cpu\": {\n \"format\": \"󰻠 {usage}%\",\n \"tooltip\": true,\n \"interval\": 5,\n \"on-click\": \"ghostty -e htop\"\n },\n \"custom/arch\": {\n \"format\": \"\",\n \"tooltip\": true,\n \"tooltip-format\": \"Arch Version: {}\",\n \"interval\": 86400,\n \"exec\": \"uname -r\",\n \"on-click\": \"ghostty\"\n },\n \"clock#time\": {\n \"format\": \"󱑂 {:%H:%M:%S (%Z)} \",\n \"tooltip\": true,\n \"tooltip-format\": \"{tz_list}\",\n \"interval\": 1,\n \"on-click\": \"gnome-clocks\",\n \"timezones\": [\n \"America/Los_Angeles\",\n \"America/Chicago\",\n \"Europe/London\",\n \"Europe/Berlin\",\n \"Asia/Tel_Aviv\",\n \"Asia/Tokyo\"\n ]\n },\n \"clock#date\": {\n \"format\": \"󱨴 {:L%A, %d %B}\",\n \"tooltip-format\": \"{calendar}\",\n \"calendar\": {\n \"mode\": \"month\",\n \"mode-mon-col\": 3,\n \"on-click\": \"thunderbird\",\n \"on-click-right\": \"mode\",\n \"format\": {\n \"months\": \"{}\",\n \"weekdays\": \"{}\",\n \"today\": \"{}\"\n }\n },\n \"actions\": { \"on-click-right\": \"mode\" }\n },\n \"pulseaudio\": {\n \"format\": \"{icon} {volume}%\",\n \"format-muted\": \" {volume}%\",\n \"format-icons\": {\n \"headphone\": \"󰋋\",\n \"default\": [\"󰖀\", \"󰕾\"]\n },\n \"on-click\": \"pactl set-sink-mute @DEFAULT_SINK@ toggle\",\n \"on-click-right\": \"pavucontrol -t 3\",\n \"on-scroll-up\": \"pactl set-sink-volume @DEFAULT_SINK@ +1%\",\n \"on-scroll-down\": \"pactl set-sink-volume @DEFAULT_SINK@ -1%\",\n \"scroll-step\": 10\n },\n \"custom/power\": {\n \"format\": \"\",\n \"tooltip\": false,\n \"on-click\": \"swaylock\",\n \"on-click-right\": \"shutdown now\",\n \"interval\": 86400\n },\n \"tray\": {\n \"icon-size\": 15,\n \"spacing\": 5,\n \"show-passive-items\": true\n },\n \"custom/storage\": {\n \"format\": \"{}\",\n \"return-type\": \"json\",\n \"tooltip\": true,\n \"interval\": 10,\n \"exec\": \"~/.config/waybar/scripts/disk-use.sh\",\n \"on-click\": \"baobab\"\n }\n}\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::67", - "metadata": { - "title": "Development Environment" - }, - "title": "`config.jsonc`", - "url": "https://docs.nhcarrigan.com/dev/environment#`configjsonc`" - }, - { - "content": "`style.css`\n\n```css frame=\"code\" title=\"~/.config/waybar/style.css\"\n#waybar {\n border: none;\n font-family: \"OpenDyslexicM Nerd Font\";\n font-weight: bold;\n font-size: 10px;\n color: #ffb6c1;\n text-shadow: 0px 0px 5px;\n background: rgba(42, 10, 24, 0.8);\n}\n\n#workspaces button {\n padding: 0px 3px;\n color: #ffb6c1;\n border-radius: 50%;\n}\n\n#tray menu {\n background: rgba(42, 10, 24, 0.8);\n color: #ffb6c1;\n text-shadow: 0px 0px 5px;\n}\n\n#tray menu menuitem:hover {\n background: rgba(255, 239, 239, 0.8);\n color: #db7093;\n}\n\ntooltip {\n color: #ffb6c1;\n border: solid;\n border-radius: 7px;\n border-width: 1px;\n border-color: #ffb6c1;\n background-color: rgba(42, 10, 24, 0.8);\n text-shadow: 0px 0px 5px;\n}\n\n.module {\n background-color: rgba(42, 10, 24, 0.8);\n border: solid;\n border-radius: 10px;\n border-width: 1px;\n border-color: #ffb6c1;\n padding: 0px 4px;\n margin: 0px 0px 0px 0px;\n}\n\n.modules-left .module {\n margin-right: 6px;\n box-shadow: 2px 2px 3px #ffb6c177;\n}\n\n.modules-right .module {\n margin-left: 6px;\n box-shadow: -2px 2px 3px #ffb6c177;\n}\n\n.modules-center .module {\n margin-left: 5px;\n margin-right: 5px;\n box-shadow: 0px 2px 3px #ffb6c177;\n}\n\n#custom-arch,\n#custom-ws {\n padding-left: 8px;\n padding-right: 12px;\n}\n\n#custom-notifs,\n#custom-power {\n padding-left: 8px;\n padding-right: 10px;\n}\n\n#workspaces button:hover {\n background: rgba(255, 239, 239, 0.8);\n color: #db7093;\n}\n\n#workspaces button.visible {\n background: rgba(255, 239, 239, 0.8);\n color: #db7093;\n}\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::68", - "metadata": { - "title": "Development Environment" - }, - "title": "`style.css`", - "url": "https://docs.nhcarrigan.com/dev/environment#`stylecss`" - }, - { - "content": "Scripts\n\nThere are a few scripts necessary for waybar to work.\n\n
\n disk-use.sh\n\n```sh frame=\"code\" title=\"~/.config/waybar/scripts/disk-use.sh\"\n#!/usr/bin/env sh\n\nhome_use=$(df -h /home | tail -1);\nread -ra home_array <<< \"$home_use\"\n\nboot_use=$(df -h /boot | tail -1);\nread -ra boot_array <<< \"$boot_use\"\n\nroot_use=$(df -h / | tail -1);\nread -ra root_array <<< \"$root_use\"\n\ntext=\" ${home_array[2]} / ${home_array[1]}\";\ntooltip=\"Home: ${home_array[2]} / ${home_array[1]} (${home_array[4]})\\nBoot: ${boot_array[2]} / ${boot_array[1]} (${boot_array[4]})\\nRoot: ${root_array[2]} / ${root_array[1]} (${root_array[4]})\";\n\necho \"{\\\"text\\\":\\\"${text}\\\", \\\"tooltip\\\":\\\"${tooltip}\\\"}\";\n```\n\n
\n\n
\n cpuinfo.sh\n\n```sh frame=\"code\" title=\"~/.config/waybar/scripts/cpuinfo.sh\"\n#!/usr/bin/env sh\n\nmodel=$(cat /proc/cpuinfo | grep 'model name' | head -n 1 | awk -F ': ' '{print $2}')\nutilization=$(top -bn1 | awk '/^%Cpu/ {print 100 - $8}')\nfreqlist=$(cat /proc/cpuinfo | grep \"cpu MHz\" | awk '{ print $4 }')\nmaxfreq=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq | sed 's/...$//')\nfrequency=$(echo $freqlist | tr ' ' '\\n' | awk \"{ sum+=\\$1 } END {printf \\\"%.0f/$maxfreq MHz\\\", sum/NR}\")\ntemp=$(sensors | awk '/Package id 0/ {print $4}' | awk -F '[+.]' '{print $2}')\nif [ -z \"$temp\" ]; then\n temp=$(sensors | awk '/Tctl/ {print $2}' | tr -d '+°C')\nfi\nif [ -z \"$temp\" ]; then\n temp=\"N/A\"\nfi\nset_ico=\"{\\\"thermo\\\":{\\\"0\\\":\\\"󱃃\\\",\\\"45\\\":\\\"󰔏\\\",\\\"65\\\":\\\"󱃂\\\",\\\"85\\\":\\\"󰸁\\\"},\\\"util\\\":{\\\"0\\\":\\\"󰾆\\\",\\\"30\\\":\\\"󰾅\\\",\\\"60\\\":\\\"󰓅\\\",\\\"90\\\":\\\"󰀪\\\"}}\"\neval_ico() {\n map_ico=$(echo \"${set_ico}\" | jq -r --arg aky \"$1\" --argjson avl \"$2\" '.[$aky] | keys_unsorted | map(tonumber) | map(select(. <= $avl)) | max')\n echo \"${set_ico}\" | jq -r --arg aky \"$1\" --arg avl \"$map_ico\" '.[$aky] | .[$avl]'\n}\nthermo=$(eval_ico thermo $temp)\nspeedo=$(eval_ico util $utilization)\necho \"{\\\"text\\\":\\\"${thermo} ${temp}°C\\\", \\\"tooltip\\\":\\\"${model}\\n${thermo} Temperature: ${temp}°C\\n${speedo} Utilization: ${utilization}%\\n󰘚 Clock Speed: ${frequency}\\\"}\"\n```\n\n
\n\n
\n dunst.sh\n\n```sh frame=\"code\" title=\"~/.config/waybar/scripts/dunst.sh\"\n#!/bin/bash\n\nif dunstctl is-paused | grep -q \"true\"; then\n echo '{\"text\": \"\", \"class\": \"paused\"}'\nelse\n echo '{\"text\": \"\", \"class\": \"active\"}'\nfi\n```\n\n
\n\n
\n weather.py\n\n```py frame=\"code\" title=\"~/.config/waybar/scripts/weather.py\"\n#!/usr/bin/env python\n\nimport subprocess\nfrom pyquery import PyQuery\nimport json\n\nweather_icons = {\n \"sunnyDay\": \"\",\n \"clearNight\": \"\",\n \"cloudyFoggyDay\": \"\",\n \"cloudyFoggyNight\": \"\",\n \"rainyDay\": \"\",\n \"rainyNight\": \"\",\n \"snowyIcyDay\": \"\",\n \"snowyIcyNight\": \"\",\n \"severe\": \"\",\n \"default\": \"\",\n}\n\nlocation_id = \"f1fc8cc5233b6f8620dda922b1cb97b5cc8781f508c572de2f969ff79c7b293a\"\n\nurl = \"https://weather.com/weather/today/l/\" + location_id\nhtml_data = PyQuery(url=url)\n\ntemp = html_data(\"span[data-testid='TemperatureValue']\").eq(0).text()\nstatus = html_data(\"div[data-testid='wxPhrase']\").text()\nstatus = f\"{status[:16]}..\" if len(status) > 17 else status\nstatus_code = html_data(\"#regionHeader\").attr(\"class\").split(\" \")[2].split(\"-\")[2]\nicon = (\n weather_icons[status_code]\n if status_code in weather_icons\n else weather_icons[\"default\"]\n)\ntemp_feel = html_data(\n \"div[data-testid='FeelsLikeSection'] > span > span[data-testid='TemperatureValue']\"\n).text()\ntemp_feel_text = f\"Feels like {temp_feel}F\"\ntemp_min = (\n html_data(\"div[data-testid='wxData'] > span[data-testid='TemperatureValue']\")\n .eq(0)\n .text()\n)\ntemp_max = (\n html_data(\"div[data-testid='wxData'] > span[data-testid='TemperatureValue']\")\n .eq(1)\n .text()\n)\ntemp_min_max = f\" {temp_min}\\t\\t {temp_max}\"\nwind_speed = html_data(\"span[data-testid='Wind']\").text().split(\"\\n\")[1]\nwind_text = f\" {wind_speed}\"\nhumidity = html_data(\"span[data-testid='PercentageValue']\").text()\nhumidity_text = f\" {humidity}\"\nvisbility = html_data(\"span[data-testid='VisibilityValue']\").text()\nvisbility_text = f\" {visbility}\"\nair_quality_index = html_data(\"text[data-testid='DonutChartValue']\").text()\nprediction = html_data(\"section[aria-label='Hourly Forecast']\")(\n \"div[data-testid='SegmentPrecipPercentage'] > span\"\n).text()\nprediction = prediction.replace(\"Chance of Rain\", \"\")\nprediction = f\"\\n\\n  (hourly) {prediction}\" if len(prediction) > 0 else prediction\ntooltip_text = str.format(\n \"\\t\\t{}\\t\\t\\n{}\\n{}\\n{}\\n\\n{}\\n{}\\n{}{}\",\n f'{temp}',\n f\"{icon}\",\n f\"{status}\",\n f\"{temp_feel_text}\",\n f\"{temp_min_max}\",\n f\"{wind_text}\\t{humidity_text}\",\n f\"{visbility_text}\\tAQI {air_quality_index}\",\n f\"{prediction}\",\n)\nout_data = {\n \"text\": f\"{icon} {temp}\",\n \"alt\": status,\n \"tooltip\": tooltip_text,\n \"class\": status_code,\n}\nprint(json.dumps(out_data))\n```\n\n
", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::69", - "metadata": { - "title": "Development Environment" - }, - "title": "Scripts", - "url": "https://docs.nhcarrigan.com/dev/environment#scripts" - }, - { - "content": "3.6 Ghostty\n\n```ini frame=\"code\" title=\"~/.config/ghostty/config\"\nfont-family=\"OpenDyslexicM Nerd Font\"\ntheme=\"SakuraDreamsDark\"\nbackground-opacity=0.8\ngtk-titlebar=false\n```\n\n```ini frame=\"code\" title=\"~/.config/ghostty/themes/SakuraDreamsDark\"\npalette = 0=#26010a\npalette = 1=#ff66b2\npalette = 2=#ff1493\npalette = 3=#db7093\npalette = 4=#b03060\npalette = 5=#c71585\npalette = 6=#d87093\npalette = 7=#ff5c8a\npalette = 8=#ff85a2\npalette = 9=#ff004f\npalette = 10=#ff3377\npalette = 11=#ff77a8\npalette = 12=#ff3b6f\npalette = 13=#ff6b94\npalette = 14=#ff96b5\npalette = 15=#ffe6ee\n\nbackground = #2a0a18\nbackground-blur-radius = 20\nforeground = #ffd1dc\nselection-background = #b03060\nselection-foreground = #ffe6ee\ncursor-color = #ff3b6f\ncursor-text = #ffe6ee\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::70", - "metadata": { - "title": "Development Environment" - }, - "title": "3.6 Ghostty", - "url": "https://docs.nhcarrigan.com/dev/environment#36-ghostty" - }, - { - "content": "3.7 Discord\n\n```json frame=\"code\" title=\"~/.config/discord/settings.json\"\n{\n \"chromiumSwitches\": {},\n \"IS_MAXIMIZED\": false,\n \"IS_MINIMIZED\": false,\n \"WINDOW_BOUNDS\": {\n \"x\": 22,\n \"y\": 42,\n \"width\": 1876,\n \"height\": 1016\n },\n \"SKIP_HOST_UPDATE\": true,\n \"DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING\": true,\n \"MINIMIZE_TO_TRAY\": true\n}\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::71", - "metadata": { - "title": "Development Environment" - }, - "title": "3.7 Discord", - "url": "https://docs.nhcarrigan.com/dev/environment#37-discord" - }, - { - "content": "3.8 Hyfetch\n\nThere are two config files here.\n\n```json frame=\"code\" title=\"~/.config/hyfetch.json\"\n{\n \"preset\": \"transfeminine\",\n \"mode\": \"rgb\",\n \"light_dark\": \"dark\",\n \"lightness\": 0.81,\n \"color_align\": {\n \"mode\": \"vertical\",\n \"custom_colors\": [],\n \"fore_back\": []\n },\n \"backend\": \"neofetch\",\n \"args\": null,\n \"distro\": null,\n \"pride_month_shown\": [],\n \"pride_month_disable\": false,\n \"image\": \"/home/naomi/pics/profile.png\"\n}\n```\n\n```ini frame=\"code\" title=\"~/.config/neofetch/config.conf\"\nhome_disk_info() {\n df -h | grep '/home$' | awk '{printf \"%s: %s/%s (%s)\", $NF, $3, $2, $5}'\n}\n\nboot_disk_info() {\n df -h | grep '/boot$' | awk '{printf \"%s: %s/%s (%s)\", $NF, $3, $2, $5}'\n}\n\nroot_disk_info() {\n df -h | grep '/$' | awk '{printf \"%s: %s/%s (%s)\", $NF, $3, $2, $5}'\n}\n\nprint_info() {\n info title\n info underline\n info \"OS\" distro\n info \"├─Kernel\" kernel\n info \"├─Locale\" locale\n info \"├─Shell\" shell\n prin \"├─WM\" \"$(sway --version)\"\n info \"├─Terminal\" term\n info \"└───Terminal Font\" term_font\n info \"Host\" model\n info \"├─BIOS\" bios\n info \"├─CPU\" cpu\n info \"├─GPU\" gpu\n info \"├───GPU Driver\" gpu_driver\n prin \"├─Disk\" \"$(home_disk_info)\"\n prin \"├───Root\" \"$(root_disk_info)\"\n prin \"├───Boot\" \"$(boot_disk_info)\"\n info \"└─Memory\" memory\n prin \"\"\n prin \"Programming Languages\"\n info underline\n prin \"Bash\" \"$(bash --version | head -n1 | cut -d' ' -f4)\"\n prin \"Clang\" \"$(clang --version | head -n1 | cut -d' ' -f3)\"\n prin \"C++\" \"$(cpp --version | head -n1 | cut -d' ' -f3)\"\n prin \"Dart\" \"$(dart --version | cut -d' ' -f4)\"\n prin \"└─Flutter\" \"$(flutter --version | head -n1 | cut -d' ' -f2)\"\n prin \"Dotnet\" \"$(dotnet --version)\"\n prin \"└─C-sharp Compiler\" \"$(csc -v | head -n1 | cut -d' ' -f7)\"\n prin \"Go\" \"$(go version | cut -d' ' -f3 | sed 's/go//')\"\n prin \"Haskell\" \"$(ghc --version | head -n1 | cut -d' ' -f8)\"\n prin \"└─Cabal\" \"$(cabal --version | head -n1 | cut -d' ' -f3)\"\n prin \"Java\" \"$(java -version 2>&1 | head -n1 | cut -d' ' -f2 | sed 's/\\\"//g')\"\n prin \"├─Gradle\" \"$(gradle -v | head -n3 | tail -n1 | cut -d' ' -f2)\"\n prin \"└─Kotlin\" \"$(kotlin -version | cut -d' ' -f3)\"\n prin \"Lua\" \"$(lua -v | cut -d' ' -f2)\"\n prin \"PHP\" \"$(php -v | head -n1 | cut -d' ' -f2)\"\n prin \"Python\" \"$(python --version | cut -d' ' -f2)\"\n prin \"└─PIP\" \"$(pip --version | cut -d' ' -f2)\"\n prin \"Node\" \"$(node -v)\"\n prin \"├─NPM\" \"$(npm -v)\"\n prin \"├─Yarn\" \"$(yarn -v)\"\n prin \"└─PNPM\" \"$(pnpm -v)\"\n prin \"Ruby\" \"$(ruby -v | cut -d' ' -f2)\"\n prin \"Rust\" \"$(rustc --version | cut -d' ' -f2)\"\n prin \"├─Rustup\" \"$(rustup -V | head -n1 | cut -d' ' -f2)\"\n prin \"└─Cargo\" \"$(cargo version | cut -d' ' -f2)\"\n prin \"TypeScript\" \"$(tsc -v | cut -d' ' -f2)\"\n prin \"Zig\" \"$(zig version)\"\n prin \"\"\n prin \"Databases\"\n info underline\n prin \"MongoDB\" \"$(mongod --version | head -n1 | cut -d' ' -f3)\"\n prin \"└─Mongo Shell\" \"$(mongo --version | head -n1 | cut -d' ' -f4)\"\n prin \"MySQL\" \"$(mysql --version | cut -d' ' -f4)\"\n prin \"PostgreSQL\" \"$(psql --version | cut -d' ' -f3)\"\n prin \"SQlite\" \"$(sqlite3 --version | cut -d' ' -f1)\"\n prin \"\"\n prin \"Tools\"\n info underline\n prin \"Browser\" \"Zen $(zen-browser --version | cut -d' ' -f3)\"\n prin \"Editor\" \"Emacs $(emacs --version | head -n1 | cut -d' ' -f3)\"\n prin \"└─Nano\" \"$(nano --version | head -n1 | cut -d' ' -f5)\"\n}\ntitle_fqdn=\"on\"\nkernel_shorthand=\"on\"\ndistro_shorthand=\"off\"\nos_arch=\"on\"\nmemory_percent=\"on\"\nmemory_unit=\"gib\"\nmem_precision=2\nshell_path=\"on\"\nshell_version=\"on\"\nspeed_type=\"bios_limit\"\nspeed_shorthand=\"on\"\ncpu_brand=\"on\"\ncpu_speed=\"on\"\ncpu_cores=\"logical\"\ncpu_temp=\"on\"\ngpu_brand=\"on\"\ngpu_type=\"all\"\nrefresh_rate=\"on\"\ngtk3=\"on\"\nbold=\"on\"\nunderline_enabled=\"on\"\nunderline_char=\"-\"\nseparator=\":\"\nblock_range=(0 15)\ncolor_blocks=\"on\"\nblock_width=3\nblock_height=1\ncol_offset=\"auto\"\nbar_char_elapsed=\"-\"\nbar_char_total=\"=\"\nbar_border=\"on\"\nbar_length=15\nbar_color_elapsed=\"distro\"\nbar_color_total=\"distro\"\nmemory_display=\"on\"\ndisk_display=\"on\"\nimage_backend=\"kitty\"\nimage_source=\"/home/naomi/pics/profile.png\"\nimage_loop=\"off\"\nthumbnail_dir=\"${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch\"\ncrop_mode=\"normal\"\ncrop_offset=\"center\"\nimage_size=\"auto\"\ncatimg_size=\"2\"\ngap=3\nyoffset=0\nxoffset=0\nbackground_color=\nstdout=\"off\"\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::72", - "metadata": { - "title": "Development Environment" - }, - "title": "3.8 Hyfetch", - "url": "https://docs.nhcarrigan.com/dev/environment#38-hyfetch" - }, - { - "content": "3.9 Wofi\n\n```css frame=\"code\" title=\"~/.config/wofi/style.css\"\n#window {\n background-color: rgba(42, 10, 24, 0.75);\n border-radius: 1rem;\n font-size: 1.2rem;\n font-family: \"OpenDyslexicM Nerd Font\";\n text-shadow: 0px 0px 5px;\n}\n#window #outer-box #input {\n background-color: rgba(42, 10, 24, 0.75);\n color: #ffb6c1;\n border: none;\n border-bottom: 1px solid rgba(24, 24, 24, 0.2);\n padding: 0.8rem 1rem;\n font-size: 1.5rem;\n border-radius: 1rem 1rem 0 0;\n}\n#window #outer-box #input::placeholder {\n color: #ffb6c1;\n}\n#window #outer-box #input:focus,\n#window #outer-box #input:focus-visible,\n#window #outer-box #input:active {\n border: none;\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n#window #outer-box #scroll #inner-box #entry {\n color: #ffb6c1;\n background-color: rgba(24, 24, 24, 0.1);\n padding: 0.6rem 1rem;\n}\n#window #outer-box #scroll #inner-box #entry #img {\n width: 1rem;\n margin-right: 0.5rem;\n}\n#window #outer-box #scroll #inner-box #entry:selected {\n color: #ffb6c1;\n background-color: rgba(255, 255, 255, 0.1);\n outline: none;\n}\n#text:selected {\n color: rgb(219, 112, 147);\n background-color: #ffb6c1;\n}\n\n#img:selected {\n background: none;\n}\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::73", - "metadata": { - "title": "Development Environment" - }, - "title": "3.9 Wofi", - "url": "https://docs.nhcarrigan.com/dev/environment#39-wofi" - }, - { - "content": "3.10 Dunst\n\n`dunst` manages Naomi's system notifications, and (like many other aspects of her environment) has been highly customised.\n\n```toml frame=\"code\" title=\"~/.config/dunst/dunstrc\"\n[global]\n follow=mouse\n width=(0, 750)\n height=(0, 250)\n notification_limit=10\n origin=center\n icon_corner_radius=10\n sort=update\n word_wrap=false\n ellipsize=end\n layer=overlay\n show_age_threshold=-1\n stack_duplicates=false\n corner_radius=10\n mouse_left_click=close_current\n mouse_right_click=do_action, close_current\n mouse_middle_click=none\n font=OpenDyslexicMono 12\n format=\"%a - %s\\n%b\"\n background=\"#2a0a1899\"\n foreground=\"#ffb6c1\"\n max_icon_size=32\n icon_corner_radius=10\n frame_color=\"#ffefef\"\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::74", - "metadata": { - "title": "Development Environment" - }, - "title": "3.10 Dunst", - "url": "https://docs.nhcarrigan.com/dev/environment#310-dunst" - }, - { - "content": "4. Code Editors\n\nThese are the code editors Naomi uses.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::75", - "metadata": { - "title": "Development Environment" - }, - "title": "4. Code Editors", - "url": "https://docs.nhcarrigan.com/dev/environment#4-code-editors" - }, - { - "content": "4.1. VSCodium\n\nNaomi uses VSCodium as her current code editor.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::76", - "metadata": { - "title": "Development Environment" - }, - "title": "4.1. VSCodium", - "url": "https://docs.nhcarrigan.com/dev/environment#41-vscodium" - }, - { - "content": "4.1.1. Settings\n\nThis is Naomi's configuration.\n\n```json frame=\"code\" title=\"~/.config/VSCodium/User/settings.json\"\n{\n \"workbench.iconTheme\": \"vscode-icons\",\n \"[typescript]\": {\n \"editor.defaultFormatter\": \"esbenp.prettier-vscode\"\n },\n \"[json]\": {\n \"editor.defaultFormatter\": \"esbenp.prettier-vscode\"\n },\n \"[jsonc]\": {\n \"editor.defaultFormatter\": \"esbenp.prettier-vscode\"\n },\n \"[typescriptreact]\": {\n \"editor.defaultFormatter\": \"esbenp.prettier-vscode\"\n },\n \"javascript.preferences.importModuleSpecifierEnding\": \"js\",\n \"javascript.updateImportsOnFileMove.enabled\": \"always\",\n \"typescript.preferences.importModuleSpecifierEnding\": \"js\",\n \"typescript.preferences.preferTypeOnlyAutoImports\": true,\n \"[javascript]\": {\n \"editor.defaultFormatter\": \"esbenp.prettier-vscode\"\n },\n \"typescript.updateImportsOnFileMove.enabled\": \"always\",\n \"[html]\": {\n \"editor.defaultFormatter\": \"esbenp.prettier-vscode\"\n },\n \"editor.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"files.exclude\": {\n \"**/node_modules/\": true\n },\n \"editor.fontLigatures\": true,\n \"editor.codeLensFontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"editor.inlineSuggest.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"editor.inlayHints.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"terminal.integrated.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"notebook.output.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"chat.editor.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"markdown.preview.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"colorize.languages\": [\n \"html\",\n \"javascript\",\n \"typescript\",\n \"json\",\n \"typescriptreact\",\n \"css\",\n \"sass\",\n \"scss\",\n \"less\",\n \"postcss\",\n \"sss\",\n \"stylus\",\n \"xml\",\n \"svg\"\n ],\n \"cSpell.language\": \"en-GB\",\n \"http.proxyAuthorization\": null,\n \"github.copilot.enable\": {\n \"*\": true\n },\n \"discord.detailsIdling\": \"She's not editing a file...\",\n \"discord.detailsEditing\": \"{file_name}:L{current_line}:{current_column}\",\n \"discord.lowerDetailsEditing\": \"{workspace}/{git_branch}\",\n \"discord.largeImageIdling\": \"Nothing to see here...\",\n \"discord.lowerDetailsIdling\": \"Off in lala land...\",\n \"editor.inlayHints.enabled\": \"off\",\n \"workbench.colorCustomizations\": {\n \"editor.lineHighlightBackground\": \"#1073cf2d\",\n \"editor.lineHighlightBorder\": \"#9fced11f\"\n },\n \"editor.wordWrap\": \"off\",\n \"diffEditor.wordWrap\": \"off\",\n \"editor.guides.indentation\": false,\n \"editor.guides.bracketPairs\": false,\n \"sonarlint.connectedMode.connections.sonarcloud\": [],\n \"terminal.integrated.lineHeight\": 1,\n \"[css]\": {\n \"editor.defaultFormatter\": \"esbenp.prettier-vscode\"\n },\n \"debug.console.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"scm.inputFontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"errorLens.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"gitlens.currentLine.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"gitlens.blame.fontFamily\": \"'OpenDyslexicM Nerd Font'\",\n \"sonarlint.disableTelemetry\": true,\n \"explorer.confirmDelete\": false,\n \"wordcounter.include_eol_chars\": false,\n \"wordcounter.side.left\": [\"word\", \"char\"],\n \"explorer.confirmDragAndDrop\": false,\n \"vscord.app.name\": \"VSCodium\",\n \"vscord.status.buttons.button1.active.label\": \"Wanna chat?\",\n \"vscord.status.buttons.button1.active.url\": \"https://chat.nhcarrigan.com\",\n \"vscord.status.buttons.button2.active.enabled\": true,\n \"vscord.status.buttons.button2.active.url\": \"https://chat.nhcarrigan.com\",\n \"vscord.status.buttons.button2.active.label\": \"Wanna chat?\",\n \"vscord.status.buttons.button2.enabled\": true,\n \"vscord.status.buttons.button2.idle.enabled\": true,\n \"vscord.status.buttons.button2.idle.label\": \"Wanna chat?\",\n \"vscord.status.buttons.button2.idle.url\": \"https://chat.nhcarrigan.com\",\n \"vscord.status.buttons.button2.inactive.enabled\": true,\n \"vscord.status.buttons.button2.inactive.label\": \"Wanna chat?\",\n \"vscord.status.buttons.button2.inactive.url\": \"https://chat.nhcarrigan.com\",\n \"vscord.status.buttons.button2.git.active.enabled\": true,\n \"vscord.status.buttons.button2.git.active.label\": \"Wanna chat?\",\n \"vscord.status.buttons.button2.git.active.url\": \"https://chat.nhcarrigan.com\",\n \"vscord.status.buttons.button2.git.idle.enabled\": true,\n \"vscord.status.buttons.button2.git.idle.label\": \"Wanna chat?\",\n \"vscord.status.buttons.button2.git.inactive.enabled\": true,\n \"vscord.status.buttons.button2.git.idle.url\": \"https://chat.nhcarrigan.com\",\n \"vscord.status.buttons.button2.git.inactive.label\": \"Wanna chat?\",\n \"vscord.status.buttons.button2.git.inactive.url\": \"https://chat.nhcarrigan.com\",\n \"sonarlint.connectedMode.connections.sonarqube\": [\n {\n \"serverUrl\": \"https://quality.nhcarrigan.com\",\n \"connectionId\": \"Naomi\"\n }\n ],\n \"window.menuBarVisibility\": \"toggle\",\n \"workbench.colorTheme\": \"Sakura Dreams (Dark)\"\n}\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::77", - "metadata": { - "title": "Development Environment" - }, - "title": "4.1.1. Settings", - "url": "https://docs.nhcarrigan.com/dev/environment#411-settings" - }, - { - "content": "4.1.2. Extensions\n\nNaomi uses the following extensions sourced from the Pulsar marketplace. This list does not include the core extensions bundled with the editor.\n\n```txt frame=\"terminal\" title=\"codium --list-extensions\"\n1password.op-vscode\naaron-bond.better-comments\naddy2142.avalonia-templates\nadpyke.codesnap\nahmadalli.vscode-nginx-conf\nanchoreinc.grype-vscode\naquasecurityofficial.trivy-vulnerability-scanner\nastro-build.astro-vscode\navaloniateam.vscode-avalonia\nbmewburn.vscode-intelephense-client\nbradlc.vscode-tailwindcss\nbungcip.better-toml\nchrmarti.regex\ndabbinavo.xamlstyler\ndart-code.dart-code\ndart-code.flutter\ndbaeumer.vscode-eslint\ndonjayamanne.githistory\neamodio.gitlens\nesbenp.prettier-vscode\nfirefox-devtools.vscode-firefox-debug\nfwcd.kotlin\ngithub.copilot\ngithub.copilot-chat\ngolang.go\nhaskell.haskell\nionide.ionide-fsharp\njustusadam.language-haskell\njzmstrjp.color-the-tag-name\nkirozen.wordcounter\nleodevbro.blockman\nleonardssh.vscord\nmkxml.vscode-filesize\nmrmlnc.vscode-scss\nms-dotnettools.csdevkit\nms-dotnettools.csharp\nms-dotnettools.dotnet-interactive-vscode\nms-dotnettools.vscode-dotnet-pack\nms-dotnettools.vscode-dotnet-runtime\nms-dotnettools.vscodeintellicode-csharp\nms-python.black-formatter\nms-python.debugpy\nms-python.pylint\nms-python.python\nms-python.vscode-pylance\nms-toolsai.jupyter\nms-toolsai.jupyter-keymap\nms-toolsai.jupyter-renderers\nms-toolsai.vscode-jupyter-cell-tags\nms-toolsai.vscode-jupyter-slideshow\nms-vscode.cmake-tools\nms-vscode.cpptools\nms-vscode.cpptools-extension-pack\nms-vscode.cpptools-themes\nmskelton.npm-outdated\nnhcarrigan.naomis-themes\noderwat.indent-rainbow\noracle.oracle-java\nprisma.prisma\nrebornix.ruby\nredhat.java\nrust-lang.rust-analyzer\nsonarsource.sonarlint-vscode\nstreetsidesoftware.code-spell-checker\ntwxs.cmake\nusernamehw.errorlens\nvisualstudioexptteam.intellicode-api-usage-examples\nvisualstudioexptteam.vscodeintellicode\nvitest.explorer\nvscjava.vscode-gradle\nvscjava.vscode-java-debug\nvscjava.vscode-java-dependency\nvscjava.vscode-java-pack\nvscjava.vscode-java-test\nvscjava.vscode-maven\nvscode-icons-team.vscode-icons\nwilliam-voyek.vscode-nginx\nwingrunr21.vscode-ruby\nwix.vscode-import-cost\nxdebug.php-debug\nyandeu.five-server\nyoavbls.pretty-ts-errors\nyutengjing.vscode-colorize-plus\nyzane.markdown-pdf\nziglang.vscode-zig\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::78", - "metadata": { - "title": "Development Environment" - }, - "title": "4.1.2. Extensions", - "url": "https://docs.nhcarrigan.com/dev/environment#412-extensions" - }, - { - "content": "4.1.3. Themes\n\nNaomi uses her own custom built themes, which can be found at https://git.nhcarrigan.com/nhcarrigan/vscode-themes", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::79", - "metadata": { - "title": "Development Environment" - }, - "title": "4.1.3. Themes", - "url": "https://docs.nhcarrigan.com/dev/environment#413-themes" - }, - { - "content": "4.2. Emacs\n\nNaomi uses `emacs` for her terminal editing.", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::80", - "metadata": { - "title": "Development Environment" - }, - "title": "4.2. Emacs", - "url": "https://docs.nhcarrigan.com/dev/environment#42-emacs" - }, - { - "content": "4.2.1. Config\n\n```lisp frame=\"code\" title=\"~/.config/emacs/init.el\"\n;; Initialize package system\n(require 'package)\n(setq package-archives '((\"melpa\" . \"https://melpa.org/packages/\")\n (\"org\" . \"https://orgmode.org/elpa/\")\n (\"elpa\" . \"https://elpa.gnu.org/packages/\")))\n(package-initialize)\n\n;; Bootstrap use-package\n(unless (package-installed-p 'use-package)\n (package-install 'use-package))\n(require 'use-package)\n(setq use-package-always-ensure t)\n\n;; Terminal-specific settings\n(xterm-mouse-mode 1) ; Enable mouse support\n(global-set-key (kbd \"\") 'scroll-down-line)\n(global-set-key (kbd \"\") 'scroll-up-line)\n(menu-bar-mode -1) ; Disable menu bar in terminal\n\n;; Better terminal colors\n(use-package eterm-256color\n :hook (term-mode . eterm-256color-mode))\n\n;; Line numbers configuration\n(global-display-line-numbers-mode 1) ; Enable line numbers globally\n(setq display-line-numbers-type t)\n\n;; Make line numbers stand out a bit\n(set-face-background 'line-number-current-line nil)\n(set-face-foreground 'line-number-current-line \"yellow\")\n\n;; Optional: Customize line number format\n(setq display-line-numbers-width 4) ; Reserve space for line numbers\n(setq display-line-numbers-widen t) ; Expand line number space as needed\n\n;; Disable line numbers for some modes where they don't make sense\n(dolist (mode '(term-mode-hook\n shell-mode-hook\n treemacs-mode-hook\n eshell-mode-hook))\n (add-hook mode (lambda () (display-line-numbers-mode 0))))\n\n;; Project management\n(use-package projectile\n :config\n (projectile-mode +1)\n :bind-keymap (\"C-c p\" . projectile-command-map))\n\n;; File tree with treemacs\n(use-package treemacs\n :bind\n (:map global-map\n (\"C-c t\" . treemacs))\n :config\n (treemacs-follow-mode t)\n (treemacs-project-follow-mode t))\n\n(use-package treemacs-projectile\n :after (treemacs projectile))\n\n;; LSP Mode base configuration\n(use-package lsp-mode\n :init\n (setq lsp-keymap-prefix \"C-c l\"\n lsp-enable-symbol-highlighting t\n lsp-enable-snippet t\n lsp-enable-indentation t)\n :hook\n ((typescript-mode . lsp)\n (js2-mode . lsp)\n (web-mode . lsp)\n (python-mode . lsp)\n (java-mode . lsp)\n (c++-mode . lsp)\n (c-mode . lsp)\n (csharp-mode . lsp))\n :commands lsp)\n\n;; LSP UI enhancements\n(use-package lsp-ui\n :commands lsp-ui-mode\n :config\n (setq lsp-ui-doc-enable t\n lsp-ui-doc-position 'at-point))\n\n(use-package typescript-mode\n :mode (\"\\\\.ts\\\\'\")\n :hook (typescript-mode . (lambda () (setq typescript-indent-level 2))))\n(use-package web-mode\n :mode ((\"\\\\.tsx\\\\'\" . web-mode)\n (\"\\\\.jsx\\\\'\" . web-mode))\n :config\n (setq web-mode-markup-indent-offset 2\n web-mode-css-indent-offset 2\n web-mode-code-indent-offset 2)\n web-mode-json-indent-offset 2)\n\n;; JavaScript better syntax highlighting\n(use-package js2-mode\n :mode \"\\\\.js\\\\'\")\n(setq js-indent-level 2)\n\n(use-package csharp-mode\n :config\n (add-to-list 'auto-mode-alist '(\"\\\\.cs\\\\'\" . csharp-mode)))\n\n(use-package ccls\n :hook ((c-mode c++-mode) . (lambda () (require 'ccls) (lsp))))\n\n(use-package lsp-java\n :config (add-hook 'java-mode-hook 'lsp))\n\n(use-package kotlin-mode)\n\n(use-package python-mode\n :hook (python-mode . (lambda ()\n (require 'lsp-pyright)\n (lsp))))\n(use-package lsp-pyright\n :ensure t)\n\n(use-package markdown-mode\n :mode ((\"README\\\\.md\\\\'\" . gfm-mode)\n (\"\\\\.md\\\\'\" . markdown-mode)\n (\"\\\\.mdx\\\\'\" . markdown-mode))\n :init (setq markdown-command \"multimarkdown\"))\n\n(use-package git-gutter\n :config\n (global-git-gutter-mode +1))\n\n(use-package hl-todo\n :config\n (setq hl-todo-keyword-faces\n '((\"TODO\" . \"#FF0000\")\n (\"FIXME\" . \"#FF0000\")\n (\"DEBUG\" . \"#A020F0\")\n (\"GOTCHA\" . \"#FF4500\")\n (\"STUB\" . \"#1E90FF\")))\n (global-hl-todo-mode))\n\n(use-package elcord)\n (elcord-mode)\n\n;; Redirect backup files\n(setq backup-directory-alist `((\".\" . \"~/.config/emacs/backups\")))\n\n;; Redirect auto-save files\n(setq auto-save-file-name-transforms `((\".*\" \"~/.config/emacs/auto-saves/\" t)))\n\n(setq backup-by-copying t)\n\n(custom-set-variables\n ;; custom-set-variables was added by Custom.\n ;; If you edit it by hand, you could mess it up, so be careful.\n ;; Your init file should contain only one such instance.\n ;; If there is more than one, they won't work right.\n '(package-selected-packages\n '(hl-todo format-all flycheck git-gutter lsp-pyright python-mode kotlin-mode lsp-java ccls js2-mode web-mode typescript-mode lsp-ui lsp-mode treemacs-projectile treemacs projectile eterm-256color)))\n(custom-set-faces\n ;; custom-set-faces was added by Custom.\n ;; If you edit it by hand, you could mess it up, so be careful.\n ;; Your init file should contain only one such instance.\n ;; If there is more than one, they won't work right.\n )\n\n(setq-default indent-tabs-mode nil)\n(setq-default tab-width 2)\n(setq indent-line-function 'insert-tab)\n\n(add-to-list 'custom-theme-load-path \"/home/naomi/.config/emacs/themes/\")\n(load-theme 'sakura-dreams t)\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::81", - "metadata": { - "title": "Development Environment" - }, - "title": "4.2.1. Config", - "url": "https://docs.nhcarrigan.com/dev/environment#421-config" - }, - { - "content": "4.2.2. Theme\n\n```lisp frame=\"code\" title=\"~/.config/emacs/themes/sakura-dreams-theme.el\"\n(deftheme sakura-dreams\n \"A light pink Emacs theme inspired by cherry blossoms.\")\n\n;; Set frame transparency\n(set-frame-parameter nil 'alpha-background 0)\n(add-to-list 'default-frame-alist '(alpha-background . 0))\n\n(let ((class '((class color) (min-colors 89)))\n ;; Core colors\n (bg \"unspecified-bg\")\n (bg-light \"#fff0f5\")\n (bg-lighter \"#ffeef3\")\n (fg \"#7a2048\")\n (fg-dark \"#5a1737\")\n (selection-bg \"#ffd6e0\")\n (selection-fg \"#7a2048\")\n (cursor \"#ff69b4\")\n\n ;; ANSI color palette\n (black \"#fff0f5\")\n (red \"#ff1493\")\n (green \"#ff69b4\")\n (yellow \"#ffb6c1\")\n (blue \"#db7093\")\n (magenta \"#ff85a2\")\n (cyan \"#ffafc5\")\n (white \"#ffd1dc\")\n\n ;; Bright ANSI colors\n (bright-black \"#ffe4e8\")\n (bright-red \"#ff0066\")\n (bright-green \"#ff77a8\")\n (bright-yellow \"#ffa6c9\")\n (bright-blue \"#f08080\")\n (bright-magenta \"#ff9aac\")\n (bright-cyan \"#ffc0cb\")\n (bright-white \"#fff5f7\"))\n\n (custom-theme-set-faces\n 'sakura-dreams\n\n ;; Basic faces\n `(default ((,class (:foreground ,fg :background ,bg))))\n `(cursor ((,class (:background ,cursor))))\n `(region ((,class (:background ,selection-bg :foreground ,selection-fg))))\n `(highlight ((,class (:background ,selection-bg))))\n `(hl-line ((,class (:background ,bg-light))))\n `(fringe ((,class (:background ,bg))))\n `(vertical-border ((,class (:foreground ,bg-lighter))))\n\n ;; Font-lock faces\n `(font-lock-builtin-face ((,class (:foreground ,magenta))))\n `(font-lock-comment-face ((,class (:foreground ,bright-blue :italic t))))\n `(font-lock-constant-face ((,class (:foreground ,cyan))))\n `(font-lock-doc-face ((,class (:foreground ,green))))\n `(font-lock-function-name-face ((,class (:foreground ,blue))))\n `(font-lock-keyword-face ((,class (:foreground ,magenta))))\n `(font-lock-string-face ((,class (:foreground ,green))))\n `(font-lock-type-face ((,class (:foreground ,yellow))))\n `(font-lock-variable-name-face ((,class (:foreground ,fg))))\n `(font-lock-warning-face ((,class (:foreground ,red))))\n\n ;; Mode line\n `(mode-line ((,class (:background ,bright-cyan :foreground ,fg))))\n `(mode-line-inactive ((,class (:background ,bg-light :foreground ,bright-blue))))\n\n ;; Search\n `(isearch ((,class (:background ,yellow :foreground ,fg-dark))))\n `(lazy-highlight ((,class (:background ,bright-yellow :foreground ,fg-dark))))\n\n ;; Others\n `(minibuffer-prompt ((,class (:foreground ,blue))))\n `(link ((,class (:foreground ,bright-magenta :underline t))))\n `(show-paren-match ((,class (:background ,selection-bg :foreground ,bright-red))))\n `(show-paren-mismatch ((,class (:background ,red :foreground ,white))))))\n\n;;;###autoload\n(when load-file-name\n (add-to-list 'custom-theme-load-path\n (file-name-as-directory (file-name-directory load-file-name))))\n\n(provide-theme 'sakura-dreams)\n```", - "file": "src/content/docs/dev/environment.md", - "id": "src/content/docs/dev/environment.md::82", - "metadata": { - "title": "Development Environment" - }, - "title": "4.2.2. Theme", - "url": "https://docs.nhcarrigan.com/dev/environment#422-theme" - }, - { - "content": "", - "file": "src/content/docs/dev/hall-of-fame.md", - "id": "src/content/docs/dev/hall-of-fame.md::0", - "metadata": { - "title": "Security Hall of Fame" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/dev/hall-of-fame#" - }, - { - "content": "1. Purpose\nThis document recognises the folks who have reported security vulnerabilities in our Applications pursuant to our [security policy](/security).", - "file": "src/content/docs/dev/hall-of-fame.md", - "id": "src/content/docs/dev/hall-of-fame.md::1", - "metadata": { - "title": "Security Hall of Fame" - }, - "title": "1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/hall-of-fame#1-purpose" - }, - { - "content": "2. Recognitions\n\nWe extend our thanks to the following people for their efforts in keeping our users secure:", - "file": "src/content/docs/dev/hall-of-fame.md", - "id": "src/content/docs/dev/hall-of-fame.md::2", - "metadata": { - "title": "Security Hall of Fame" - }, - "title": "2. Recognitions", - "url": "https://docs.nhcarrigan.com/dev/hall-of-fame#2-recognitions" - }, - { - "content": "We use very specific labels to help categorise our issues. This page explains what each label means.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::0", - "metadata": { - "title": "Labels" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/dev/labels#" - }, - { - "content": "1. Contribution Labels\n\nThese are the most important. These labels indicate who is encouraged to make a pull request to resolve the issue.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::1", - "metadata": { - "title": "Labels" - }, - "title": "1. Contribution Labels", - "url": "https://docs.nhcarrigan.com/dev/labels#1-contribution-labels" - }, - { - "content": "1.1. `contribute: good first issue`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::2", - "metadata": { - "title": "Labels" - }, - "title": "1.1. `contribute: good first issue`", - "url": "https://docs.nhcarrigan.com/dev/labels#11-`contribute:-good-first-issue`" - }, - { - "content": "1.1.1. Purpose\n\nIdentifies issues suitable for contributors who are new to the project.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::3", - "metadata": { - "title": "Labels" - }, - "title": "1.1.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#111-purpose" - }, - { - "content": "1.1.2. Characteristics\n\nDoes not require prior knowledge of the codebase. Issues with this label should include a detailed description of the implementation process.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::4", - "metadata": { - "title": "Labels" - }, - "title": "1.1.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#112-characteristics" - }, - { - "content": "1.1.3. Expectations\n\nContributors are responsible for ensuring their work complies with the project's licensing terms and contribution guidelines.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::5", - "metadata": { - "title": "Labels" - }, - "title": "1.1.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#113-expectations" - }, - { - "content": "1.2. `contribute: help wanted`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::6", - "metadata": { - "title": "Labels" - }, - "title": "1.2. `contribute: help wanted`", - "url": "https://docs.nhcarrigan.com/dev/labels#12-`contribute:-help-wanted`" - }, - { - "content": "1.2.1. Purpose\n\nIndicates issues open for contribution from any interested party.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::7", - "metadata": { - "title": "Labels" - }, - "title": "1.2.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#121-purpose" - }, - { - "content": "1.2.2. Characteristics\n\nTypically assumes prior experience with the codebase. As such, issues may not include a detailed implementation description.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::8", - "metadata": { - "title": "Labels" - }, - "title": "1.2.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#122-characteristics" - }, - { - "content": "1.2.3. Expectations\n\nContributors should review and adhere to the project's contribution guidelines and code of conduct before submitting work on these issues.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::9", - "metadata": { - "title": "Labels" - }, - "title": "1.2.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#123-expectations" - }, - { - "content": "1.3. `contribute: staff only`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::10", - "metadata": { - "title": "Labels" - }, - "title": "1.3. `contribute: staff only`", - "url": "https://docs.nhcarrigan.com/dev/labels#13-`contribute:-staff-only`" - }, - { - "content": "1.3.1. Purpose\n\nDesignates issues restricted to project maintainers or staff due to specific access requirements.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::11", - "metadata": { - "title": "Labels" - }, - "title": "1.3.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#131-purpose" - }, - { - "content": "1.3.2. Characteristics\n\nRequires access to production infrastructure for proper testing and implementation. As such, limited to authorised project maintainers and staff.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::12", - "metadata": { - "title": "Labels" - }, - "title": "1.3.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#132-characteristics" - }, - { - "content": "1.3.3. Expectations\n\nStaff members working on these issues must adhere to all relevant confidentiality agreements, data protection policies, and internal security protocols.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::13", - "metadata": { - "title": "Labels" - }, - "title": "1.3.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#133-expectations" - }, - { - "content": "1.4 Disclaimer\n\nLabels are assigned based on the project maintainers' best judgment 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::14", - "metadata": { - "title": "Labels" - }, - "title": "1.4 Disclaimer", - "url": "https://docs.nhcarrigan.com/dev/labels#14-disclaimer" - }, - { - "content": "2. Aspect Labels\n\nThese labels indicate the scope of the work required to resolve the issue.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::15", - "metadata": { - "title": "Labels" - }, - "title": "2. Aspect Labels", - "url": "https://docs.nhcarrigan.com/dev/labels#2-aspect-labels" - }, - { - "content": "2.1. `aspect: code`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::16", - "metadata": { - "title": "Labels" - }, - "title": "2.1. `aspect: code`", - "url": "https://docs.nhcarrigan.com/dev/labels#21-`aspect:-code`" - }, - { - "content": "2.1.1. Purpose\n\nIdentifies issues requiring changes to the project's codebase.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::17", - "metadata": { - "title": "Labels" - }, - "title": "2.1.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#211-purpose" - }, - { - "content": "2.1.2. Characteristics\n\nInvolves direct modification to the project's source code. Familiarity with the languages and libraries used is expected.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::18", - "metadata": { - "title": "Labels" - }, - "title": "2.1.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#212-characteristics" - }, - { - "content": "2.1.3. Expectations\n\nContributors must ensure their code changes comply with the project's coding standards, license terms, and any applicable software patents or copyrights.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::19", - "metadata": { - "title": "Labels" - }, - "title": "2.1.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#213-expectations" - }, - { - "content": "2.2. `aspect: dx`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::20", - "metadata": { - "title": "Labels" - }, - "title": "2.2. `aspect: dx`", - "url": "https://docs.nhcarrigan.com/dev/labels#22-`aspect:-dx`" - }, - { - "content": "2.2.1. Purpose\n\nIndicates issues related to improving the project's tooling and development workflow.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::21", - "metadata": { - "title": "Labels" - }, - "title": "2.2.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#221-purpose" - }, - { - "content": "2.2.2. Characteristics\n\nMay include changes to automated tests, development dependencies, build processes, etc. Understanding of the development workflows is expected.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::22", - "metadata": { - "title": "Labels" - }, - "title": "2.2.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#222-characteristics" - }, - { - "content": "2.2.3. Expectations\n\nChanges to tooling or dependencies must be compatible with the project's overall licensing strategy and not introduce conflicts with existing terms.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::23", - "metadata": { - "title": "Labels" - }, - "title": "2.2.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#223-expectations" - }, - { - "content": "2.3. `aspect: interface`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::24", - "metadata": { - "title": "Labels" - }, - "title": "2.3. `aspect: interface`", - "url": "https://docs.nhcarrigan.com/dev/labels#23-`aspect:-interface`" - }, - { - "content": "2.3.1. Purpose\n\nDesignates issues that affect the end-user's experience with the project.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::25", - "metadata": { - "title": "Labels" - }, - "title": "2.3.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#231-purpose" - }, - { - "content": "2.3.2. Characteristics\n\nMay 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::26", - "metadata": { - "title": "Labels" - }, - "title": "2.3.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#232-characteristics" - }, - { - "content": "2.3.3. Expectations\n\nContributors must ensure they have the necessary rights to any visual assets introduced or modified. Changes should comply with accessibility standards and regulations where applicable.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::27", - "metadata": { - "title": "Labels" - }, - "title": "2.3.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#233-expectations" - }, - { - "content": "2.4. `aspect: text`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::28", - "metadata": { - "title": "Labels" - }, - "title": "2.4. `aspect: text`", - "url": "https://docs.nhcarrigan.com/dev/labels#24-`aspect:-text`" - }, - { - "content": "2.4.1. Purpose\n\nIdentifies issues related to the project's documentation.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::29", - "metadata": { - "title": "Labels" - }, - "title": "2.4.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#241-purpose" - }, - { - "content": "2.4.2. Characteristics\n\nTypically does not require code changes. Proficiency in technical writing is a must.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::30", - "metadata": { - "title": "Labels" - }, - "title": "2.4.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#242-characteristics" - }, - { - "content": "2.4.3. Expectations\n\nContributors must ensure the accuracy of the information provided in documentation updates. Documentation changes should adhere to any applicable style guides and licensing terms.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::31", - "metadata": { - "title": "Labels" - }, - "title": "2.4.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#243-expectations" - }, - { - "content": "2.5 Disclaimer\n\nAspect 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::32", - "metadata": { - "title": "Labels" - }, - "title": "2.5 Disclaimer", - "url": "https://docs.nhcarrigan.com/dev/labels#25-disclaimer" - }, - { - "content": "3. Goal Labels\n\nThese 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::33", - "metadata": { - "title": "Labels" - }, - "title": "3. Goal Labels", - "url": "https://docs.nhcarrigan.com/dev/labels#3-goal-labels" - }, - { - "content": "3.1. `goal: addition`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::34", - "metadata": { - "title": "Labels" - }, - "title": "3.1. `goal: addition`", - "url": "https://docs.nhcarrigan.com/dev/labels#31-`goal:-addition`" - }, - { - "content": "3.1.1. Purpose\n\nIdentifies issues that involve adding a new feature to the project.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::35", - "metadata": { - "title": "Labels" - }, - "title": "3.1.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#311-purpose" - }, - { - "content": "3.1.2. Characteristics\n\nTypically involves creating new code files. Understanding of how different modules in the project integrate with each other is expected.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::36", - "metadata": { - "title": "Labels" - }, - "title": "3.1.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#312-characteristics" - }, - { - "content": "3.1.3. Expectations\n\nContributors 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::37", - "metadata": { - "title": "Labels" - }, - "title": "3.1.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#313-expectations" - }, - { - "content": "3.2. `goal: fix`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::38", - "metadata": { - "title": "Labels" - }, - "title": "3.2. `goal: fix`", - "url": "https://docs.nhcarrigan.com/dev/labels#32-`goal:-fix`" - }, - { - "content": "3.2.1. Purpose\n\nDesignates issues aimed at fixing bugs in the project.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::39", - "metadata": { - "title": "Labels" - }, - "title": "3.2.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#321-purpose" - }, - { - "content": "3.2.2. Characteristics\n\nTypically involves editing code within existing files. Scope should be kept to the specific bug - separate contributions should be made for unrelated bugs.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::40", - "metadata": { - "title": "Labels" - }, - "title": "3.2.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#322-characteristics" - }, - { - "content": "3.2.3. Expectations\n\nBug 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).", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::41", - "metadata": { - "title": "Labels" - }, - "title": "3.2.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#323-expectations" - }, - { - "content": "3.3. `goal: improvement`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::42", - "metadata": { - "title": "Labels" - }, - "title": "3.3. `goal: improvement`", - "url": "https://docs.nhcarrigan.com/dev/labels#33-`goal:-improvement`" - }, - { - "content": "3.3.1. Purpose\n\nIndicates issues that expand upon or enhance existing features.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::43", - "metadata": { - "title": "Labels" - }, - "title": "3.3.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#331-purpose" - }, - { - "content": "3.3.2. Characteristics\n\nUsually involves adding code to existing files. Scope should be kept to the existing feature.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::44", - "metadata": { - "title": "Labels" - }, - "title": "3.3.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#332-characteristics" - }, - { - "content": "3.3.3. Expectations\n\nImprovements 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::45", - "metadata": { - "title": "Labels" - }, - "title": "3.3.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#333-expectations" - }, - { - "content": "3.4. Disclaimer\n\nWhile 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::46", - "metadata": { - "title": "Labels" - }, - "title": "3.4. Disclaimer", - "url": "https://docs.nhcarrigan.com/dev/labels#34-disclaimer" - }, - { - "content": "4. Priority Labels\n\nPriority labels indicate the importance assigned to specific issues by the project maintainers. These labels help guide resource allocation and set expectations for resolution timeframes.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::47", - "metadata": { - "title": "Labels" - }, - "title": "4. Priority Labels", - "url": "https://docs.nhcarrigan.com/dev/labels#4-priority-labels" - }, - { - "content": "4.1. `priority: critical`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::48", - "metadata": { - "title": "Labels" - }, - "title": "4.1. `priority: critical`", - "url": "https://docs.nhcarrigan.com/dev/labels#41-`priority:-critical`" - }, - { - "content": "4.1.1. Purpose\n\nIdentifies issues requiring immediate attention due to their severe impact on project usability.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::49", - "metadata": { - "title": "Labels" - }, - "title": "4.1.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#411-purpose" - }, - { - "content": "4.1.2. Characteristics\n\nRequire urgent resolution to restore project functionality. Experience with the project is a must, to avoid delays from long review processes.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::50", - "metadata": { - "title": "Labels" - }, - "title": "4.1.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#412-characteristics" - }, - { - "content": "4.1.3. Expectations\n\nMay 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).", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::51", - "metadata": { - "title": "Labels" - }, - "title": "4.1.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#413-expectations" - }, - { - "content": "4.2. `priority: high`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::52", - "metadata": { - "title": "Labels" - }, - "title": "4.2. `priority: high`", - "url": "https://docs.nhcarrigan.com/dev/labels#42-`priority:-high`" - }, - { - "content": "4.2.1. Purpose\n\nDesignates important issues that, while not preventing basic functionality, are impeding further development.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::53", - "metadata": { - "title": "Labels" - }, - "title": "4.2.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#421-purpose" - }, - { - "content": "4.2.2. Characteristics\n\nNot critical for current project operation but blocking future progress. Require prompt attention to unblock development efforts.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::54", - "metadata": { - "title": "Labels" - }, - "title": "4.2.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#422-characteristics" - }, - { - "content": "4.2.3. Expectations\n\nMay involve compliance deadlines or contractual obligations that need to be met. Could impact project timelines, potentially affecting agreements with stakeholders or clients.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::55", - "metadata": { - "title": "Labels" - }, - "title": "4.2.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#423-expectations" - }, - { - "content": "4.3. `priority: medium`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::56", - "metadata": { - "title": "Labels" - }, - "title": "4.3. `priority: medium`", - "url": "https://docs.nhcarrigan.com/dev/labels#43-`priority:-medium`" - }, - { - "content": "4.3.1. Purpose\n\nIndicates issues that need resolution as soon as possible but are not blocking other development.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::57", - "metadata": { - "title": "Labels" - }, - "title": "4.3.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#431-purpose" - }, - { - "content": "4.3.2. Characteristics\n\nImportant for project improvement but not critical for current functionality. Should be addressed in a timely manner but with less urgency than high-priority issues.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::58", - "metadata": { - "title": "Labels" - }, - "title": "4.3.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#432-characteristics" - }, - { - "content": "4.3.3. Expectations\n\nMay involve improvements to user experience or accessibility, which could have legal implications if neglected long-term. Could relate to optimizations that affect performance guarantees or service level agreements.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::59", - "metadata": { - "title": "Labels" - }, - "title": "4.3.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#433-expectations" - }, - { - "content": "4.4. `priority: low`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::60", - "metadata": { - "title": "Labels" - }, - "title": "4.4. `priority: low`", - "url": "https://docs.nhcarrigan.com/dev/labels#44-`priority:-low`" - }, - { - "content": "4.4.1. Purpose\n\nRepresents issues that should be resolved but are not considered urgent.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::61", - "metadata": { - "title": "Labels" - }, - "title": "4.4.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#441-purpose" - }, - { - "content": "4.4.2. Characteristics\n\nDesirable improvements or minor issues that don't significantly impact project functionality.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::62", - "metadata": { - "title": "Labels" - }, - "title": "4.4.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#442-characteristics" - }, - { - "content": "4.4.3. Expectations\n\nWhile 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::63", - "metadata": { - "title": "Labels" - }, - "title": "4.4.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#443-expectations" - }, - { - "content": "4.5. `priority: none`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::64", - "metadata": { - "title": "Labels" - }, - "title": "4.5. `priority: none`", - "url": "https://docs.nhcarrigan.com/dev/labels#45-`priority:-none`" - }, - { - "content": "4.5.1. Purpose\n\nIdentifies \"nice-to-have\" issues that are not essential for project functionality or immediate development goals.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::65", - "metadata": { - "title": "Labels" - }, - "title": "4.5.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#451-purpose" - }, - { - "content": "4.5.2. Characteristics\n\nNot critical enough to dedicate maintainer time for resolution. Often left for community contributors or future consideration.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::66", - "metadata": { - "title": "Labels" - }, - "title": "4.5.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#452-characteristics" - }, - { - "content": "4.5.3. Expectations\n\nWhile not prioritized, maintainers should periodically review these issues to ensure they haven't become more significant over time, potentially accruing legal or compliance risks.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::67", - "metadata": { - "title": "Labels" - }, - "title": "4.5.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#453-expectations" - }, - { - "content": "4.6 Disclaimer\n\nPriority 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::68", - "metadata": { - "title": "Labels" - }, - "title": "4.6 Disclaimer", - "url": "https://docs.nhcarrigan.com/dev/labels#46-disclaimer" - }, - { - "content": "5. Status Labels\n\nStatus labels indicate the current stage of an issue in the project lifecycle. These labels help manage workflow and set expectations for contributors and users.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::69", - "metadata": { - "title": "Labels" - }, - "title": "5. Status Labels", - "url": "https://docs.nhcarrigan.com/dev/labels#5-status-labels" - }, - { - "content": "5.1. `status: awaiting triage`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::70", - "metadata": { - "title": "Labels" - }, - "title": "5.1. `status: awaiting triage`", - "url": "https://docs.nhcarrigan.com/dev/labels#51-`status:-awaiting-triage`" - }, - { - "content": "5.1.1. Purpose\n\nIdentifies newly created issues that have not yet been reviewed by the maintainer team.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::71", - "metadata": { - "title": "Labels" - }, - "title": "5.1.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#511-purpose" - }, - { - "content": "5.1.2. Characteristics\n\nShould be applied to issues when they are opened.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::72", - "metadata": { - "title": "Labels" - }, - "title": "5.1.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#512-characteristics" - }, - { - "content": "5.1.3. Expectations\n\nContributors 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::73", - "metadata": { - "title": "Labels" - }, - "title": "5.1.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#513-expectations" - }, - { - "content": "5.2. `status: blocked`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::74", - "metadata": { - "title": "Labels" - }, - "title": "5.2. `status: blocked`", - "url": "https://docs.nhcarrigan.com/dev/labels#52-`status:-blocked`" - }, - { - "content": "5.2.1. Purpose\n\nIndicates issues with a planned resolution that depend on the completion of another issue.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::75", - "metadata": { - "title": "Labels" - }, - "title": "5.2.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#521-purpose" - }, - { - "content": "5.2.2. Characteristics\n\nNot yet ready for work but expected to be addressed in the future.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::76", - "metadata": { - "title": "Labels" - }, - "title": "5.2.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#522-characteristics" - }, - { - "content": "5.2.3. Expectations\n\nMaintainers 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::77", - "metadata": { - "title": "Labels" - }, - "title": "5.2.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#523-expectations" - }, - { - "content": "5.3. `status: discarded`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::78", - "metadata": { - "title": "Labels" - }, - "title": "5.3. `status: discarded`", - "url": "https://docs.nhcarrigan.com/dev/labels#53-`status:-discarded`" - }, - { - "content": "5.3.1. Purpose\n\nDesignates issues that the project team does not intend to resolve.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::79", - "metadata": { - "title": "Labels" - }, - "title": "5.3.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#531-purpose" - }, - { - "content": "5.3.2. Characteristics\n\nTypically applied to feature requests that don't align with project goals.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::80", - "metadata": { - "title": "Labels" - }, - "title": "5.3.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#532-characteristics" - }, - { - "content": "5.3.3. Expectations\n\nClearly 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::81", - "metadata": { - "title": "Labels" - }, - "title": "5.3.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#533-expectations" - }, - { - "content": "5.4. `status: discontinued`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::82", - "metadata": { - "title": "Labels" - }, - "title": "5.4. `status: discontinued`", - "url": "https://docs.nhcarrigan.com/dev/labels#54-`status:-discontinued`" - }, - { - "content": "5.4.1. Purpose\n\nApplies to feature requests for projects in maintenance mode.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::83", - "metadata": { - "title": "Labels" - }, - "title": "5.4.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#541-purpose" - }, - { - "content": "5.4.2. Characteristics\n\nIndicates no new features will be added, but bug fixes and support continue.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::84", - "metadata": { - "title": "Labels" - }, - "title": "5.4.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#542-characteristics" - }, - { - "content": "5.4.3. Expectations\n\nClearly 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::85", - "metadata": { - "title": "Labels" - }, - "title": "5.4.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#543-expectations" - }, - { - "content": "5.5. `status: label work required`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::86", - "metadata": { - "title": "Labels" - }, - "title": "5.5. `status: label work required`", - "url": "https://docs.nhcarrigan.com/dev/labels#55-`status:-label-work-required`" - }, - { - "content": "5.5.1. Purpose\n\nIndicates issues that need proper labeling and categorization.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::87", - "metadata": { - "title": "Labels" - }, - "title": "5.5.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#551-purpose" - }, - { - "content": "5.5.2. Characteristics\n\nMay have ongoing discussions but lack appropriate classification.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::88", - "metadata": { - "title": "Labels" - }, - "title": "5.5.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#552-characteristics" - }, - { - "content": "5.5.3. Expectations\n\nProper labeling is crucial for efficient project management and may have implications for compliance tracking and reporting. Establish clear guidelines for labeling to ensure consistency and avoid potential misunderstandings.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::89", - "metadata": { - "title": "Labels" - }, - "title": "5.5.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#553-expectations" - }, - { - "content": "5.6. `status: ready for dev`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::90", - "metadata": { - "title": "Labels" - }, - "title": "5.6. `status: ready for dev`", - "url": "https://docs.nhcarrigan.com/dev/labels#56-`status:-ready-for-dev`" - }, - { - "content": "5.6.1. Purpose\n\nSignifies issues that are ready for contribution.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::91", - "metadata": { - "title": "Labels" - }, - "title": "5.6.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#561-purpose" - }, - { - "content": "5.6.2. Characteristics\n\nMay have an assigned contributor who has expressed interest.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::92", - "metadata": { - "title": "Labels" - }, - "title": "5.6.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#562-characteristics" - }, - { - "content": "5.6.3. Expectations\n\nClearly 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::93", - "metadata": { - "title": "Labels" - }, - "title": "5.6.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#563-expectations" - }, - { - "content": "5.7. `status: ticket work required`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::94", - "metadata": { - "title": "Labels" - }, - "title": "5.7. `status: ticket work required`", - "url": "https://docs.nhcarrigan.com/dev/labels#57-`status:-ticket-work-required`" - }, - { - "content": "5.7.1. Purpose\n\nIndicates issues lacking sufficient information for proper triage.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::95", - "metadata": { - "title": "Labels" - }, - "title": "5.7.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#571-purpose" - }, - { - "content": "5.7.2. Characteristics\n\nOften paired with Conversation Labels for further clarification.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::96", - "metadata": { - "title": "Labels" - }, - "title": "5.7.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#572-characteristics" - }, - { - "content": "5.7.3. Expectations\n\nEstablish clear guidelines for required information to avoid potential misunderstandings or misdirected efforts. Be mindful of data privacy when requesting additional information from issue reporters.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::97", - "metadata": { - "title": "Labels" - }, - "title": "5.7.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#573-expectations" - }, - { - "content": "5.8. Disclaimer\n\nStatus 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::98", - "metadata": { - "title": "Labels" - }, - "title": "5.8. Disclaimer", - "url": "https://docs.nhcarrigan.com/dev/labels#58-disclaimer" - }, - { - "content": "6. Conversation Labels\n\nConversation 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::99", - "metadata": { - "title": "Labels" - }, - "title": "6. Conversation Labels", - "url": "https://docs.nhcarrigan.com/dev/labels#6-conversation-labels" - }, - { - "content": "6.1. `talk: discussion`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::100", - "metadata": { - "title": "Labels" - }, - "title": "6.1. `talk: discussion`", - "url": "https://docs.nhcarrigan.com/dev/labels#61-`talk:-discussion`" - }, - { - "content": "6.1.1. Purpose\n\nIdentifies issues that are under active discussion but have not yet been accepted for resolution.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::101", - "metadata": { - "title": "Labels" - }, - "title": "6.1.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#611-purpose" - }, - { - "content": "6.1.2. Characteristics\n\nOngoing dialogue between maintainers, contributors, and/or users. May involve debates about feature requests, implementation strategies, or project direction.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::102", - "metadata": { - "title": "Labels" - }, - "title": "6.1.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#612-characteristics" - }, - { - "content": "6.1.3. Expectations\n\nEnsure 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::103", - "metadata": { - "title": "Labels" - }, - "title": "6.1.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#613-expectations" - }, - { - "content": "6.2. `talk: question`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::104", - "metadata": { - "title": "Labels" - }, - "title": "6.2. `talk: question`", - "url": "https://docs.nhcarrigan.com/dev/labels#62-`talk:-question`" - }, - { - "content": "6.2.1. Purpose\n\nIndicates issues waiting on additional information from the author for proper triage.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::105", - "metadata": { - "title": "Labels" - }, - "title": "6.2.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#621-purpose" - }, - { - "content": "6.2.2. Characteristics\n\nRequires clarification or more details from the issue creator. Cannot proceed with triage or resolution until the requested information is provided.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::106", - "metadata": { - "title": "Labels" - }, - "title": "6.2.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#622-characteristics" - }, - { - "content": "6.2.3. Expectations\n\nClearly 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::107", - "metadata": { - "title": "Labels" - }, - "title": "6.2.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#623-expectations" - }, - { - "content": "6.3. Disclaimer\n\nConversation 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::108", - "metadata": { - "title": "Labels" - }, - "title": "6.3. Disclaimer", - "url": "https://docs.nhcarrigan.com/dev/labels#63-disclaimer" - }, - { - "content": "7. Pull Request Labels\n\nPull Request (PR) labels are used to indicate the current status of pull requests and guide contributors through the review and merge process.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::109", - "metadata": { - "title": "Labels" - }, - "title": "7. Pull Request Labels", - "url": "https://docs.nhcarrigan.com/dev/labels#7-pull-request-labels" - }, - { - "content": "7.1. `pull: merge conflict`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::110", - "metadata": { - "title": "Labels" - }, - "title": "7.1. `pull: merge conflict`", - "url": "https://docs.nhcarrigan.com/dev/labels#71-`pull:-merge-conflict`" - }, - { - "content": "7.1.1. Purpose\n\nIndicates that the pull request has conflicts with the target branch.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::111", - "metadata": { - "title": "Labels" - }, - "title": "7.1.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#711-purpose" - }, - { - "content": "7.1.2. Characteristics\n\nConflicts need to be resolved before the PR can be reviewed or merged. May require action from the original contributor or project maintainers.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::112", - "metadata": { - "title": "Labels" - }, - "title": "7.1.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#712-characteristics" - }, - { - "content": "7.1.3. Expectations\n\nClearly 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).", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::113", - "metadata": { - "title": "Labels" - }, - "title": "7.1.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#713-expectations" - }, - { - "content": "7.2. `pull: ready for review`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::114", - "metadata": { - "title": "Labels" - }, - "title": "7.2. `pull: ready for review`", - "url": "https://docs.nhcarrigan.com/dev/labels#72-`pull:-ready-for-review`" - }, - { - "content": "7.2.1. Purpose\n\nSignifies that the pull request is not in draft mode and is awaiting maintainer review.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::115", - "metadata": { - "title": "Labels" - }, - "title": "7.2.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#721-purpose" - }, - { - "content": "7.2.2. Characteristics\n\nPR has been submitted as complete and ready for evaluation. Maintainers should prioritize reviewing these PRs.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::116", - "metadata": { - "title": "Labels" - }, - "title": "7.2.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#722-characteristics" - }, - { - "content": "7.2.3. Expectations\n\nEnsure contributors understand that \"ready for review\" doesn't guarantee acceptance or merging. Maintain clear review criteria and communicate them to contributors.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::117", - "metadata": { - "title": "Labels" - }, - "title": "7.2.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#723-expectations" - }, - { - "content": "7.3. `pull: requires update`", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::118", - "metadata": { - "title": "Labels" - }, - "title": "7.3. `pull: requires update`", - "url": "https://docs.nhcarrigan.com/dev/labels#73-`pull:-requires-update`" - }, - { - "content": "7.3.1. Purpose\n\nIndicates that the maintainer team has requested changes to the pull request.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::119", - "metadata": { - "title": "Labels" - }, - "title": "7.3.1. Purpose", - "url": "https://docs.nhcarrigan.com/dev/labels#731-purpose" - }, - { - "content": "7.3.2. Characteristics\n\nFeedback has been provided, and updates are needed before further review or merging. Requires action from the contributor to address the requested changes.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::120", - "metadata": { - "title": "Labels" - }, - "title": "7.3.2. Characteristics", - "url": "https://docs.nhcarrigan.com/dev/labels#732-characteristics" - }, - { - "content": "7.3.3. Expectations\n\nClearly document requested changes to maintain transparency and avoid misunderstandings. Consider setting timeframes for updates to manage the PR lifecycle effectively.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::121", - "metadata": { - "title": "Labels" - }, - "title": "7.3.3. Expectations", - "url": "https://docs.nhcarrigan.com/dev/labels#733-expectations" - }, - { - "content": "7.4. Disclaimer\n\nThe 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.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::122", - "metadata": { - "title": "Labels" - }, - "title": "7.4. Disclaimer", - "url": "https://docs.nhcarrigan.com/dev/labels#74-disclaimer" - }, - { - "content": "8. Continuous Improvement\n\nWe encourage all project participants to provide feedback on our labeling system. If you have suggestions for improvements or notice any inconsistencies, please reach out to us in our [forums](https://forum.nhcarrigan.com).", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::123", - "metadata": { - "title": "Labels" - }, - "title": "8. Continuous Improvement", - "url": "https://docs.nhcarrigan.com/dev/labels#8-continuous-improvement" - }, - { - "content": "9. Legal Notice\n\nThis 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.\n\nBy using these labels and participating in the project, you agree to abide by the project's code of conduct and contribution guidelines.", - "file": "src/content/docs/dev/labels.md", - "id": "src/content/docs/dev/labels.md::124", - "metadata": { - "title": "Labels" - }, - "title": "9. Legal Notice", - "url": "https://docs.nhcarrigan.com/dev/labels#9-legal-notice" - }, - { - "content": "This document outlines how we set up our remote servers for running projects.", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::0", - "metadata": { - "title": "Server Setup" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/dev/servers#" - }, - { - "content": "1. Provision a Server\n\nWe 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.", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::1", - "metadata": { - "title": "Server Setup" - }, - "title": "1. Provision a Server", - "url": "https://docs.nhcarrigan.com/dev/servers#1-provision-a-server" - }, - { - "content": "2. Set Up User\n\nYou should never run applications on root. SSH into the new VPS to prepare your user.", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::2", - "metadata": { - "title": "Server Setup" - }, - "title": "2. Set Up User", - "url": "https://docs.nhcarrigan.com/dev/servers#2-set-up-user" - }, - { - "content": "2.1. Creating the User\n\nYou'll need to set a password for the `root` account first.\n\n```bash\npasswd\n```\n\nOnce you have set a password, ensure that you have provided it to Naomi to store in the vault.\n\nCreate an `nhcarrigan` user for our organisation.\n\n```bash\nadduser nhcarrigan\n```\n\nSet a **different** password, and provide that to Naomi as well. For all of the user information, use the default blank values.\n\nAdd the new user to the sudoers file.\n\n```bash\nusermod -aG sudo nhcarrigan\n```\n\nThen sync the SSH keys so we can authenticate as that user.\n\n```bash\nrsync --archive --chown=nhcarrigan:nhcarrigan ~/.ssh /home/nhcarrigan\n```\n\nWhile you are there, set the timezone for the server to our business' local timezone.\n\n```bash\nsudo timedatectl set-timezone America/Los_Angeles\n```", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::3", - "metadata": { - "title": "Server Setup" - }, - "title": "2.1. Creating the User", - "url": "https://docs.nhcarrigan.com/dev/servers#21-creating-the-user" - }, - { - "content": "3. Preparing For Web Requests\n\nTo prepare the server to receive web requests, you'll need to follow a few steps.", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::4", - "metadata": { - "title": "Server Setup" - }, - "title": "3. Preparing For Web Requests", - "url": "https://docs.nhcarrigan.com/dev/servers#3-preparing-for-web-requests" - }, - { - "content": "3.1. SSL Certificate\n\n:::note\nIf the Firewall has been set up, you'll need to temporarily allow port 80 for the certificate to generate.\n:::\n\nWe use LetsEncrypt to provision our SSL certificates. If it is not installed, install it with:\n\n```bash\nsudo snap install --classic certbot\n```\n\nThen link the snap to our `usr` directory.\n\n```bash\nsudo ln -s /snap/bin/certbot /usr/bin/certbot\n```\n\nGenerate a certificate with:\n\n```bash\nsudo certbot certonly --standalone\n```\n\nAnd allow applications to read it:\n\n```bash\nsudo chmod -R a+rwx /etc/letsencrypt\n```\n\nWhen you need to renew the certificate:\n\n```bash\nsudo certbot renew\n```", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::5", - "metadata": { - "title": "Server Setup" - }, - "title": "3.1. SSL Certificate", - "url": "https://docs.nhcarrigan.com/dev/servers#31-ssl-certificate" - }, - { - "content": "3.2. NGINX\n\nAll requests should be routed through NGINX. At no point should an application run directly on ports 80 or 443.\n\nInstall NGINX:\n\n```bash\nsudo apt-get install nginx\n```\n\nEdit the configuration file:\n\n```bash\nsudo emacs /etc/nginx/conf.d/server.conf\n```\n\nUse this template to set up a reverse proxy on the standard HTTPS port 443:\n\n```nginx\nserver {\n listen 443 ssl;\n server_name subdomain.domain.tld;\n ssl_certificate /etc/letsencrypt/live/subdomain.domain.tld/fullchain.pem;\n ssl_certificate_key /etc/letsencrypt/live/subdomain.domain.tld/privkey.pem;\n\n location / {\n proxy_set_header Host $host;\n proxy_pass https://127.0.0.1:port;\n proxy_redirect off;\n }\n}\n```\n\nValidate that the config is correct with:\n\n```bash\nsudo nginx -t\n```\n\nIf so, restart NGINX to apply the changes:\n\n```bash\nsudo systemctl restart nginx\n```", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::6", - "metadata": { - "title": "Server Setup" - }, - "title": "3.2. NGINX", - "url": "https://docs.nhcarrigan.com/dev/servers#32-nginx" - }, - { - "content": "4. Securing the Server\n\nWe 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.", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::7", - "metadata": { - "title": "Server Setup" - }, - "title": "4. Securing the Server", - "url": "https://docs.nhcarrigan.com/dev/servers#4-securing-the-server" - }, - { - "content": "4.1. Firewall\n\nWe use `ufw` as our firewall. First, enable the SSH port.\n\n```bash\nsudo ufw allow \"OpenSSH\"\n```\n\nThen, allow the standard HTTPS port and **deny** the standard HTTP port.\n\n```bash\nsudo ufw deny http\nsudo ufw allow https\n```\n\nEnable the firewall. You may get dropped from the SSH connection.\n\n```bash\nsudo ufw enable\n```", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::8", - "metadata": { - "title": "Server Setup" - }, - "title": "4.1. Firewall", - "url": "https://docs.nhcarrigan.com/dev/servers#41-firewall" - }, - { - "content": "4.2. Fail2Ban\n\nWe also use Fail2Ban to block IP addresses which fail to make requests too often.\n\nInstall the tool:\n\n```bash\nsudo apt-get install fail2ban\n```\n\nConfigure the NGINX jail in `/etc/fail2ban/jail.d/nginx-auth.conf`:\n\n```ini\n[nginx-auth]\nenabled = true\nfilter = nginx-auth\nlogpath = /var/log/nginx/access.log\nmaxretry = 3\nfindtime = 86400\nbantime = 86400\n```\n\nConfigure the NGINX filter in `/etc/fail2ban/filter.d/nginx-auth.conf`:\n\n```ini\n[Definition]\nfailregex = ^ - .* \\[.*\\] \".*\" (4\\d{2}) .*$\n```\n\nBecause we use Cloudflare, you'll need to grab the original IP for all requests. Start by creating a file to store Cloudflare's IPs.\n\n```bash\nsudo touch /etc/nginx/cloudflare_ips.conf\n```\n\nThen create your script:\n\n```bash\nnano ~/update_cf_ips.sh\n```\n\n```bash\n#!/bin/bash", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::9", - "metadata": { - "title": "Server Setup" - }, - "title": "4.2. Fail2Ban", - "url": "https://docs.nhcarrigan.com/dev/servers#42-fail2ban" - }, - { - "content": "Create a temporary file\ntemp_file=$(mktemp)", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::10", - "metadata": { - "title": "Server Setup" - }, - "title": "Create a temporary file", - "url": "https://docs.nhcarrigan.com/dev/servers#create-a-temporary-file" - }, - { - "content": "Download IPv4 ranges and format each line\ncurl -s https://www.cloudflare.com/ips-v4 | while read ip; do\n echo \"set_real_ip_from $ip;\" >> \"$temp_file\"\ndone", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::11", - "metadata": { - "title": "Server Setup" - }, - "title": "Download IPv4 ranges and format each line", - "url": "https://docs.nhcarrigan.com/dev/servers#download-ipv4-ranges-and-format-each-line" - }, - { - "content": "Download IPv6 ranges and format each line\ncurl -s https://www.cloudflare.com/ips-v6 | while read ip; do\n echo \"set_real_ip_from $ip;\" >> \"$temp_file\"\ndone", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::12", - "metadata": { - "title": "Server Setup" - }, - "title": "Download IPv6 ranges and format each line", - "url": "https://docs.nhcarrigan.com/dev/servers#download-ipv6-ranges-and-format-each-line" - }, - { - "content": "Add the real_ip_header directive\necho \"real_ip_header CF-Connecting-IP;\" >> \"$temp_file\"", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::13", - "metadata": { - "title": "Server Setup" - }, - "title": "Add the real_ip_header directive", - "url": "https://docs.nhcarrigan.com/dev/servers#add-the-real_ip_header-directive" - }, - { - "content": "Replace the old file with the new one\nsudo mv \"$temp_file\" /etc/nginx/cloudflare_ips.conf", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::14", - "metadata": { - "title": "Server Setup" - }, - "title": "Replace the old file with the new one", - "url": "https://docs.nhcarrigan.com/dev/servers#replace-the-old-file-with-the-new-one" - }, - { - "content": "Test Nginx configuration\nsudo nginx -t", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::15", - "metadata": { - "title": "Server Setup" - }, - "title": "Test Nginx configuration", - "url": "https://docs.nhcarrigan.com/dev/servers#test-nginx-configuration" - }, - { - "content": "If the test is successful, reload Nginx\nif [ $? -eq 0 ]; then\n sudo systemctl reload nginx\n echo \"Nginx configuration updated and reloaded successfully.\"\nelse\n echo \"Nginx configuration test failed. Please check your configuration.\"\nfi\n```\n\nMake it executable and run it:\n\n```bash\nsudo chmod +x update_cf_ips.sh\nsudo ./update_cf_ips.sh\n```\n\nIf it runs as expected, set it up to run on a CRON.\n\n```bash\nsudo crontab -e\n```\n\n```bash\n0 3 * * 1 ~/update_cf_ips.sh\n```\n\nThen, update the `/etc/nginx/nginx.conf` to use all of this new logic. This goes at the end of your `http` directive block.\n\n```nginx", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::16", - "metadata": { - "title": "Server Setup" - }, - "title": "If the test is successful, reload Nginx", - "url": "https://docs.nhcarrigan.com/dev/servers#if-the-test-is-successful,-reload-nginx" - }, - { - "content": "Look at the real IP, not the cloudflare IP.\ninclude /etc/nginx/cloudflare_ips.conf;\n\nlog_format custom_format '$remote_addr - $remote_user [$time_local] '\n '\"$request\" $status $body_bytes_sent '\n '\"$http_referer\" \"$http_user_agent\" '\n '\"$http_x_forwarded_for\"';\n\naccess_log /var/log/nginx/access.log custom_format;\n```\n\nConfirm the NGINX configuration is correct:\n\n```bash\nsudo nginx -t\n```\n\nThen restart everything.\n\n```bash\nsudo systemctl restart nginx\nsudo systemctl restart fail2ban\n```\n\nTo view banned IPs:\n\n```bash\nsudo fail2ban-client status nginx-auth\n```\n\nAnd to unban them:\n\n```bash\nsudo fail2ban-client set nginx-auth unbanip \n```", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::17", - "metadata": { - "title": "Server Setup" - }, - "title": "Look at the real IP, not the cloudflare IP.", - "url": "https://docs.nhcarrigan.com/dev/servers#look-at-the-real-ip,-not-the-cloudflare-ip" - }, - { - "content": "5. Uploading a Project\n\nTo 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:\n\n```bash\ngit clone \ncd /path/to/project\n```\n\nThen sync the project up to the machine, ignoring any installed packages.\n\n```bash\nrsync -av --exclude='node_modules' ./ :/home/nhcarrigan/\n```", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::18", - "metadata": { - "title": "Server Setup" - }, - "title": "5. Uploading a Project", - "url": "https://docs.nhcarrigan.com/dev/servers#5-uploading-a-project" - }, - { - "content": "6. Running a Project\n\nNow you are ready to start running the project.", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::19", - "metadata": { - "title": "Server Setup" - }, - "title": "6. Running a Project", - "url": "https://docs.nhcarrigan.com/dev/servers#6-running-a-project" - }, - { - "content": "6.1. Node.js\n\nMost of our projects will run on Node. For a new machine, you'll need to set that up.\n\nWe use `nvm` to manage Node versions. Fetch and run the install script:\n\n```bash\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash\n```\n\nThe script will automatically update the `.bashrc` file to load `nvm` into the PATH. Reload that:\n\n```bash\nsource ~/.bashrc\n```\n\nInstall the long-term support Node version.\n\n```bash\nnvm install --lts\n```\n\nThis should automatically set it as the default. When updating, be sure to remove any older versions!\n\nFinally, install `pnpm` as the package manager.\n\n```bash\nnpm i -g pnpm\n```", - "file": "src/content/docs/dev/servers.md", - "id": "src/content/docs/dev/servers.md::20", - "metadata": { - "title": "Server Setup" - }, - "title": "6.1. Node.js", - "url": "https://docs.nhcarrigan.com/dev/servers#61-nodejs" - }, - { - "content": "6.2. PM2\n\nAll of our processes run with PM2 to allow for monitoring and auto-restarts. You'll need to install it.\n\n```bash\npnpm i -g pm2\n```\n\nTo start a project, use this template:\n\n```bash\npm2 start '\n```\n\nThe library will automatically enhance your page with all the features listed above.", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::4", - "metadata": { - "title": "Website Headers" - }, - "title": "Integration", - "url": "https://docs.nhcarrigan.com/projects/website-headers#integration" - }, - { - "content": "2. Technical Documentation", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::5", - "metadata": { - "title": "Website Headers" - }, - "title": "2. Technical Documentation", - "url": "https://docs.nhcarrigan.com/projects/website-headers#2-technical-documentation" - }, - { - "content": "Prerequisites\n\n- Node.js (latest LTS version recommended)\n- pnpm package manager\n- TypeScript knowledge for development", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::6", - "metadata": { - "title": "Website Headers" - }, - "title": "Prerequisites", - "url": "https://docs.nhcarrigan.com/projects/website-headers#prerequisites" - }, - { - "content": "Installation\n\n1. Clone the repository:\n ```bash\n git clone \n cd website-headers\n ```\n\n2. Install dependencies:\n ```bash\n pnpm install\n ```", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::7", - "metadata": { - "title": "Website Headers" - }, - "title": "Installation", - "url": "https://docs.nhcarrigan.com/projects/website-headers#installation" - }, - { - "content": "Development", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::8", - "metadata": { - "title": "Website Headers" - }, - "title": "Development", - "url": "https://docs.nhcarrigan.com/projects/website-headers#development" - }, - { - "content": "Local Development Server\n\nTo work on the library locally with hot reloading:\n\n```bash\npnpm dev\n```\n\nThis command:\n- Compiles TypeScript to JavaScript in watch mode\n- Starts a development server on port 8080\n- Serves a test HTML page at `http://localhost:8080`\n- Automatically updates when you make changes", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::9", - "metadata": { - "title": "Website Headers" - }, - "title": "Local Development Server", - "url": "https://docs.nhcarrigan.com/projects/website-headers#local-development-server" - }, - { - "content": "Building for Production\n\n```bash\npnpm build\n```\n\nThis command:\n- Runs ESLint for code quality checks\n- Compiles TypeScript to JavaScript\n- Minifies the output using Terser\n- Injects the current version number\n- Outputs the final file to `prod/index.js`", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::10", - "metadata": { - "title": "Website Headers" - }, - "title": "Building for Production", - "url": "https://docs.nhcarrigan.com/projects/website-headers#building-for-production" - }, - { - "content": "Code Quality\n\n```bash\npnpm lint\n```\n\nRuns ESLint with strict configuration to ensure code quality.", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::11", - "metadata": { - "title": "Website Headers" - }, - "title": "Code Quality", - "url": "https://docs.nhcarrigan.com/projects/website-headers#code-quality" - }, - { - "content": "Project Structure\n\n```\nsrc/\n├── index.ts # Main library code\n└── develop.ts # Development server\n\nprod/\n├── index.js # Production build output\n└── develop.js # Development server build\n\nbuild.ts # Build script with minification\nindex.html # Test page for development\npackage.json # Project configuration\ntsconfig.json # TypeScript configuration\neslint.config.js # ESLint configuration\n```", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::12", - "metadata": { - "title": "Website Headers" - }, - "title": "Project Structure", - "url": "https://docs.nhcarrigan.com/projects/website-headers#project-structure" - }, - { - "content": "Architecture\n\nThe library is structured as a single TypeScript file that:\n\n1. **Metadata Injection**: Dynamically creates and injects meta tags for SEO and social sharing\n2. **Asset Loading**: Loads external resources (fonts, scripts, stylesheets)\n3. **Component Creation**: Builds UI components (footer, modal) and injects them into the DOM\n4. **Event Handling**: Sets up interactive features (theme toggle, audio player, modal)\n5. **State Management**: Manages theme preferences and modal display timing using localStorage", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::13", - "metadata": { - "title": "Website Headers" - }, - "title": "Architecture", - "url": "https://docs.nhcarrigan.com/projects/website-headers#architecture" - }, - { - "content": "Key Components\n\n- **Meta Tags**: Open Graph and Twitter Card metadata\n- **Favicon Management**: Complete favicon set for all platforms\n- **Global Styles**: CSS-in-JS for consistent theming\n- **Footer Component**: Branded footer with interactive elements\n- **Modal System**: Community CTA with timing-based display logic\n- **Theme System**: Light/dark mode with system preference detection\n- **Analytics Integration**: Privacy-focused event tracking", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::14", - "metadata": { - "title": "Website Headers" - }, - "title": "Key Components", - "url": "https://docs.nhcarrigan.com/projects/website-headers#key-components" - }, - { - "content": "External Dependencies\n\nThe library loads several external resources:\n- OpenDyslexic font for accessibility\n- Font Awesome icons for UI elements\n- Plausible Analytics for privacy-respecting tracking\n- TreeNation widget for carbon offset display\n- Google AdSense for monetization", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::15", - "metadata": { - "title": "Website Headers" - }, - "title": "External Dependencies", - "url": "https://docs.nhcarrigan.com/projects/website-headers#external-dependencies" - }, - { - "content": "Environment Variables\n\n- `npm_package_version`: Automatically injected during build process", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::16", - "metadata": { - "title": "Website Headers" - }, - "title": "Environment Variables", - "url": "https://docs.nhcarrigan.com/projects/website-headers#environment-variables" - }, - { - "content": "3. Legal Documentation", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::17", - "metadata": { - "title": "Website Headers" - }, - "title": "3. Legal Documentation", - "url": "https://docs.nhcarrigan.com/projects/website-headers#3-legal-documentation" - }, - { - "content": "Licensing\n\nThis software is licensed under [Naomi's Public License](https://docs.nhcarrigan.com/legal/license).\n\n**Copyright Notice**: Copyright held by Naomi Carrigan.", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::18", - "metadata": { - "title": "Website Headers" - }, - "title": "Licensing", - "url": "https://docs.nhcarrigan.com/projects/website-headers#licensing" - }, - { - "content": "Third-Party Services\n\nThe Application integrates with several third-party services that have their own terms of service and privacy policies:", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::19", - "metadata": { - "title": "Website Headers" - }, - "title": "Third-Party Services", - "url": "https://docs.nhcarrigan.com/projects/website-headers#third-party-services" - }, - { - "content": "Analytics and Tracking\n- **Plausible Analytics**: Privacy-focused web analytics\n - Domain: `analytics.nhcarrigan.com`\n - Data collected: Page views, events, referrers (no personal data)\n - Privacy policy: [Plausible Privacy Policy](https://plausible.io/privacy)", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::20", - "metadata": { - "title": "Website Headers" - }, - "title": "Analytics and Tracking", - "url": "https://docs.nhcarrigan.com/projects/website-headers#analytics-and-tracking" - }, - { - "content": "Advertising\n- **Google AdSense**: Contextual advertising platform\n - Client ID: `ca-pub-3569924701890974`\n - May collect user data for ad personalization\n - Privacy policy: [Google Privacy Policy](https://policies.google.com/privacy)", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::21", - "metadata": { - "title": "Website Headers" - }, - "title": "Advertising", - "url": "https://docs.nhcarrigan.com/projects/website-headers#advertising" - }, - { - "content": "Environmental Impact\n- **TreeNation**: Carbon offset and environmental impact tracking\n - Widget code: `a17464e0cd351220`\n - Purpose: Display environmental impact metrics\n - Privacy policy: [TreeNation Privacy Policy](https://tree-nation.com/privacy)", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::22", - "metadata": { - "title": "Website Headers" - }, - "title": "Environmental Impact", - "url": "https://docs.nhcarrigan.com/projects/website-headers#environmental-impact" - }, - { - "content": "Content Delivery\n- **NHCarrigan CDN**: Custom content delivery network\n - Domain: `cdn.nhcarrigan.com`\n - Hosts: fonts, images, audio files, cursors\n - Subject to NHCarrigan privacy policies", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::23", - "metadata": { - "title": "Website Headers" - }, - "title": "Content Delivery", - "url": "https://docs.nhcarrigan.com/projects/website-headers#content-delivery" - }, - { - "content": "Data Collection and Privacy", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::24", - "metadata": { - "title": "Website Headers" - }, - "title": "Data Collection and Privacy", - "url": "https://docs.nhcarrigan.com/projects/website-headers#data-collection-and-privacy" - }, - { - "content": "Local Storage Usage\nThe Application stores the following data in the user's browser:\n- `theme`: User's preferred color scheme (light/dark)\n- `naomi-community-cta`: Timestamp of last community modal display", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::25", - "metadata": { - "title": "Website Headers" - }, - "title": "Local Storage Usage", - "url": "https://docs.nhcarrigan.com/projects/website-headers#local-storage-usage" - }, - { - "content": "External Resource Loading\nThe Application loads resources from external domains:\n- Font files from `cdn.nhcarrigan.com`\n- Analytics scripts from `analytics.nhcarrigan.com`\n- Advertising scripts from `googlesyndication.com`\n- Icons from Font Awesome CDN", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::26", - "metadata": { - "title": "Website Headers" - }, - "title": "External Resource Loading", - "url": "https://docs.nhcarrigan.com/projects/website-headers#external-resource-loading" - }, - { - "content": "Compliance Considerations\n\nOrganizations using this library should be aware that it:\n- Loads third-party tracking scripts\n- May be subject to GDPR, CCPA, and other privacy regulations\n- Includes advertising components that may require disclosure\n- Collects analytics data that may need privacy policy updates", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::27", - "metadata": { - "title": "Website Headers" - }, - "title": "Compliance Considerations", - "url": "https://docs.nhcarrigan.com/projects/website-headers#compliance-considerations" - }, - { - "content": "Contact Information\n\nFor legal inquiries regarding this Application:\n- Email: `contact@nhcarrigan.com`\n- Community: [Chat Server](http://chat.nhcarrigan.com)", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::28", - "metadata": { - "title": "Website Headers" - }, - "title": "Contact Information", - "url": "https://docs.nhcarrigan.com/projects/website-headers#contact-information" - }, - { - "content": "4. Contributing Documentation", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::29", - "metadata": { - "title": "Website Headers" - }, - "title": "4. Contributing Documentation", - "url": "https://docs.nhcarrigan.com/projects/website-headers#4-contributing-documentation" - }, - { - "content": "Getting Started\n\nWe welcome contributions to the website-headers project! Please review our [contributing guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md) before getting started.", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::30", - "metadata": { - "title": "Website Headers" - }, - "title": "Getting Started", - "url": "https://docs.nhcarrigan.com/projects/website-headers#getting-started" - }, - { - "content": "Development Workflow\n\n1. **Fork the repository** and clone your fork locally\n2. **Create a new branch** for your feature or bug fix:\n ```bash\n git checkout -b feature/your-feature-name\n ```\n3. **Install dependencies**:\n ```bash\n pnpm install\n ```\n4. **Start the development server**:\n ```bash\n pnpm dev\n ```\n5. **Make your changes** and test them at `http://localhost:8080`\n6. **Run linting** to ensure code quality:\n ```bash\n pnpm lint\n ```\n7. **Build for production** to verify everything works:\n ```bash\n pnpm build\n ```\n8. **Commit your changes** and push to your fork\n9. **Create a Pull Request** with a clear description of your changes", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::31", - "metadata": { - "title": "Website Headers" - }, - "title": "Development Workflow", - "url": "https://docs.nhcarrigan.com/projects/website-headers#development-workflow" - }, - { - "content": "Code Style and Standards\n\n- **TypeScript**: All code must be written in TypeScript\n- **ESLint**: Code must pass all linting rules (`@nhcarrigan/eslint-config`)\n- **No warnings**: Build process fails if ESLint warnings are present\n- **Comments**: Use JSDoc comments for functions and complex logic\n- **Accessibility**: Maintain accessibility features (fonts, colors, ARIA labels)", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::32", - "metadata": { - "title": "Website Headers" - }, - "title": "Code Style and Standards", - "url": "https://docs.nhcarrigan.com/projects/website-headers#code-style-and-standards" - }, - { - "content": "Testing\n\n- **Manual Testing**: Use the development server to test changes\n- **Cross-browser**: Test in multiple browsers when possible\n- **Mobile Responsive**: Verify changes work on mobile devices\n- **Theme Testing**: Test both light and dark themes", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::33", - "metadata": { - "title": "Website Headers" - }, - "title": "Testing", - "url": "https://docs.nhcarrigan.com/projects/website-headers#testing" - }, - { - "content": "Areas for Contribution", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::34", - "metadata": { - "title": "Website Headers" - }, - "title": "Areas for Contribution", - "url": "https://docs.nhcarrigan.com/projects/website-headers#areas-for-contribution" - }, - { - "content": "High Priority\n- **Performance optimization**: Reduce bundle size, optimize loading\n- **Accessibility improvements**: Enhanced ARIA support, keyboard navigation\n- **Mobile experience**: Better responsive design, touch interactions\n- **Browser compatibility**: Support for older browsers", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::35", - "metadata": { - "title": "Website Headers" - }, - "title": "High Priority", - "url": "https://docs.nhcarrigan.com/projects/website-headers#high-priority" - }, - { - "content": "Medium Priority\n- **Documentation**: Improve inline code documentation\n- **Error handling**: Add graceful fallbacks for external resource failures\n- **Testing framework**: Implement automated testing\n- **Configuration options**: Make the library more customizable", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::36", - "metadata": { - "title": "Website Headers" - }, - "title": "Medium Priority", - "url": "https://docs.nhcarrigan.com/projects/website-headers#medium-priority" - }, - { - "content": "Low Priority\n- **Additional themes**: More color scheme options\n- **Animation effects**: Subtle transitions and animations\n- **Internationalization**: Multi-language support\n- **Advanced analytics**: More detailed event tracking", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::37", - "metadata": { - "title": "Website Headers" - }, - "title": "Low Priority", - "url": "https://docs.nhcarrigan.com/projects/website-headers#low-priority" - }, - { - "content": "Pull Request Guidelines\n\n- **Clear title**: Descriptive title explaining the change\n- **Detailed description**: Explain what changes were made and why\n- **Screenshots**: Include before/after screenshots for UI changes\n- **Testing notes**: Describe how you tested the changes\n- **Breaking changes**: Clearly mark any breaking changes\n- **Version impact**: Indicate if this should be a major, minor, or patch release", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::38", - "metadata": { - "title": "Website Headers" - }, - "title": "Pull Request Guidelines", - "url": "https://docs.nhcarrigan.com/projects/website-headers#pull-request-guidelines" - }, - { - "content": "Code Review Process\n\n1. **Automated checks**: ESLint and build checks must pass\n2. **Manual review**: Code will be reviewed for quality and functionality\n3. **Testing**: Changes will be tested in various environments\n4. **Feedback**: You may be asked to make additional changes\n5. **Merge**: Once approved, changes will be merged to main branch", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::39", - "metadata": { - "title": "Website Headers" - }, - "title": "Code Review Process", - "url": "https://docs.nhcarrigan.com/projects/website-headers#code-review-process" - }, - { - "content": "Release Process\n\n- **Semantic versioning**: We follow semver (major.minor.patch)\n- **Automated builds**: Successful merges trigger automated builds\n- **CDN deployment**: Production builds are deployed to CDN\n- **Documentation updates**: Documentation is updated with releases", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::40", - "metadata": { - "title": "Website Headers" - }, - "title": "Release Process", - "url": "https://docs.nhcarrigan.com/projects/website-headers#release-process" - }, - { - "content": "Getting Help\n\n- **Issues**: Open a GitHub issue for bugs or feature requests\n- **Discussions**: Use GitHub Discussions for questions and ideas\n- **Community**: Join our [chat server](http://chat.nhcarrigan.com) for real-time help\n- **Email**: Contact us at `contact@nhcarrigan.com` for private inquiries", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::41", - "metadata": { - "title": "Website Headers" - }, - "title": "Getting Help", - "url": "https://docs.nhcarrigan.com/projects/website-headers#getting-help" - }, - { - "content": "Recognition\n\nContributors will be recognized in:\n- Git commit history\n- Release notes\n- Project documentation\n- Community acknowledgments", - "file": "src/content/docs/projects/website-headers.md", - "id": "src/content/docs/projects/website-headers.md::42", - "metadata": { - "title": "Website Headers" - }, - "title": "Recognition", - "url": "https://docs.nhcarrigan.com/projects/website-headers#recognition" - }, - { - "content": "", - "file": "src/content/docs/staff/apply.md", - "id": "src/content/docs/staff/apply.md::0", - "metadata": { - "title": "Join Our Staff Team" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/staff/apply#" - }, - { - "content": "1. Volunteer Positions\n\nUnless explicitly stated otherwise in a separate written agreement, all positions within our organization are on a voluntary basis. No compensation, monetary or otherwise, should be expected for these roles.", - "file": "src/content/docs/staff/apply.md", - "id": "src/content/docs/staff/apply.md::1", - "metadata": { - "title": "Join Our Staff Team" - }, - "title": "1. Volunteer Positions", - "url": "https://docs.nhcarrigan.com/staff/apply#1-volunteer-positions" - }, - { - "content": "2. Application Process\n\nIf you feel ready to apply to join our team, please complete the [application form](https://forms.nhcarrigan.com/form/PEpB3gA79gxP8wmfEf4zou96opkpUTjssTcaeYjhoi8).", - "file": "src/content/docs/staff/apply.md", - "id": "src/content/docs/staff/apply.md::2", - "metadata": { - "title": "Join Our Staff Team" - }, - "title": "2. Application Process", - "url": "https://docs.nhcarrigan.com/staff/apply#2-application-process" - }, - { - "content": "3. Legal Disclaimer\n\nThis document does not constitute an offer of employment or a binding contract. Our organization reserves the right to modify, suspend, or terminate any volunteer position or the mentorship programme at any time, without prior notice.\n\nBy engaging in any volunteer activities you acknowledge that you have read, understood, and agree to these terms.\n\nFor any questions or clarifications regarding these policies, please contact us on Discord.", - "file": "src/content/docs/staff/apply.md", - "id": "src/content/docs/staff/apply.md::3", - "metadata": { - "title": "Join Our Staff Team" - }, - "title": "3. Legal Disclaimer", - "url": "https://docs.nhcarrigan.com/staff/apply#3-legal-disclaimer" - }, - { - "content": "Welcome to our organization. This Staff Handbook serves as a comprehensive guide to our policies, procedures, and expectations. It is designed to help you understand your role in our community and how you can contribute to our collective success.\n\nWe rely on every staff member, regardless of position, to help keep our community running smoothly and efficiently. Your dedication, skills, and adherence to our standards are crucial in achieving our organizational goals.\n\nBy familiarizing yourself with this handbook and adhering to its guidelines, you play a vital role in maintaining the integrity and effectiveness of our organization. Your commitment to these principles helps ensure a positive, productive, and harmonious work environment for all.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::0", - "metadata": { - "title": "Staff Handbook" - }, - "title": "(intro)", - "url": "https://docs.nhcarrigan.com/staff/handbook#" - }, - { - "content": "1. Activity Requirements", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::1", - "metadata": { - "title": "Staff Handbook" - }, - "title": "1. Activity Requirements", - "url": "https://docs.nhcarrigan.com/staff/handbook#1-activity-requirements" - }, - { - "content": "1.1 Flexible Engagement\n\nWe recognize and deeply appreciate that our staff members are volunteers dedicating their time and effort to support our community. As such, we do not impose rigid activity quotas or specific engagement levels.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::2", - "metadata": { - "title": "Staff Handbook" - }, - "title": "1.1 Flexible Engagement", - "url": "https://docs.nhcarrigan.com/staff/handbook#11-flexible-engagement" - }, - { - "content": "1.2 Communication of Extended Absences\n\nWhile we maintain a flexible approach to activity, we kindly request that you inform us of any anticipated absences:\n\n- For absences exceeding one week, please notify the team via the `#staff-chat` channel on Discord.\n- This communication helps us manage workload distribution and ensures continued smooth operation of our community.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::3", - "metadata": { - "title": "Staff Handbook" - }, - "title": "1.2 Communication of Extended Absences", - "url": "https://docs.nhcarrigan.com/staff/handbook#12-communication-of-extended-absences" - }, - { - "content": "1.3 Extended Inactivity\n\nIn cases of prolonged inactivity:\n\n- If you are inactive for more than one month without prior communication, we may remove you from the active staff team.\n- This policy helps maintain an engaged and responsive staff roster.\n- Please note that removal due to inactivity is not punitive and does not reflect negatively on your contributions.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::4", - "metadata": { - "title": "Staff Handbook" - }, - "title": "1.3 Extended Inactivity", - "url": "https://docs.nhcarrigan.com/staff/handbook#13-extended-inactivity" - }, - { - "content": "1.4 Returning to the Team\n\nWe value your contributions and understand that life circumstances can change:\n\n- If you've been removed due to inactivity, you are always welcome to rejoin the staff team when your schedule permits.\n- To rejoin, please contact an admin.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::5", - "metadata": { - "title": "Staff Handbook" - }, - "title": "1.4 Returning to the Team", - "url": "https://docs.nhcarrigan.com/staff/handbook#14-returning-to-the-team" - }, - { - "content": "1.5 Balancing Commitments\n\nWe encourage you to balance your volunteer work with your personal life and other commitments:\n\n- Your well-being is important to us. Never feel pressured to overextend yourself.\n- If you find your role becoming stressful or overly time-consuming, please discuss this with an admin.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::6", - "metadata": { - "title": "Staff Handbook" - }, - "title": "1.5 Balancing Commitments", - "url": "https://docs.nhcarrigan.com/staff/handbook#15-balancing-commitments" - }, - { - "content": "1.6 Recognition of Contributions\n\nWhile we don't set specific activity requirements, we do recognize and appreciate consistent engagement and contributions:\n\n- Regular participation helps build a strong, cohesive community.\n- Outstanding contributions may be acknowledged through our staff recognition program.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::7", - "metadata": { - "title": "Staff Handbook" - }, - "title": "1.6 Recognition of Contributions", - "url": "https://docs.nhcarrigan.com/staff/handbook#16-recognition-of-contributions" - }, - { - "content": "2. Moderator Guidelines", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::8", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2. Moderator Guidelines", - "url": "https://docs.nhcarrigan.com/staff/handbook#2-moderator-guidelines" - }, - { - "content": "2.1 Role Definition\n\nAs a moderator, you occupy a position of trust within our community. This role comes with additional responsibilities and tools to ensure the safety and well-being of our community members. However, it's crucial to understand that:\n\n- Being a moderator does not elevate you above other community members.\n- Your role is one of service and support, not authority or superiority.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::9", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.1 Role Definition", - "url": "https://docs.nhcarrigan.com/staff/handbook#21-role-definition" - }, - { - "content": "2.2 General Expectations", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::10", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.2 General Expectations", - "url": "https://docs.nhcarrigan.com/staff/handbook#22-general-expectations" - }, - { - "content": "2.2.1 Leading by Example\n\nAs moderators, you are expected to exemplify the ideal community member:\n\n- Be active and engaged within the community.\n- Strictly adhere to all community rules and guidelines.\n- Demonstrate a welcoming and inclusive attitude towards all members, especially newcomers.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::11", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.2.1 Leading by Example", - "url": "https://docs.nhcarrigan.com/staff/handbook#221-leading-by-example" - }, - { - "content": "2.2.2 Balancing Roles\n\nRemember that you are both a moderator and a community member:\n\n- Not every interaction requires a moderation action.\n- Engage in regular social interactions with fellow community members.\n- Maintain a balance between your moderator duties and personal enjoyment within the community.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::12", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.2.2 Balancing Roles", - "url": "https://docs.nhcarrigan.com/staff/handbook#222-balancing-roles" - }, - { - "content": "2.2.3 Platform Familiarity\n\nOur community spans multiple platforms:\n\n- You are entrusted with maintaining all our platforms, but you're not expected to be an expert on all of them.\n- Focus on moderating platforms you're comfortable with.\n- Seek assistance or guidance from fellow moderators when dealing with unfamiliar platforms.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::13", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.2.3 Platform Familiarity", - "url": "https://docs.nhcarrigan.com/staff/handbook#223-platform-familiarity" - }, - { - "content": "2.3 Conduct Guidelines", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::14", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.3 Conduct Guidelines", - "url": "https://docs.nhcarrigan.com/staff/handbook#23-conduct-guidelines" - }, - { - "content": "2.3.1 Professionalism\n\nMaintain a professional demeanour in all interactions:\n\n- Remain calm and objective, especially in challenging situations.\n- Avoid engaging in or escalating conflicts.\n- Use appropriate language and tone at all times.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::15", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.3.1 Professionalism", - "url": "https://docs.nhcarrigan.com/staff/handbook#231-professionalism" - }, - { - "content": "2.3.2 Fairness and Consistency\n\nApply rules and take actions consistently:\n\n- Treat all community members equally, regardless of their status or your personal feelings.\n- Make decisions based on community guidelines, not personal preferences.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::16", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.3.2 Fairness and Consistency", - "url": "https://docs.nhcarrigan.com/staff/handbook#232-fairness-and-consistency" - }, - { - "content": "2.3.3 Transparency\n\nBe open about your actions as a moderator:\n\n- Clearly explain the reasons for any moderation decisions when appropriate.\n- Be willing to discuss your actions with other moderators or admins if questions arise.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::17", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.3.3 Transparency", - "url": "https://docs.nhcarrigan.com/staff/handbook#233-transparency" - }, - { - "content": "2.4 Collaboration and Support", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::18", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.4 Collaboration and Support", - "url": "https://docs.nhcarrigan.com/staff/handbook#24-collaboration-and-support" - }, - { - "content": "2.4.1 Team Communication\n\nMaintain open lines of communication with your fellow moderators:\n\n- Use designated channels (e.g., `#staff-chat`) to discuss moderation issues.\n- Share experiences and seek advice when facing challenging situations.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::19", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.4.1 Team Communication", - "url": "https://docs.nhcarrigan.com/staff/handbook#241-team-communication" - }, - { - "content": "2.4.2 Continuous Learning\n\nStay informed and improve your moderation skills:\n\n- Keep up-to-date with any changes to community guidelines or moderation policies.\n- Participate in any provided training or skill-sharing sessions.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::20", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.4.2 Continuous Learning", - "url": "https://docs.nhcarrigan.com/staff/handbook#242-continuous-learning" - }, - { - "content": "2.4.3 Escalation Protocol\n\nKnow when and how to escalate issues:\n\n- Identify situations that require input from administrators.\n- Follow established procedures for escalating complex or sensitive matters.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::21", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.4.3 Escalation Protocol", - "url": "https://docs.nhcarrigan.com/staff/handbook#243-escalation-protocol" - }, - { - "content": "2.5 Sanction Logging\n\nAll moderation actions you take must be logged via our [web form](https://moderation.nhcarrigan.com/log).\n\nIf you have not been granted a token, please notify Naomi and she will generate one for you.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::22", - "metadata": { - "title": "Staff Handbook" - }, - "title": "2.5 Sanction Logging", - "url": "https://docs.nhcarrigan.com/staff/handbook#25-sanction-logging" - }, - { - "content": "3. Working With Fellow Moderators", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::23", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3. Working With Fellow Moderators", - "url": "https://docs.nhcarrigan.com/staff/handbook#3-working-with-fellow-moderators" - }, - { - "content": "3.1 Communication Channels", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::24", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.1 Communication Channels", - "url": "https://docs.nhcarrigan.com/staff/handbook#31-communication-channels" - }, - { - "content": "3.1.1 Primary Communication Platform\n- Our forum as our primary communication hub for the moderation team.\n- A private `staff` category is available for internal discussions.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::25", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.1.1 Primary Communication Platform", - "url": "https://docs.nhcarrigan.com/staff/handbook#311-primary-communication-platform" - }, - { - "content": "3.1.2 Use of Staff Chat\n- Utilize the `staff` channel for:\n - Discussing concerns\n - Seeking advice on handling situations\n - Requesting assistance with ongoing issues\n - Sharing relevant information with the team", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::26", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.1.2 Use of Staff Chat", - "url": "https://docs.nhcarrigan.com/staff/handbook#312-use-of-staff-chat" - }, - { - "content": "3.2 Collaborative Problem-Solving\n\n- Approach fellow moderators for help and insights when needed.\n- Be open to offering assistance when others request it.\n- Engage in constructive discussions to find optimal solutions.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::27", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.2 Collaborative Problem-Solving", - "url": "https://docs.nhcarrigan.com/staff/handbook#32-collaborative-problem-solving" - }, - { - "content": "3.3 Team Unity and Public Image\n\n- Maintain a united front in public spaces.\n- Avoid disagreeing with or criticizing fellow moderators in public forums.\n- If you have concerns about a moderation action or a colleague's behavior:\n - Address the issue privately in the staff chat or through direct messages.\n - Seek resolution through open and respectful dialogue.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::28", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.3 Team Unity and Public Image", - "url": "https://docs.nhcarrigan.com/staff/handbook#33-team-unity-and-public-image" - }, - { - "content": "3.4 Conflict Resolution\n\n- If unable to resolve disagreements among yourselves:\n - Escalate the matter to Naomi for guidance.\n - Present the situation objectively, providing necessary context.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::29", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.4 Conflict Resolution", - "url": "https://docs.nhcarrigan.com/staff/handbook#34-conflict-resolution" - }, - { - "content": "3.5 Supporting Each Other\n\n- Recognize that moderation can be challenging.\n- Offer emotional support and encouragement to fellow moderators.\n- Share experiences and coping strategies for dealing with difficult situations.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::30", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.5 Supporting Each Other", - "url": "https://docs.nhcarrigan.com/staff/handbook#35-supporting-each-other" - }, - { - "content": "3.6 Knowledge Sharing\n\n- Use the staff chat to share useful resources, tools, or techniques.\n- Discuss emerging trends or patterns in user behavior that may require attention.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::31", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.6 Knowledge Sharing", - "url": "https://docs.nhcarrigan.com/staff/handbook#36-knowledge-sharing" - }, - { - "content": "3.7 Consistency in Moderation\n\n- Regularly discuss and align on interpretation and enforcement of community rules.\n- Share examples of how you've handled specific situations to ensure consistency.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::32", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.7 Consistency in Moderation", - "url": "https://docs.nhcarrigan.com/staff/handbook#37-consistency-in-moderation" - }, - { - "content": "3.8 Respecting Privacy\n\n- Keep all discussions in staff channels confidential.\n- Do not share private moderator conversations with community members.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::33", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.8 Respecting Privacy", - "url": "https://docs.nhcarrigan.com/staff/handbook#38-respecting-privacy" - }, - { - "content": "3.9 Active Participation\n\n- Regularly check and engage in staff communications.\n- Contribute to team discussions and decision-making processes.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::34", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.9 Active Participation", - "url": "https://docs.nhcarrigan.com/staff/handbook#39-active-participation" - }, - { - "content": "3.10 Continuous Improvement\n\n- Be open to feedback from fellow moderators.\n- Suggest improvements to moderation processes or team communication.\n- Participate in any team training or development activities.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::35", - "metadata": { - "title": "Staff Handbook" - }, - "title": "3.10 Continuous Improvement", - "url": "https://docs.nhcarrigan.com/staff/handbook#310-continuous-improvement" - }, - { - "content": "4. User Support", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::36", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4. User Support", - "url": "https://docs.nhcarrigan.com/staff/handbook#4-user-support" - }, - { - "content": "4.1 Role in User Experience\n\nAs a member of our team, you play a crucial role in ensuring a positive and smooth user experience across all our platforms. Your ability to provide timely and accurate support is essential to our community's satisfaction and growth.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::37", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4.1 Role in User Experience", - "url": "https://docs.nhcarrigan.com/staff/handbook#41-role-in-user-experience" - }, - { - "content": "4.2 Knowledge Base\n\n- Familiarize yourself with most of our projects to answer a wide range of questions.\n- Stay updated on recent changes or updates to our projects.\n- Utilize available resources (documentation, FAQs, wikis) to assist users effectively.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::38", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4.2 Knowledge Base", - "url": "https://docs.nhcarrigan.com/staff/handbook#42-knowledge-base" - }, - { - "content": "4.3 Handling User Inquiries", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::39", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4.3 Handling User Inquiries", - "url": "https://docs.nhcarrigan.com/staff/handbook#43-handling-user-inquiries" - }, - { - "content": "4.3.1 Immediate Assistance\n- Respond promptly to users seeking help on any of our platforms.\n- Provide clear, concise answers to questions you're confident about.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::40", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4.3.1 Immediate Assistance", - "url": "https://docs.nhcarrigan.com/staff/handbook#431-immediate-assistance" - }, - { - "content": "4.3.2 Complex Inquiries\n- For questions you're unsure about, don't hesitate to seek help.\n- Inform the user that you're looking into their issue to manage expectations.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::41", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4.3.2 Complex Inquiries", - "url": "https://docs.nhcarrigan.com/staff/handbook#432-complex-inquiries" - }, - { - "content": "4.4 Collaborative Problem-Solving\n\n- Utilize the staff chat in Discord for discussing complex user questions.\n- Engage with fellow staff members to collaboratively find solutions.\n- Share knowledge and insights to improve the team's overall support capabilities.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::42", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4.4 Collaborative Problem-Solving", - "url": "https://docs.nhcarrigan.com/staff/handbook#44-collaborative-problem-solving" - }, - { - "content": "4.5 Follow-up\n\n- After providing a solution, check if the user's issue has been fully resolved.\n- Encourage users to reach out again if they need further assistance.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::43", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4.5 Follow-up", - "url": "https://docs.nhcarrigan.com/staff/handbook#45-follow-up" - }, - { - "content": "4.6 Continuous Improvement\n\n- Keep track of common user issues and suggest improvements to our documentation or user interfaces.\n- Share insights gained from user interactions with the rest of the team to enhance our overall support quality.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::44", - "metadata": { - "title": "Staff Handbook" - }, - "title": "4.6 Continuous Improvement", - "url": "https://docs.nhcarrigan.com/staff/handbook#46-continuous-improvement" - }, - { - "content": "5. Contributor Support", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::45", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5. Contributor Support", - "url": "https://docs.nhcarrigan.com/staff/handbook#5-contributor-support" - }, - { - "content": "5.1 Welcoming New Contributors\n\n- Greet new contributors warmly when they show interest in our projects.\n- Provide guidance on where to find our contribution guidelines and code of conduct.\n- Offer assistance in identifying suitable first issues or tasks for newcomers.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::46", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.1 Welcoming New Contributors", - "url": "https://docs.nhcarrigan.com/staff/handbook#51-welcoming-new-contributors" - }, - { - "content": "5.2 Technical Assistance\n\n- Help contributors set up their development environments.\n- Provide explanations or resources for understanding our project structure and coding standards.\n- Assist with version control (e.g. git) usage if needed.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::47", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.2 Technical Assistance", - "url": "https://docs.nhcarrigan.com/staff/handbook#52-technical-assistance" - }, - { - "content": "5.3 Code Review Support\n\n- Offer constructive feedback on pull requests or proposed changes.\n- Explain the reasoning behind any requested modifications.\n- Guide contributors through the process of updating their submissions.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::48", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.3 Code Review Support", - "url": "https://docs.nhcarrigan.com/staff/handbook#53-code-review-support" - }, - { - "content": "5.4 Documentation Support\n\n- Assist contributors in locating or updating project documentation.\n- Encourage and guide contributors who wish to improve our documentation.\n- Provide feedback on proposed documentation changes.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::49", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.4 Documentation Support", - "url": "https://docs.nhcarrigan.com/staff/handbook#54-documentation-support" - }, - { - "content": "5.5 Issue Clarification\n\n- Help contributors understand the scope and requirements of open issues.\n- Provide additional context or clarification on feature requests or bug reports.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::50", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.5 Issue Clarification", - "url": "https://docs.nhcarrigan.com/staff/handbook#55-issue-clarification" - }, - { - "content": "5.6 Communication Channels\n\n- Direct contributors to appropriate communication channels (e.g., mailing lists, chat rooms, forums) for project-specific discussions.\n- Monitor these channels to provide timely responses to contributor queries.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::51", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.6 Communication Channels", - "url": "https://docs.nhcarrigan.com/staff/handbook#56-communication-channels" - }, - { - "content": "5.7 Mentoring\n\n- Offer mentorship to promising contributors who show consistent interest.\n- Provide guidance on best practices, advanced topics, and project goals.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::52", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.7 Mentoring", - "url": "https://docs.nhcarrigan.com/staff/handbook#57-mentoring" - }, - { - "content": "5.8 Recognition and Encouragement\n\n- Acknowledge and thank contributors for their efforts, regardless of the outcome.\n- Highlight significant contributions in project updates or community announcements.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::53", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.8 Recognition and Encouragement", - "url": "https://docs.nhcarrigan.com/staff/handbook#58-recognition-and-encouragement" - }, - { - "content": "5.9 Conflict Resolution\n\n- Mediate any disagreements between contributors professionally and impartially.\n- Ensure discussions remain constructive and aligned with our code of conduct.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::54", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.9 Conflict Resolution", - "url": "https://docs.nhcarrigan.com/staff/handbook#59-conflict-resolution" - }, - { - "content": "5.10 Continuous Improvement\n\n- Regularly review and update our contribution processes based on feedback.\n- Seek input from contributors on how to improve their experience.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::55", - "metadata": { - "title": "Staff Handbook" - }, - "title": "5.10 Continuous Improvement", - "url": "https://docs.nhcarrigan.com/staff/handbook#510-continuous-improvement" - }, - { - "content": "6. Cross-Platform Access", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::56", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6. Cross-Platform Access", - "url": "https://docs.nhcarrigan.com/staff/handbook#6-cross-platform-access" - }, - { - "content": "6.1 Eligibility for Cross-Platform Roles\n\n- Once you have been selected for a staff position on any of our platforms, you become eligible to request staff access on additional platforms.\n- This opportunity is open to all current staff members in good standing.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::57", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6.1 Eligibility for Cross-Platform Roles", - "url": "https://docs.nhcarrigan.com/staff/handbook#61-eligibility-for-cross-platform-roles" - }, - { - "content": "6.2 Requesting Additional Platform Access\n\n- If you wish to expand your staff role to other platforms:\n - Express your interest to an admin or through the designated channel for such requests.\n - Specify which additional platform(s) you'd like to moderate.\n - Briefly explain why you're interested in moderating these additional platforms.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::58", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6.2 Requesting Additional Platform Access", - "url": "https://docs.nhcarrigan.com/staff/handbook#62-requesting-additional-platform-access" - }, - { - "content": "6.3 Approval Process\n\n- Requests for additional platform access will be reviewed by the admin team.\n- Factors considered in the approval process may include:\n - Your performance in your current role\n - Your familiarity with the requested platform\n - The current staffing needs on that platform", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::59", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6.3 Approval Process", - "url": "https://docs.nhcarrigan.com/staff/handbook#63-approval-process" - }, - { - "content": "6.4 Training and Onboarding\n\n- If approved for a cross-platform role, you may be required to undergo platform-specific training.\n- Familiarize yourself with any unique rules or moderation tools for the new platform.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::60", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6.4 Training and Onboarding", - "url": "https://docs.nhcarrigan.com/staff/handbook#64-training-and-onboarding" - }, - { - "content": "6.5 Responsibilities of Cross-Platform Staff\n\n- Maintain consistency in rule enforcement across all platforms you moderate.\n- Be aware of platform-specific nuances and adjust your approach accordingly.\n- Help bridge communication between different platform teams.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::61", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6.5 Responsibilities of Cross-Platform Staff", - "url": "https://docs.nhcarrigan.com/staff/handbook#65-responsibilities-of-cross-platform-staff" - }, - { - "content": "6.6 Benefits of Cross-Platform Moderation\n\n- Provides a more cohesive user experience across our community's various platforms.\n- Allows for more efficient sharing of information and moderation strategies.\n- Enhances your skills and versatility as a moderator.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::62", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6.6 Benefits of Cross-Platform Moderation", - "url": "https://docs.nhcarrigan.com/staff/handbook#66-benefits-of-cross-platform-moderation" - }, - { - "content": "6.7 Balancing Responsibilities\n\n- Ensure that taking on additional platforms does not negatively impact your performance on your original platform.\n- Communicate with the moderation team if you feel overwhelmed or need to scale back your responsibilities.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::63", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6.7 Balancing Responsibilities", - "url": "https://docs.nhcarrigan.com/staff/handbook#67-balancing-responsibilities" - }, - { - "content": "6.8 Periodic Review\n\n- Your cross-platform roles will be periodically reviewed to ensure effective moderation across all assigned platforms.\n- Feedback and additional training may be provided as needed.", - "file": "src/content/docs/staff/handbook.md", - "id": "src/content/docs/staff/handbook.md::64", - "metadata": { - "title": "Staff Handbook" - }, - "title": "6.8 Periodic Review", - "url": "https://docs.nhcarrigan.com/staff/handbook#68-periodic-review" - } -] \ No newline at end of file diff --git a/server/src/routes/mcp.ts b/server/src/routes/mcp.ts index be06781..826edd0 100644 --- a/server/src/routes/mcp.ts +++ b/server/src/routes/mcp.ts @@ -4,7 +4,7 @@ * @author Naomi Carrigan */ -import documentationData from "../data/docs.json" assert { type: "json" }; +import { documentationData } from "../data/docs.js"; import type { FastifyPluginAsync } from "fastify"; /** diff --git a/server/tsconfig.json b/server/tsconfig.json index 413fc80..b109c97 100644 --- a/server/tsconfig.json +++ b/server/tsconfig.json @@ -3,8 +3,6 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./prod", - "resolveJsonModule": true, - "module": "esnext" }, "exclude": ["./getDocs.ts"] } \ No newline at end of file