Skip to content

Latest commit

 

History

History
179 lines (126 loc) · 5.7 KB

File metadata and controls

179 lines (126 loc) · 5.7 KB


Welcome to phi school's project-templates repository.
Here, you'll find standardized templates to aid rapid and consistent development,
ensuring alignment with phi school's best practices.

Contribute! | Request a Feature | Report a Bug


Table of Contents

Project Goals

The project-templates repository is dedicated to maintaining a curated collection of templates. These are designed to seamlessly integrate high-quality tools, empowering developers to swiftly tackle complex problems with well-implemented, scalable solutions.

Our approach to template design is rooted in continuous experimentation and direct developer feedback. Through this, we identify ideal tool combinations, patterns, and practices that support cohesive collaboration and yield superior results.

We remain independent from any specific vendors, frameworks, languages, and paradigms. Our goal is to objectively evaluate technologies and understand their trade-offs. We prioritize open-source, platform-neutral solutions that offer both developers and users the greatest degree of autonomy while accommodating diverse infrastructures.

As technology progresses, we will continually re-evaluate our toolset. Our commitment is to always incorporate tools that provide the best in performance, developer experience, and stability.

Included Templates

The following table provides an overview of the templates currently included in the repository:

Template Name Description Features
node-ts-monorepo A setup for a Node.js TypeScript monorepo in a reproducible, isolated dev environment. Ideal for managing multiple packages within a single repository. Devbox, Turborepo, pnpm workspaces, Changesets, GitHub Actions, tsup, Vitest, ESLint, Prettier, and more.
node-ts-package A single-package repository or "polyrepo" optimized for streamlined development and distribution. Devbox, pnpm, semantic-release, GitHub Actions, tsup, Vitest, ESLint, Prettier, and more.
readme A standardized template for creating README files. Ensures consistent documentation across Acme projects.

Getting Started

Note
For specific installation and usage instructions, refer to each respective template's README.md.

Prerequisites

degit

Templates can be most efficiently installed using degit, which you can install globally with your preferred package manager:

pnpm install -g degit
# OR
npm install -g degit
# OR
yarn global add degit
# OR
nix-env -iA nixpkgs.nodePackages.degit

Devbox

Additionally, many templates make use of Devbox to create a reproducible, isolated dev environment. Devbox is based on the superior Nix Package Manager. See Installing Devbox to quickly get started.

General Installation

With degit installed, run the following command, replacing <TEMPLATE_NAME> with the name of the desired template, and <YOUR_PROJECT_NAME> with your desired project name:

degit phi-school/templates/<TEMPLATE_NAME> <YOUR_PROJECT_NAME>
cd <YOUR_PROJECT_NAME>

Contributing & Development

Feedback and contributions are encouraged! If you know of a superior technology or implementation that is not included in our templates, please initiate a discussion and make a case for it. As the technological landscape is vast and continually evolving, we remain open-minded and constantly question our own assumptions.

Please see the Contributing Guide for more information.

Thank you to our contributors ❤️

License

This project is released under the MIT License. © 2023-Present phi school