Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
12 changes: 12 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.2/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "ickb/stack" }],
"prettier": false,
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "master",
"updateInternalDependencies": "patch",
"ignore": []
}
79 changes: 46 additions & 33 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,52 +1,65 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node
// Instructions to use this devcontainer:
// 0. Make sure Docker or Podman is running.
// 1. Install the VS Code extension "Dev Containers" (ms-vscode-remote.remote-containers).
// 2. Open the Command Palette (Shift+Ctrl+P / Shift+Cmd+P) and run "Dev Containers: Reopen in Container",
// alternatively "Dev Containers: Open Folder in Container".
// 3. When finished, run "Dev Containers: Close Remote Connection" from the Command Palette to stop the container.
// 4. To reclaim disk space, remove the stopped container/image with Docker/Podman,
// the container can be recreated from this config when needed.
{
"name": "Node.js & TypeScript",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/typescript-node",
// Display name shown by editor when selecting this dev container
"name": "iCKB Dev Environment",

// Base image from Microsoft devcontainers for a TypeScript + Node environment
"image": "mcr.microsoft.com/devcontainers/typescript-node:24",

// Persisted volumes to speed installs and avoid repeated network requests
"mounts": [
"source=ickb-${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume",
"source=ickb-${localWorkspaceFolderBasename}-dist,target=${containerWorkspaceFolder}/dist,type=volume",
"source=pnpm-cache,target=${containerWorkspaceFolder}/.pnpm-store,type=volume",
"source=local-store,target=${containerWorkspaceFolder}/.local-store,type=volume",
"source=gemini-code-assist,target=/home/node/.cache/google-vscode-extension,type=volume"
// Share a pnpm store cache volume to speed package resolution and install times across projects/containers
"source=pnpm-cache,target=${containerWorkspaceFolder}/.pnpm-store,type=volume"
],
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "sudo chown node -R . /home && npm install -g pnpm@latest",
// Configure tool-specific properties.
// "customizations": {},
"postStartCommand": "pnpm install",

// Run once after the container filesystem is created.
// - Fix ownership so the non-root node user can access workspace files
// - Install latest pnpm globally so postStartCommand and developer workflows use pnpm
"postCreateCommand": "sudo corepack enable && sudo chown -R node:node /home/node ${containerWorkspaceFolder}",

// Run each time the container starts. Ensures dependencies are installed inside the container user environment.
"postStartCommand": "pnpm install --frozen-lockfile",

// Use the non-root 'node' user provided by the base image for safer file access and to mirror deployment permissions
"remoteUser": "node",

"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
// Recommended and enforced editor settings for consistent linting/validation across contributors
"settings": {
// Prefer editor config over global formatting where appropriate
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.validate": [
"json",
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"geminicodeassist.chat.enableStreaming": false,
"geminicodeassist.enableTelemetry": false,
"geminicodeassist.inlineSuggestions.suggestionSpeed": "Fast",
"geminicodeassist.localCodebaseAwareness": false,
"geminicodeassist.rules": "As a terse, expert peer, be correct. Code only when most direct."
// Disable telemetry to avoid sending usage data to Microsoft
"telemetry.enableTelemetry": false
},

// Recommended extensions preinstalled in the container to provide a consistent developer experience
"extensions": [
"streetsidesoftware.code-spell-checker",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"yoavbls.pretty-ts-errors",
"davidanson.vscode-markdownlint",
"github.vscode-github-actions",
"google.geminicodeassist"
"streetsidesoftware.code-spell-checker", // basic spell checking in docs/comments
"bradlc.vscode-tailwindcss", // Tailwind CSS IntelliSense if project uses Tailwind
"dbaeumer.vscode-eslint", // ESLint integration for linting and autofix
"esbenp.prettier-vscode", // Prettier for consistent formatting
"yoavbls.pretty-ts-errors", // Improved TypeScript error messages
"davidanson.vscode-markdownlint", // Markdown linting for docs
"github.vscode-github-actions", // GitHub Actions workflow support
"github.vscode-pull-request-github" // PR and issue integration with GitHub
]
}
}
Expand Down
102 changes: 0 additions & 102 deletions .devcontainer/setup-local-store.sh

This file was deleted.

3 changes: 3 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!-- Thank you for your contribution! -->

- [ ] I have read the [**Contributing Guidelines**](CONTRIBUTING.md)
30 changes: 11 additions & 19 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
@@ -1,31 +1,23 @@
name: Lint and build
name: Build, lint and test

on: [pull_request, push]

jobs:
build:
name: Build
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false

- name: Setup Node
uses: actions/setup-node@v4
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "lts/*"
registry-url: "https://registry.npmjs.org"
cache: "pnpm"
node-version: 24
- uses: pnpm/action-setup@v4

- name: Install dependencies and configure
- name: Install dependencies
run: pnpm install

- name: Lint project
- name: Build
run: pnpm build:all
- name: Lint
run: pnpm lint
# - name: Test
# run: pnpm test:ci
41 changes: 41 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Release to NPM

permissions:
pull-requests: write
contents: write

on:
push:
branches:
- release
- "releases/**"

concurrency: ${{ github.workflow }}-${{ github.ref }}

jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- uses: pnpm/action-setup@v4

- name: Install dependencies
run: pnpm build:prepare
- name: Build
run: pnpm build

- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
title: ${{ format('chore({0}){1} bump packages version', github.ref_name, ':') }}
commit: ${{ format('chore({0}){1} bump packages version', github.ref_name, ':') }}
version: pnpm run version
publish: pnpm changeset publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
46 changes: 0 additions & 46 deletions .github/workflows/publish.yml

This file was deleted.

34 changes: 6 additions & 28 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,28 +1,6 @@
# Logs
log_*.json
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# Artifacts
node_modules
dist
dist-ssr
*.local
.pnpm-store
.local-store

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# Dependencies
**/node_modules/
.pnpm-store/

# Artifacts
**/dist/
Loading