Com que he estat treballant més o menys a temps complet a [Neotoma](https://neotoma.io) (abans Asheville) des de l'estiu passat, he tingut l'oportunitat de tallar-me realment amb programari de codi obert per primera vegada.

Estic encantat de dir que, a més de treballar en repositoris disponibles públicament específics de Neotoma, he creat uns quants dipòsits que esperem que siguin útils com a mòduls per a altres aplicacions Node.js en general:

- [Park Ranger](https://github.com/markmhx/park-ranger): un gestor de dependències específiques de l'entorn, com ara variables d'entorn, fitxers de configuració i fitxers de certificat SSL.

  S'anomena "park ranger" perquè un programa informàtic sempre s'executa en un entorn determinat, sovint determinat pel seu dispositiu o un entorn específic escollit dins d'aquest dispositiu juntament amb altres entorns possibles. I a qui busques quan gaudeixes de l'entorn natural i tens preguntes al respecte...? És cert, un guardaparc.

  Bàsicament, vaig seguir reescrivint el mateix codi d'utilitat als meus dipòsits per gestionar les diferències basades en l'entorn, principalment entre la meva màquina de desenvolupament local i l'amfitrió de desplegament. Per tant, ho vaig refactoritzar tot en aquest mòdul per accelerar les millores del codi i el manteniment en el futur. El meu punt de partida va ser [dotenv](https://github.com/motdotla/dotenv), però ràpidament em vaig adonar que era massa senzill per a les meves necessitats.

- [Hoist](https://github.com/markmhx/grunt-hoist): un conjunt de tasques Grunt per desplegar aplicacions Node.js als amfitrions i executar procediments remots relacionats.

  De manera semblant a la meva experiència amb Park Ranger, em vaig trobar reescrivint lleugeres variacions de les mateixes rutines de desplegament entre dipòsits (com ara sincronitzar fitxers, executar "npm install" i reiniciar el servidor remot). Així que vaig crear aquest conjunt de tasques (que automàticament es posen a disposició dels projectes pares com a scripts npm) per estandarditzar la manera en què ho afronto. També simplifiquen enormement el meu enfocament del desenvolupament continu, fins i tot mentre faig nous microserveis o faig canvis ràpids a les dependències locals al llarg del camí.

- [Proxy](https://github.com/neotoma/proxy): un servidor intermediari per a sol·licituds HTTP i HTTPS.

  Quan vaig començar a allotjar les primeres versions de Neotoma per a proves tancades, necessitava una manera senzilla de donar suport a diferents servidors que s'executaven al mateix host a través de protocols (HTTP vs. HTTPS), ports i subdominis. Per exemple, el mateix amfitrió que utilitza HTTP per servir la pàgina de destinació de Neotoma també ofereix sol·licituds HTTPS a la seva API subjacent i tant sol·licituds HTTP com HTTPS a l'aplicació web de Neotoma real que s'executa en un subdomini per provar-les.

  Tot i que aquest dipòsit viu sota l'organització Neotoma, pot ser utilitzat per qualsevol persona que vulgui fer el mateix amb els seus amfitrions que executen diversos servidors.

Hi ha una sèrie d'altres dipòsits públics en desenvolupament més directament relacionats amb Neotoma que no enumeraré aquí, però que es poden trobar a l'[organització Neotoma GitHub](https://github.com/neotoma). Tot i que encara no he buscat contribucions activament, tots els dipòsits enumerats anteriorment i d'aquesta organització estan oberts a sol·licituds si voleu fer algun canvi!