<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.seedburysquare.com:80/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Adr-seedbury</id>
	<title>Seedbury Square - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.seedburysquare.com:80/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Adr-seedbury"/>
	<link rel="alternate" type="text/html" href="http://wiki.seedburysquare.com:80/Special:Contributions/Adr-seedbury"/>
	<updated>2026-07-17T17:05:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>http://wiki.seedburysquare.com:80/index.php?title=The_Dungeon&amp;diff=233</id>
		<title>The Dungeon</title>
		<link rel="alternate" type="text/html" href="http://wiki.seedburysquare.com:80/index.php?title=The_Dungeon&amp;diff=233"/>
		<updated>2026-06-23T15:09:18Z</updated>

		<summary type="html">&lt;p&gt;Adr-seedbury: /* Current resident(s) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dungeon.jpg|thumb|border|upright 1.0|Hallway to the dungeon]]&lt;br /&gt;
&lt;br /&gt;
The dungeon is the room at the end of the hallway in the current Seedbury Square office. It was deemed [https://wiki.seedburysquare.com/index.php/The_Dungeon the dungeon] as an internal joke because it&#039;s previous inhabitants would refuse to turn on the lights and the lack of windows and powerful A/C would give the feeling of a prison cell in a castle in the year 1819.&lt;br /&gt;
&lt;br /&gt;
== Former residents ==&lt;br /&gt;
&lt;br /&gt;
* Edwin Borrero&lt;br /&gt;
* Jorge Pacheco&lt;br /&gt;
&lt;br /&gt;
== Current resident(s) ==&lt;br /&gt;
&lt;br /&gt;
* Estefany Santiago&lt;br /&gt;
* Eduardo Valladares&lt;/div&gt;</summary>
		<author><name>Adr-seedbury</name></author>
	</entry>
	<entry>
		<id>http://wiki.seedburysquare.com:80/index.php?title=Setup_Steps&amp;diff=221</id>
		<title>Setup Steps</title>
		<link rel="alternate" type="text/html" href="http://wiki.seedburysquare.com:80/index.php?title=Setup_Steps&amp;diff=221"/>
		<updated>2026-01-08T18:18:34Z</updated>

		<summary type="html">&lt;p&gt;Adr-seedbury: code syntax and added setting user.name and user.email&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Amazon Workspaces ==&lt;br /&gt;
Username and password provided by admin. This password also corresponds to &amp;quot;Keyring&amp;quot; password inside the workspace.&lt;br /&gt;
== Gitea ==&lt;br /&gt;
Gitea is the issue tracking and version control interface used for development in Ksitropy.&lt;br /&gt;
&lt;br /&gt;
To access gitea, enter the following in the browser of your choice: &#039;&#039;&#039;172.31.108.186:3000&#039;&#039;&#039; (remember to bookmark it for easy access).&lt;br /&gt;
&lt;br /&gt;
Create an account (YOUR_INITIALS-seedbury), admin will invite you to Ksitropy repository.&lt;br /&gt;
&lt;br /&gt;
== VSCode ==&lt;br /&gt;
=== Initial Setup ===&lt;br /&gt;
# Run &amp;lt;code&amp;gt;git config --global credential.helper store&amp;lt;/code&amp;gt;. This will store your git credentials the next time you input them.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;git config --global user.name &amp;quot;YOUR_NAME_HERE&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;git config --global user.email &amp;quot;YOUR_EMAIL_HERE&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Create a &amp;quot;Projects&amp;quot; folder inside the &amp;quot;Documents&amp;quot; Folder.&lt;br /&gt;
# Inside this folder, clone the Ksitropy repository.&lt;br /&gt;
## Visit the repository in Gitea.&lt;br /&gt;
## Under Code, copy the HTTP link.&lt;br /&gt;
## Inside the &amp;quot;Projects&amp;quot; folder run &amp;lt;code&amp;gt;git clone PASTE_HTTP_LINK_HERE&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create env.js file inside the api folder.&lt;br /&gt;
# Paste &amp;lt;code&amp;gt;export default { group: 0, id: &#039;dev0&#039;};&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User Settings and Aliases ===&lt;br /&gt;
# Press control+shift+p and type &#039;Open User Settings (JSON)&#039;.&lt;br /&gt;
# In the resulting file, paste [[global user settings json]].&lt;br /&gt;
# In the terminal, run &#039;&#039;code ~/.bash_aliases&#039;&#039;&lt;br /&gt;
# In the resulting file, paste the [[bash aliases code]].&lt;br /&gt;
# In the pasted code, insert your own Gitea token:&lt;br /&gt;
## Go to Gitea.&lt;br /&gt;
## Go to Settings -&amp;gt; Applications.&lt;br /&gt;
## Under Generate New Token:&lt;br /&gt;
### Input a token name of your liking.&lt;br /&gt;
### Check &#039;All (public, private, and limited)&#039;.&lt;br /&gt;
### Under Select permissions, set all to &#039;Read and Write&#039;.&lt;br /&gt;
## Click Generate Token button.&lt;br /&gt;
## Copy the token in the blue box.&lt;br /&gt;
## Paste in the bash aliases file where it says &amp;lt;get token in gitea&amp;gt; surrounded by quotes.&lt;br /&gt;
&lt;br /&gt;
=== Running the app with debugger ===&lt;br /&gt;
# In the debugger, press the link to create a launch.json file.&lt;br /&gt;
# Press enter to select the default option (Node.js).&lt;br /&gt;
# In that file, paste the code in [[launch.json code]].&lt;br /&gt;
# In that folder, create another file named tasks.json and paste the code in [[tasks.json code]].&lt;br /&gt;
&lt;br /&gt;
To run the development build, choose &#039;&#039;Dev: server + browser&#039;&#039; in the debugger and run it.&lt;br /&gt;
&lt;br /&gt;
== Create a Ksitropy account ==&lt;br /&gt;
In the development website, create an account using the work email and a password of your choice. Remember or write down these credentials. An admin will activate your account.&lt;br /&gt;
== Neo4j ==&lt;br /&gt;
Neo4j is used to interact with the graph database that is used in Ksitropy.&lt;br /&gt;
&lt;br /&gt;
You can find it in &#039;&#039;&#039;172.31.106.81:7474/browser/preview&#039;&#039;&#039;, remember to bookmark it for easy access.&lt;br /&gt;
&lt;br /&gt;
The connection information can be found in envSettings.js under graphDatabaseSettings&lt;/div&gt;</summary>
		<author><name>Adr-seedbury</name></author>
	</entry>
	<entry>
		<id>http://wiki.seedburysquare.com:80/index.php?title=Bash_aliases_code&amp;diff=220</id>
		<title>Bash aliases code</title>
		<link rel="alternate" type="text/html" href="http://wiki.seedburysquare.com:80/index.php?title=Bash_aliases_code&amp;diff=220"/>
		<updated>2026-01-08T18:11:32Z</updated>

		<summary type="html">&lt;p&gt;Adr-seedbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
 alias edit=&amp;quot;code ~/.bash_aliases&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 function mergeFrom() {&lt;br /&gt;
    currentBranch=$(git rev-parse --abbrev-ref HEAD)&lt;br /&gt;
    git checkout &amp;quot;${1:-Development}&amp;quot;&lt;br /&gt;
    git pull&lt;br /&gt;
    git checkout &amp;quot;${2:-$currentBranch}&amp;quot;&lt;br /&gt;
    git merge &amp;quot;${1:-Development}&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function commitAndPush(){&lt;br /&gt;
        git add . &amp;amp;&amp;amp; git commit -a -m &amp;quot;$1&amp;quot; &amp;amp;&amp;amp; git push&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 export GITEA_TOKEN=&amp;lt;get token in gitea&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  # ====== MINIMAL GITEA HELPERS (env-driven, non-interactive) ======&lt;br /&gt;
 &lt;br /&gt;
 export DEFAULT_BASE_BRANCH=&amp;quot;${DEFAULT_BASE_BRANCH:-Development}&amp;quot;&lt;br /&gt;
 # Required for real API calls:&lt;br /&gt;
 # export GITEA_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
 # Required repo coordinates (set these once; no parsing logic):&lt;br /&gt;
 export GITEA_BASE=&amp;quot;http://172.31.108.186:3000&amp;quot;  # include subpath if any, no trailing slash&lt;br /&gt;
 # export GITEA_OWNER=&amp;quot;Seedbury_Square&amp;quot;&lt;br /&gt;
 # export GITEA_REPO=&amp;quot;Ksitropy&amp;quot;&lt;br /&gt;
 # Debug without sending requests:&lt;br /&gt;
 # export DRYRUN=1&lt;br /&gt;
 &lt;br /&gt;
 # --- smart environment resolver: uses env if set, otherwise parses remote.origin.url ---&lt;br /&gt;
 __resolve_env() {&lt;br /&gt;
   # Ensure base always exists&lt;br /&gt;
   : &amp;quot;${GITEA_BASE:?ERR: GITEA_BASE must be set (e.g. http://172.31.108.186:3000)}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   # If OWNER/REPO already set, skip parsing&lt;br /&gt;
   if [ -n &amp;quot;$GITEA_OWNER&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$GITEA_REPO&amp;quot; ]; then&lt;br /&gt;
     return 0&lt;br /&gt;
   fi&lt;br /&gt;
 &lt;br /&gt;
   # Otherwise, derive from git remote&lt;br /&gt;
   local remote path&lt;br /&gt;
   remote=&amp;quot;$(git config --get remote.origin.url 2&amp;gt;/dev/null)&amp;quot; || {&lt;br /&gt;
     echo &amp;quot;ERR: not a git repo or missing origin remote&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
     return 1&lt;br /&gt;
   }&lt;br /&gt;
   [ -n &amp;quot;$remote&amp;quot; ] || { echo &amp;quot;ERR: remote.origin.url empty&amp;quot; &amp;gt;&amp;amp;2; return 1; }&lt;br /&gt;
 &lt;br /&gt;
   # Extract path (Owner/Repo)&lt;br /&gt;
   path=&amp;quot;$(printf &#039;%s&#039; &amp;quot;$remote&amp;quot; | sed -E &#039;s#^[^:]+://[^/]+/##; s#^[^@]+@[^:]+:##&#039;)&amp;quot;&lt;br /&gt;
   path=&amp;quot;${path%.git}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   GITEA_OWNER=&amp;quot;${path%%/*}&amp;quot;&lt;br /&gt;
   GITEA_REPO=&amp;quot;${path##*/}&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 __need_env() {&lt;br /&gt;
   __resolve_env || return 1&lt;br /&gt;
   : &amp;quot;${GITEA_OWNER:?ERR: could not resolve OWNER}&amp;quot;&lt;br /&gt;
   : &amp;quot;${GITEA_REPO:?ERR: could not resolve REPO}&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 __need_token() { [ &amp;quot;${DRYRUN:-0}&amp;quot; = &amp;quot;1&amp;quot; ] &amp;amp;&amp;amp; return 0; : &amp;quot;${GITEA_TOKEN:?ERR: set GITEA_TOKEN}&amp;quot;; }&lt;br /&gt;
 __json_num()   { grep -oE &#039;&amp;quot;(index|number)&amp;quot;[[:space:]]*:[[:space:]]*[0-9]+&#039; | head -n1 | grep -oE &#039;[0-9]+&#039;; }&lt;br /&gt;
 &lt;br /&gt;
 showRepo() {&lt;br /&gt;
   __need_env || return 1&lt;br /&gt;
   echo &amp;quot;HOST=${GITEA_BASE%/}&amp;quot;&lt;br /&gt;
   echo &amp;quot;OWNER=$GITEA_OWNER&amp;quot;&lt;br /&gt;
   echo &amp;quot;REPO=$GITEA_REPO&amp;quot;&lt;br /&gt;
   echo -n &amp;quot;API check: &amp;quot;&lt;br /&gt;
   curl -fsS &amp;quot;${GITEA_BASE%/}/api/v1/version&amp;quot; &amp;amp;&amp;amp; echo &amp;quot; (OK)&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # makeBranch &amp;lt;branch&amp;gt; [base]&lt;br /&gt;
 makeBranch() {&lt;br /&gt;
   local br=&amp;quot;${1:?Usage: makeBranch &amp;lt;branch&amp;gt; [base]}&amp;quot;&lt;br /&gt;
   local base=&amp;quot;${2:-$DEFAULT_BASE_BRANCH}&amp;quot;&lt;br /&gt;
   if git rev-parse --verify --quiet &amp;quot;$br&amp;quot; &amp;gt;/dev/null; then&lt;br /&gt;
     git checkout &amp;quot;$br&amp;quot;&lt;br /&gt;
   else&lt;br /&gt;
     git checkout &amp;quot;$base&amp;quot; || return 1&lt;br /&gt;
     git pull --ff-only || return 1&lt;br /&gt;
     git checkout -b &amp;quot;$br&amp;quot; || return 1&lt;br /&gt;
     git push --set-upstream origin &amp;quot;$br&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # makeIssue &amp;lt;title&amp;gt; [body] -&amp;gt; prints issue#&lt;br /&gt;
 makeIssue() {&lt;br /&gt;
   local title=&amp;quot;${1:?Usage: makeIssue &amp;lt;title&amp;gt; [body]}&amp;quot;&lt;br /&gt;
   local body=&amp;quot;${2:-$title}&amp;quot;&lt;br /&gt;
   __need_env || return 1&lt;br /&gt;
   __need_token || return 1&lt;br /&gt;
   local url=&amp;quot;${GITEA_BASE%/}/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/issues&amp;quot;&lt;br /&gt;
   local data; data=$(printf &#039;{&amp;quot;title&amp;quot;:&amp;quot;%s&amp;quot;,&amp;quot;body&amp;quot;:&amp;quot;%s&amp;quot;}&#039; &amp;quot;$title&amp;quot; &amp;quot;$body&amp;quot;)&lt;br /&gt;
   echo &amp;quot;POST $url&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
   if [ &amp;quot;${DRYRUN:-0}&amp;quot; = &amp;quot;1&amp;quot; ]; then echo &amp;quot;$data&amp;quot; &amp;gt;&amp;amp;2; return 0; fi&lt;br /&gt;
   local resp num&lt;br /&gt;
   resp=&amp;quot;$(curl -fsS -X POST &amp;quot;$url&amp;quot; -H &amp;quot;Authorization: token $GITEA_TOKEN&amp;quot; -H &amp;quot;Content-Type: application/json&amp;quot; -d &amp;quot;$data&amp;quot;)&amp;quot; || return 1&lt;br /&gt;
   num=&amp;quot;$(__json_num &amp;lt;&amp;lt;&amp;lt;&amp;quot;$resp&amp;quot;)&amp;quot;&lt;br /&gt;
   [ -n &amp;quot;$num&amp;quot; ] &amp;amp;&amp;amp; { printf &#039;%s\n&#039; &amp;quot;$num&amp;quot;; return 0; }&lt;br /&gt;
   echo &amp;quot;ERR: could not parse issue number&amp;quot; &amp;gt;&amp;amp;2; echo &amp;quot;$resp&amp;quot; &amp;gt;&amp;amp;2; return 1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Usage: makePRFromCurrent &amp;lt;title&amp;gt; &amp;lt;body&amp;gt; &amp;lt;baseBranch&amp;gt;&lt;br /&gt;
 makePRFromCurrent() {&lt;br /&gt;
   local title=&amp;quot;${1:?Usage: makePRFromCurrent &amp;lt;title&amp;gt; &amp;lt;body&amp;gt; &amp;lt;baseBranch&amp;gt;}&amp;quot;&lt;br /&gt;
   local body=&amp;quot;${2:-}&amp;quot;&lt;br /&gt;
   local base=&amp;quot;${3:-Development}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   # ✅ prepend &amp;quot;WIP:&amp;quot; if not already present&lt;br /&gt;
   if [[ ! &amp;quot;$title&amp;quot; =~ ^WIP: ]]; then&lt;br /&gt;
     title=&amp;quot;WIP: $title&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
 &lt;br /&gt;
   __need_env || return 1&lt;br /&gt;
   __need_token || return 1&lt;br /&gt;
 &lt;br /&gt;
   local branch&lt;br /&gt;
   branch=&amp;quot;$(git rev-parse --abbrev-ref HEAD)&amp;quot;&lt;br /&gt;
   local url=&amp;quot;${GITEA_BASE%/}/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/pulls&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;POST $url&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
   if [ &amp;quot;${DRYRUN:-0}&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
     echo &amp;quot;{\&amp;quot;head\&amp;quot;:\&amp;quot;$branch\&amp;quot;,\&amp;quot;base\&amp;quot;:\&amp;quot;$base\&amp;quot;,\&amp;quot;title\&amp;quot;:\&amp;quot;$title\&amp;quot;,\&amp;quot;body\&amp;quot;:\&amp;quot;$body\&amp;quot;}&amp;quot;&lt;br /&gt;
     echo &amp;quot;&amp;lt;PR_NUM&amp;gt;&amp;quot;&lt;br /&gt;
     return 0&lt;br /&gt;
   fi&lt;br /&gt;
 &lt;br /&gt;
   curl -fsS -X POST &amp;quot;$url&amp;quot; \&lt;br /&gt;
     -H &amp;quot;Authorization: token $GITEA_TOKEN&amp;quot; \&lt;br /&gt;
     -H &amp;quot;Content-Type: application/json&amp;quot; \&lt;br /&gt;
     -d &amp;quot;$(jq -nc \&lt;br /&gt;
       --arg head &amp;quot;$branch&amp;quot; \&lt;br /&gt;
       --arg base &amp;quot;$base&amp;quot; \&lt;br /&gt;
       --arg title &amp;quot;$title&amp;quot; \&lt;br /&gt;
       --arg body &amp;quot;$body&amp;quot; \&lt;br /&gt;
       &#039;{head:$head, base:$base, title:$title, body:$body}&#039;)&amp;quot; |&lt;br /&gt;
     tee /tmp/tea_pr_create.json |&lt;br /&gt;
     jq -r &#039;.number&#039;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # linkIssueDependsOnPR &amp;lt;issue#&amp;gt; &amp;lt;pr#&amp;gt;&lt;br /&gt;
 linkIssueDependsOnPR() {&lt;br /&gt;
   local issue=&amp;quot;${1:?Usage: linkIssueDependsOnPR &amp;lt;issue#&amp;gt; &amp;lt;pr#&amp;gt;}&amp;quot;&lt;br /&gt;
   local pr=&amp;quot;${2:?Usage: linkIssueDependsOnPR &amp;lt;issue#&amp;gt; &amp;lt;pr#&amp;gt;}&amp;quot;&lt;br /&gt;
   __need_env || return 1&lt;br /&gt;
   __need_token || return 1&lt;br /&gt;
   local url=&amp;quot;${GITEA_BASE%/}/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/issues/$issue/dependencies&amp;quot;&lt;br /&gt;
   local data; data=$(printf &#039;{&amp;quot;owner&amp;quot;:&amp;quot;%s&amp;quot;,&amp;quot;repo&amp;quot;:&amp;quot;%s&amp;quot;,&amp;quot;index&amp;quot;:%s}&#039; &amp;quot;$GITEA_OWNER&amp;quot; &amp;quot;$GITEA_REPO&amp;quot; &amp;quot;$pr&amp;quot;)&lt;br /&gt;
   echo &amp;quot;POST $url&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
   if [ &amp;quot;${DRYRUN:-0}&amp;quot; = &amp;quot;1&amp;quot; ]; then echo &amp;quot;$data&amp;quot; &amp;gt;&amp;amp;2; return 0; fi&lt;br /&gt;
   curl -fsS -X POST &amp;quot;$url&amp;quot; -H &amp;quot;Authorization: token $GITEA_TOKEN&amp;quot; -H &amp;quot;Content-Type: application/json&amp;quot; -d &amp;quot;$data&amp;quot; &amp;gt;/dev/null&lt;br /&gt;
 }&lt;br /&gt;
 __issue_title() {&lt;br /&gt;
   local idx=&amp;quot;${1:?Usage: __issue_title &amp;lt;issue#&amp;gt;}&amp;quot;&lt;br /&gt;
   __need_env || return 1&lt;br /&gt;
   __need_token || return 1&lt;br /&gt;
   local url=&amp;quot;${GITEA_BASE%/}/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/issues/$idx&amp;quot;&lt;br /&gt;
   echo &amp;quot;GET $url&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
   if [ &amp;quot;${DRYRUN:-0}&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
     echo &amp;quot;&amp;lt;ISSUE_TITLE&amp;gt;&amp;quot;   # placeholder in dryrun&lt;br /&gt;
     return 0&lt;br /&gt;
   fi&lt;br /&gt;
   curl -fsS &amp;quot;$url&amp;quot; -H &amp;quot;Authorization: token $GITEA_TOKEN&amp;quot; \&lt;br /&gt;
     | sed -n &#039;s/.*&amp;quot;title&amp;quot;[[:space:]]*:[[:space:]]*&amp;quot;\([^&amp;quot;]*\)&amp;quot;.*/\1/p&#039; | head -n1&lt;br /&gt;
 }&lt;br /&gt;
 # startWork &amp;lt;branch&amp;gt; [description]&lt;br /&gt;
 startWork() {&lt;br /&gt;
   # ---------------------------------------------------------------------------&lt;br /&gt;
   # startWork: Create a new Issue, branch, and PR following the team workflow.&lt;br /&gt;
   #&lt;br /&gt;
   # Usage:&lt;br /&gt;
   #   startWork &amp;lt;branchBase&amp;gt; &amp;lt;title&amp;gt; [description]&lt;br /&gt;
   #&lt;br /&gt;
   # Example:&lt;br /&gt;
   #   startWork api-endpoint &amp;quot;Implement new API endpoint&amp;quot; &amp;quot;Adds user data retrieval&amp;quot;&lt;br /&gt;
   #&lt;br /&gt;
   # Options:&lt;br /&gt;
   #   --help   Show this help message and exit.&lt;br /&gt;
   #&lt;br /&gt;
   # Environment Variables:&lt;br /&gt;
   #   DRYRUN=1          Prints all operations without executing.&lt;br /&gt;
   #   DEFAULT_BASE_BRANCH  Base branch name (default: main or develop).&lt;br /&gt;
   #&lt;br /&gt;
   # Workflow Steps:&lt;br /&gt;
   #   1. Create an issue with the given title and optional description.&lt;br /&gt;
   #   2. Create a branch named &amp;quot;&amp;lt;issueNumber&amp;gt;-&amp;lt;branchBase&amp;gt;&amp;quot;.&lt;br /&gt;
   #   3. Create a pull request titled the same as the issue.&lt;br /&gt;
   #   4. Link the PR and Issue as dependencies.&lt;br /&gt;
   # ---------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
   # --- Handle help flag ------------------------------------------------------&lt;br /&gt;
   if [[ &amp;quot;$1&amp;quot; == &amp;quot;--help&amp;quot; || &amp;quot;$1&amp;quot; == &amp;quot;-h&amp;quot; ]]; then&lt;br /&gt;
     sed -n &#039;2,25p&#039; &amp;quot;${BASH_SOURCE[0]}&amp;quot; | sed &#039;s/^  # //&#039;&lt;br /&gt;
     return 0&lt;br /&gt;
   fi&lt;br /&gt;
 &lt;br /&gt;
   local branch_base=&amp;quot;${1:?Usage: startWork &amp;lt;branchBase&amp;gt; &amp;lt;title&amp;gt; [description]}&amp;quot;&lt;br /&gt;
   local title=&amp;quot;${2:?Usage: startWork &amp;lt;branchBase&amp;gt; &amp;lt;title&amp;gt; [description]}&amp;quot;&lt;br /&gt;
   local desc=&amp;quot;${3:-}&amp;quot;  # optional description/comment&lt;br /&gt;
 &lt;br /&gt;
   local pr_body&lt;br /&gt;
   if [ -n &amp;quot;$desc&amp;quot; ]; then pr_body=&amp;quot;$desc&amp;quot;; else pr_body=&amp;quot;&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
   if [ &amp;quot;${DRYRUN:-0}&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
     echo &amp;quot;==&amp;gt; DRYRUN: will create Issue(title=&#039;$title&#039;), then branch &#039;NNN-$branch_base&#039;, then PR(title=&#039;$title&#039;)&amp;quot;&lt;br /&gt;
     showRepo || true&lt;br /&gt;
     echo &amp;quot;==&amp;gt; Creating issue&amp;quot;; makeIssue &amp;quot;$title&amp;quot; &amp;quot;$desc&amp;quot;&lt;br /&gt;
     echo &amp;quot;==&amp;gt; Creating branch &#039;NNN-$branch_base&#039; (base: ${DEFAULT_BASE_BRANCH})&amp;quot;&lt;br /&gt;
     echo &amp;quot;git checkout ${DEFAULT_BASE_BRANCH} &amp;amp;&amp;amp; git pull --ff-only &amp;amp;&amp;amp; git checkout -b NNN-$branch_base &amp;amp;&amp;amp; git push --set-upstream origin NNN-$branch_base&amp;quot;&lt;br /&gt;
     echo &amp;quot;==&amp;gt; Creating PR&amp;quot;; local prBody=&amp;quot;$pr_body&amp;quot;$&#039;\n\n&#039;&amp;quot;Closes #&amp;lt;NNN&amp;gt;&amp;quot;&lt;br /&gt;
     makePRFromCurrent &amp;quot;$title&amp;quot; &amp;quot;$prBody&amp;quot; &amp;quot;$DEFAULT_BASE_BRANCH&amp;quot;&lt;br /&gt;
     echo &amp;quot;==&amp;gt; Linking dependency&amp;quot;; linkIssueDependsOnPR &amp;quot;&amp;lt;NNN&amp;gt;&amp;quot; &amp;quot;&amp;lt;PR_NUM&amp;gt;&amp;quot;&lt;br /&gt;
     return 0&lt;br /&gt;
   fi&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;==&amp;gt; Creating issue&amp;quot;&lt;br /&gt;
   local issue; issue=&amp;quot;$(makeIssue &amp;quot;$title&amp;quot; &amp;quot;$desc&amp;quot;)&amp;quot; || return 1&lt;br /&gt;
   echo &amp;quot;Created issue #$issue&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   local branch=&amp;quot;${issue}-${branch_base}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;==&amp;gt; Creating branch &#039;$branch&#039; (base: ${DEFAULT_BASE_BRANCH})&amp;quot;&lt;br /&gt;
   makeBranch &amp;quot;$branch&amp;quot; &amp;quot;$DEFAULT_BASE_BRANCH&amp;quot; || return 1&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;==&amp;gt; Creating PR&amp;quot;&lt;br /&gt;
   local prBody=&amp;quot;$pr_body&amp;quot;&lt;br /&gt;
   [ -n &amp;quot;$prBody&amp;quot; ] &amp;amp;&amp;amp; prBody=&amp;quot;$prBody&amp;quot;$&#039;\n\n&#039;&amp;quot;Closes #$issue&amp;quot; || prBody=&amp;quot;Closes #$issue&amp;quot;&lt;br /&gt;
   local pr; pr=&amp;quot;$(makePRFromCurrent &amp;quot;$title&amp;quot; &amp;quot;$prBody&amp;quot; &amp;quot;$DEFAULT_BASE_BRANCH&amp;quot;)&amp;quot; || return 1&lt;br /&gt;
   echo &amp;quot;Created PR #$pr&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;==&amp;gt; Linking dependency (issue #$issue depends on PR #$pr)&amp;quot;&lt;br /&gt;
   linkIssueDependsOnPR &amp;quot;$issue&amp;quot; &amp;quot;$pr&amp;quot; || { echo &amp;quot;WARN: failed to add dependency&amp;quot; &amp;gt;&amp;amp;2; return 1; }&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;✅ Done. Branch: $branch | Issue #$issue | PR #$pr&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Usage: startFromIssue &amp;lt;branchBase&amp;gt; &amp;lt;issueNumber&amp;gt; [titleOverride] [description]&lt;br /&gt;
 startFromIssue() {&lt;br /&gt;
   local branch_base=&amp;quot;${1:?Usage: startFromIssue &amp;lt;branchBase&amp;gt; &amp;lt;issueNumber&amp;gt; [titleOverride] [description] }&amp;quot;&lt;br /&gt;
   local issue=&amp;quot;${2:?Usage: startFromIssue &amp;lt;branchBase&amp;gt; &amp;lt;issueNumber&amp;gt; [titleOverride] [description] }&amp;quot;&lt;br /&gt;
   local title_override=&amp;quot;${3:-}&amp;quot;&lt;br /&gt;
   local desc=&amp;quot;${4:-}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   local title&lt;br /&gt;
   if [ -n &amp;quot;$title_override&amp;quot; ]; then&lt;br /&gt;
     title=&amp;quot;$title_override&amp;quot;&lt;br /&gt;
   else&lt;br /&gt;
     title=&amp;quot;$(__issue_title &amp;quot;$issue&amp;quot;)&amp;quot; || return 1&lt;br /&gt;
     [ -n &amp;quot;$title&amp;quot; ] || { echo &amp;quot;ERR: could not fetch title for issue #$issue&amp;quot; &amp;gt;&amp;amp;2; return 1; }&lt;br /&gt;
   fi&lt;br /&gt;
 &lt;br /&gt;
   local branch=&amp;quot;${issue}-${branch_base}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   if [ &amp;quot;${DRYRUN:-0}&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
     echo &amp;quot;==&amp;gt; DRYRUN: will create branch &#039;$branch&#039; from issue #$issue, PR titled &#039;$title&#039;&amp;quot;&lt;br /&gt;
     showRepo || true&lt;br /&gt;
     echo &amp;quot;==&amp;gt; Creating branch &#039;$branch&#039; (base: ${DEFAULT_BASE_BRANCH})&amp;quot;&lt;br /&gt;
     echo &amp;quot;git checkout ${DEFAULT_BASE_BRANCH} &amp;amp;&amp;amp; git pull --ff-only &amp;amp;&amp;amp; git checkout -b ${branch} &amp;amp;&amp;amp; git push --set-upstream origin ${branch}&amp;quot;&lt;br /&gt;
     echo &amp;quot;==&amp;gt; Creating PR&amp;quot;; local prBody=&amp;quot;${desc}&amp;quot;$&#039;\n\n&#039;&amp;quot;Closes #$issue&amp;quot;; makePRFromCurrent &amp;quot;$title&amp;quot; &amp;quot;$prBody&amp;quot; &amp;quot;$DEFAULT_BASE_BRANCH&amp;quot;&lt;br /&gt;
     echo &amp;quot;==&amp;gt; Linking dependency&amp;quot;; linkIssueDependsOnPR &amp;quot;$issue&amp;quot; &amp;quot;&amp;lt;PR_NUM&amp;gt;&amp;quot;&lt;br /&gt;
     return 0&lt;br /&gt;
   fi&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;==&amp;gt; Creating branch &#039;$branch&#039; (base: ${DEFAULT_BASE_BRANCH})&amp;quot;&lt;br /&gt;
   makeBranch &amp;quot;$branch&amp;quot; &amp;quot;$DEFAULT_BASE_BRANCH&amp;quot; || return 1&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;==&amp;gt; Creating PR&amp;quot;&lt;br /&gt;
   local prBody&lt;br /&gt;
   [ -n &amp;quot;$desc&amp;quot; ] &amp;amp;&amp;amp; prBody=&amp;quot;$desc&amp;quot;$&#039;\n\n&#039;&amp;quot;Closes #$issue&amp;quot; || prBody=&amp;quot;Closes #$issue&amp;quot;&lt;br /&gt;
   local pr; pr=&amp;quot;$(makePRFromCurrent &amp;quot;$title&amp;quot; &amp;quot;$prBody&amp;quot; &amp;quot;$DEFAULT_BASE_BRANCH&amp;quot;)&amp;quot; || return 1&lt;br /&gt;
   echo &amp;quot;Created PR #$pr&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;==&amp;gt; Linking dependency (issue #$issue depends on PR #$pr)&amp;quot;&lt;br /&gt;
   linkIssueDependsOnPR &amp;quot;$issue&amp;quot; &amp;quot;$pr&amp;quot; || { echo &amp;quot;WARN: failed to add dependency&amp;quot; &amp;gt;&amp;amp;2; return 1; }&lt;br /&gt;
 &lt;br /&gt;
   echo &amp;quot;✅ Done. Branch: $branch | Issue #$issue | PR #$pr&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 # ====== END ======&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adr-seedbury</name></author>
	</entry>
	<entry>
		<id>http://wiki.seedburysquare.com:80/index.php?title=Setup_Steps&amp;diff=219</id>
		<title>Setup Steps</title>
		<link rel="alternate" type="text/html" href="http://wiki.seedburysquare.com:80/index.php?title=Setup_Steps&amp;diff=219"/>
		<updated>2026-01-08T15:25:52Z</updated>

		<summary type="html">&lt;p&gt;Adr-seedbury: visual change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Amazon Workspaces ==&lt;br /&gt;
Username and password provided by admin. This password also corresponds to &amp;quot;Keyring&amp;quot; password inside the workspace.&lt;br /&gt;
== Gitea ==&lt;br /&gt;
Gitea is the issue tracking and version control interface used for development in Ksitropy.&lt;br /&gt;
&lt;br /&gt;
To access gitea, enter the following in the browser of your choice: &#039;&#039;&#039;172.31.108.186:3000&#039;&#039;&#039; (remember to bookmark it for easy access).&lt;br /&gt;
&lt;br /&gt;
Create an account (YOUR_INITIALS-seedbury), admin will invite you to Ksitropy repository.&lt;br /&gt;
&lt;br /&gt;
== VSCode ==&lt;br /&gt;
=== Initial Setup ===&lt;br /&gt;
# Run &#039;&#039;git config --global credential.helper store&#039;&#039;. This will store your git credentials the next time you input them.&lt;br /&gt;
# Create a &amp;quot;Projects&amp;quot; folder inside the &amp;quot;Documents&amp;quot; Folder.&lt;br /&gt;
# Inside this folder, clone the Ksitropy repository.&lt;br /&gt;
## Visit the repository in Gitea.&lt;br /&gt;
## Under Code, copy the HTTP link.&lt;br /&gt;
## Inside the &amp;quot;Projects&amp;quot; folder run &#039;&#039;git clone PASTE_HTTP_LINK_HERE&#039;&#039;&lt;br /&gt;
# Create env.js file inside the api folder.&lt;br /&gt;
# Paste &amp;lt;code&amp;gt;export default { group: 0, id: &#039;dev0&#039;};&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User Settings and Aliases ===&lt;br /&gt;
# Press control+shift+p and type &#039;Open User Settings (JSON)&#039;.&lt;br /&gt;
# In the resulting file, paste [[global user settings json]].&lt;br /&gt;
# In the terminal, run &#039;&#039;code ~/.bash_aliases&#039;&#039;&lt;br /&gt;
# In the resulting file, paste the [[bash aliases code]].&lt;br /&gt;
# In the pasted code, insert your own Gitea token:&lt;br /&gt;
## Go to Gitea.&lt;br /&gt;
## Go to Settings -&amp;gt; Applications.&lt;br /&gt;
## Under Generate New Token:&lt;br /&gt;
### Input a token name of your liking.&lt;br /&gt;
### Check &#039;All (public, private, and limited)&#039;.&lt;br /&gt;
### Under Select permissions, set all to &#039;Read and Write&#039;.&lt;br /&gt;
## Click Generate Token button.&lt;br /&gt;
## Copy the token in the blue box.&lt;br /&gt;
## Paste in the bash aliases file where it says &amp;lt;get token in gitea&amp;gt; surrounded by quotes.&lt;br /&gt;
&lt;br /&gt;
=== Running the app with debugger ===&lt;br /&gt;
# In the debugger, press the link to create a launch.json file.&lt;br /&gt;
# Press enter to select the default option (Node.js).&lt;br /&gt;
# In that file, paste the code in [[launch.json code]].&lt;br /&gt;
# In that folder, create another file named tasks.json and paste the code in [[tasks.json code]].&lt;br /&gt;
&lt;br /&gt;
To run the development build, choose &#039;&#039;Dev: server + browser&#039;&#039; in the debugger and run it.&lt;br /&gt;
&lt;br /&gt;
== Create a Ksitropy account ==&lt;br /&gt;
In the development website, create an account using the work email and a password of your choice. Remember or write down these credentials. An admin will activate your account.&lt;br /&gt;
== Neo4j ==&lt;br /&gt;
Neo4j is used to interact with the graph database that is used in Ksitropy.&lt;br /&gt;
&lt;br /&gt;
You can find it in &#039;&#039;&#039;172.31.106.81:7474/browser/preview&#039;&#039;&#039;, remember to bookmark it for easy access.&lt;br /&gt;
&lt;br /&gt;
The connection information can be found in envSettings.js under graphDatabaseSettings&lt;/div&gt;</summary>
		<author><name>Adr-seedbury</name></author>
	</entry>
	<entry>
		<id>http://wiki.seedburysquare.com:80/index.php?title=Launch.json_code&amp;diff=218</id>
		<title>Launch.json code</title>
		<link rel="alternate" type="text/html" href="http://wiki.seedburysquare.com:80/index.php?title=Launch.json_code&amp;diff=218"/>
		<updated>2026-01-08T15:06:35Z</updated>

		<summary type="html">&lt;p&gt;Adr-seedbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;version&amp;quot;: &amp;quot;0.2.0&amp;quot;,&lt;br /&gt;
   &amp;quot;configurations&amp;quot;: [&lt;br /&gt;
       /* --- Server (Node.js) --- */&lt;br /&gt;
       {&lt;br /&gt;
           &amp;quot;name&amp;quot;: &amp;quot;Server: Node (inspect)&amp;quot;,&lt;br /&gt;
           &amp;quot;type&amp;quot;: &amp;quot;pwa-node&amp;quot;,&lt;br /&gt;
           &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,&lt;br /&gt;
           &amp;quot;program&amp;quot;: &amp;quot;${workspaceFolder}/api/src/webServer/webserver.js&amp;quot;,&lt;br /&gt;
           &amp;quot;cwd&amp;quot;: &amp;quot;${workspaceFolder}/api/src/webServer&amp;quot;,&lt;br /&gt;
           &amp;quot;runtimeArgs&amp;quot;: [&lt;br /&gt;
               &amp;quot;--inspect=9229&amp;quot;&lt;br /&gt;
           ],&lt;br /&gt;
           &amp;quot;env&amp;quot;: {&lt;br /&gt;
               &amp;quot;NODE_ENV&amp;quot;: &amp;quot;development&amp;quot;&lt;br /&gt;
           },&lt;br /&gt;
           &amp;quot;skipFiles&amp;quot;: [&lt;br /&gt;
               &amp;quot;&amp;lt;node_internals&amp;gt;/**&amp;quot;&lt;br /&gt;
           ],&lt;br /&gt;
           &amp;quot;console&amp;quot;: &amp;quot;integratedTerminal&amp;quot;,&lt;br /&gt;
           &amp;quot;restart&amp;quot;: true, // auto-restart on crash&lt;br /&gt;
           &amp;quot;autoAttachChildProcesses&amp;quot;: true&lt;br /&gt;
           // If using TypeScript/transpiled output, add:&lt;br /&gt;
           // &amp;quot;outFiles&amp;quot;: [&amp;quot;${workspaceFolder}/**/*.js&amp;quot;, &amp;quot;!**/node_modules/**&amp;quot;]&lt;br /&gt;
       },&lt;br /&gt;
       /* --- Browser (Chrome) --- */&lt;br /&gt;
       {&lt;br /&gt;
           &amp;quot;name&amp;quot;: &amp;quot;Client: Chrome to http://localhost:1338&amp;quot;,&lt;br /&gt;
           &amp;quot;type&amp;quot;: &amp;quot;pwa-chrome&amp;quot;,&lt;br /&gt;
           &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,&lt;br /&gt;
           &amp;quot;url&amp;quot;: &amp;quot;http://localhost:1338&amp;quot;,&lt;br /&gt;
           &amp;quot;webRoot&amp;quot;: &amp;quot;${workspaceFolder}&amp;quot;,&lt;br /&gt;
           // If your app bundles sources (Vizte/Webpack), uncomment to improve breakpoint mapping:&lt;br /&gt;
           // &amp;quot;sourceMapPathOverrides&amp;quot;: {&lt;br /&gt;
           //   &amp;quot;webpack:///./*&amp;quot;: &amp;quot;${webRoot}/*&amp;quot;,&lt;br /&gt;
           //   &amp;quot;webpack:///*&amp;quot;:   &amp;quot;${webRoot}/*&amp;quot;,&lt;br /&gt;
           //   &amp;quot;vite:///src/*&amp;quot;:  &amp;quot;${webRoot}/src/*&amp;quot;&lt;br /&gt;
           // }&lt;br /&gt;
           &amp;quot;skipFiles&amp;quot;: [&lt;br /&gt;
               &amp;quot;**/node_modules/**/*.js&amp;quot;&lt;br /&gt;
           ]&lt;br /&gt;
       },&lt;br /&gt;
       /* --- Optional: Node with nodemon (hot reload) --- */&lt;br /&gt;
       {&lt;br /&gt;
           &amp;quot;name&amp;quot;: &amp;quot;Server: Node + nodemon (inspect)&amp;quot;,&lt;br /&gt;
           &amp;quot;type&amp;quot;: &amp;quot;pwa-node&amp;quot;,&lt;br /&gt;
           &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,&lt;br /&gt;
           &amp;quot;runtimeExecutable&amp;quot;: &amp;quot;npx&amp;quot;,&lt;br /&gt;
           &amp;quot;runtimeArgs&amp;quot;: [&lt;br /&gt;
               &amp;quot;nodemon&amp;quot;,&lt;br /&gt;
               &amp;quot;--&amp;quot;&lt;br /&gt;
           ], // &amp;lt;-- &#039;nodemon&#039; + &#039;--&#039; are the key&lt;br /&gt;
           &amp;quot;args&amp;quot;: [&lt;br /&gt;
               &amp;quot;--inspect=9229&amp;quot;,&lt;br /&gt;
               &amp;quot;--signal&amp;quot;,&lt;br /&gt;
               &amp;quot;SIGTERM&amp;quot;,&lt;br /&gt;
               &amp;quot;${workspaceFolder}/api/src/webServer/webserver.js&amp;quot;&lt;br /&gt;
           ],&lt;br /&gt;
           &amp;quot;cwd&amp;quot;: &amp;quot;${workspaceFolder}/api/src/webServer&amp;quot;,&lt;br /&gt;
           &amp;quot;env&amp;quot;: {&lt;br /&gt;
               &amp;quot;NODE_ENV&amp;quot;: &amp;quot;development&amp;quot;&lt;br /&gt;
           },&lt;br /&gt;
           &amp;quot;restart&amp;quot;: true,&lt;br /&gt;
           &amp;quot;console&amp;quot;: &amp;quot;integratedTerminal&amp;quot;,&lt;br /&gt;
           &amp;quot;autoAttachChildProcesses&amp;quot;: true&lt;br /&gt;
       },&lt;br /&gt;
       /* --- Optional: attach to an already-running Node --- */&lt;br /&gt;
       {&lt;br /&gt;
           &amp;quot;name&amp;quot;: &amp;quot;Attach: Node on 9229&amp;quot;,&lt;br /&gt;
           &amp;quot;type&amp;quot;: &amp;quot;pwa-node&amp;quot;,&lt;br /&gt;
           &amp;quot;request&amp;quot;: &amp;quot;attach&amp;quot;,&lt;br /&gt;
           &amp;quot;port&amp;quot;: 9229&lt;br /&gt;
       },&lt;br /&gt;
       {&lt;br /&gt;
           &amp;quot;name&amp;quot;: &amp;quot;Client: Chrome via BrowserSync&amp;quot;,&lt;br /&gt;
           &amp;quot;type&amp;quot;: &amp;quot;pwa-chrome&amp;quot;,&lt;br /&gt;
           &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,&lt;br /&gt;
           &amp;quot;url&amp;quot;: &amp;quot;http://localhost:3000&amp;quot;,&lt;br /&gt;
           &amp;quot;webRoot&amp;quot;: &amp;quot;${workspaceFolder}/api/src/webServer/ui&amp;quot;,&lt;br /&gt;
           &amp;quot;skipFiles&amp;quot;: [&lt;br /&gt;
               &amp;quot;**/node_modules/**/*.js&amp;quot;&lt;br /&gt;
           ],&lt;br /&gt;
           &amp;quot;preLaunchTask&amp;quot;: &amp;quot;browser-sync&amp;quot; // &amp;lt;- if compound preLaunchTask isn&#039;t honored, keep it here&lt;br /&gt;
       }&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;compounds&amp;quot;: [&lt;br /&gt;
       {&lt;br /&gt;
           &amp;quot;name&amp;quot;: &amp;quot;Dev: Nodemon + BrowserSync + Chrome&amp;quot;,&lt;br /&gt;
           &amp;quot;configurations&amp;quot;: [&lt;br /&gt;
               &amp;quot;Server: Node + nodemon (inspect)&amp;quot;,&lt;br /&gt;
               &amp;quot;Client: Chrome via BrowserSync&amp;quot;&lt;br /&gt;
           ],&lt;br /&gt;
           &amp;quot;preLaunchTask&amp;quot;: &amp;quot;browser-sync&amp;quot;,&lt;br /&gt;
           &amp;quot;stopAll&amp;quot;: true&lt;br /&gt;
       },&lt;br /&gt;
       {&lt;br /&gt;
           &amp;quot;name&amp;quot;: &amp;quot;Dev: Server + Browser&amp;quot;,&lt;br /&gt;
           &amp;quot;configurations&amp;quot;: [&lt;br /&gt;
               &amp;quot;Server: Node (inspect)&amp;quot;,&lt;br /&gt;
               &amp;quot;Client: Chrome to http://localhost:1338&amp;quot;&lt;br /&gt;
           ],&lt;br /&gt;
           &amp;quot;stopAll&amp;quot;: true&lt;br /&gt;
       },&lt;br /&gt;
       {&lt;br /&gt;
           &amp;quot;name&amp;quot;: &amp;quot;Dev: Nodemon + Browser&amp;quot;,&lt;br /&gt;
           &amp;quot;configurations&amp;quot;: [&lt;br /&gt;
               &amp;quot;Server: Node + nodemon (inspect)&amp;quot;,&lt;br /&gt;
               &amp;quot;Client: Chrome to http://localhost:1338&amp;quot;&lt;br /&gt;
           ],&lt;br /&gt;
           &amp;quot;stopAll&amp;quot;: true&lt;br /&gt;
       }&lt;br /&gt;
   ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adr-seedbury</name></author>
	</entry>
</feed>