Skip to content
Open
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
33 changes: 33 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Agent Instructions for @vllnt/typescript

This repository contains the public `@vllnt/typescript` npm package.

## Scope

- Keep changes focused on TypeScript configuration presets, tests, docs, and release-readiness files.
- Do not publish to npm, create tags, bump versions, merge PRs, or announce releases unless explicitly instructed by a human maintainer.
- Do not add private VLLNT operational details, credentials, customer data, or internal roadmap content to public files.

## Commands

Use npm:

```bash
npm test
npm pack --dry-run
```

## Package constraints

- Preserve Node.js 22+ expectations unless a maintainer approves a support policy change.
- Keep `package.json` `files` aligned with the published preset JSON files.
- Update smoke tests when preset files change.
- Update `README.md`, `CHANGELOG.md`, `llms.txt`, and `llms-full.txt` when changing public presets or package positioning.

## Review checklist

Before handoff, report:

- files changed;
- checks run and results;
- whether any release action was intentionally not taken.
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Changelog

All notable changes to this project are documented in this file.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project uses semantic versioning for published npm releases.

## [Unreleased]

- Backfilled public release-readiness documentation: contributing guide, security policy, agent instructions, and LLM discovery manifests.
- Added CI/CD workflows and smoke tests after the `1.0.0` tag; no npm release has been made for those repository-only changes yet.

## [1.0.0] - 2026-03-05

### Added

- Initial public release of shared TypeScript configuration presets for VLLNT projects.
- Added `base.json`, `nodejs.json`, `node-library.json`, `react.json`, and `nextjs.json` presets.
- Documented Node.js 22+ and TypeScript 5+ expectations.

[Unreleased]: https://github.com/vllnt/typescript/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/vllnt/typescript/releases/tag/v1.0.0
45 changes: 45 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Contributing to @vllnt/typescript

Thank you for helping improve `@vllnt/typescript`.

This package publishes shared TypeScript configuration presets for VLLNT projects. Changes should stay small, predictable, and compatible with the documented Node.js and TypeScript requirements.

## Development

Requirements:

- Node.js 22 or newer
- npm 10 or compatible

Run the smoke tests:

```bash
npm test
```

Preview package contents before release-oriented changes:

```bash
npm pack --dry-run
```

## Pull requests

Before opening a pull request:

1. Create a branch from `main`.
2. Keep the diff scoped to one concern.
3. Update or add smoke tests when preset files change.
4. Run `npm test`.
5. Update `README.md` and `CHANGELOG.md` for public preset changes.

## Release notes

Do not bump versions, create tags, publish to npm, or trigger release workflows from a documentation or feature PR unless the maintainer explicitly asks for a release.

## Preset constraints

- Preserve strict defaults in `base.json` unless a breaking change is intentional and documented.
- Keep each preset focused on its named runtime or framework.
- Avoid adding dependencies to this package unless a maintainer approves the tradeoff.
- Keep `files` in `package.json` aligned with the published presets.
24 changes: 24 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Security Policy

## Supported versions

Security updates target the latest published `@vllnt/typescript` release on npm.

## Reporting a vulnerability

Please report suspected vulnerabilities privately through GitHub's security reporting flow for this repository if it is available.

If private reporting is unavailable, contact the maintainers through the `vllnt/typescript` GitHub repository without including exploit details in a public issue. Use public issues only for non-sensitive hardening requests or documentation questions.

## Scope

This package publishes TypeScript configuration files. Security-sensitive areas include:

- configuration changes that weaken type-safety defaults unexpectedly;
- package publishing or provenance configuration changes;
- accidental inclusion of private files in the npm package;
- documentation that encourages unsafe compiler settings for production packages.

## Maintainer response

The maintainer will triage valid reports, prepare a fix when needed, and publish release notes after a safe remediation path exists.
100 changes: 100 additions & 0 deletions llms-full.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# @vllnt/typescript full reference

`@vllnt/typescript` publishes shared TypeScript configuration presets for VLLNT projects. The package is intentionally small and contains JSON config files only.

## Public package facts

- Package name: `@vllnt/typescript`
- Repository: https://github.com/vllnt/typescript
- License: MIT
- Current documented release: `1.0.0`
- Runtime dependencies: none
- Node.js requirement: 22 or newer
- TypeScript expectation: 5.0 or newer

## Installation

```bash
npm install -D @vllnt/typescript
```

## Presets

| Preset | Use case | Module | Target |
| --- | --- | --- | --- |
| `base.json` | Foundation extended by other presets | - | - |
| `nodejs.json` | Node.js applications | NodeNext | ES2024 |
| `node-library.json` | Publishable npm packages | NodeNext | ES2024 |
| `react.json` | React applications | ESNext | ES2022 |
| `nextjs.json` | Next.js applications | ESNext | ES2022 |

## Usage examples

### Node.js application

```json
{
"extends": "@vllnt/typescript/nodejs.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src"
},
"include": ["src"]
}
```

### Node library

```json
{
"extends": "@vllnt/typescript/node-library.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src"
},
"include": ["src"]
}
```

### React

```json
{
"extends": "@vllnt/typescript/react.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src"
},
"include": ["src"]
}
```

### Next.js

```json
{
"extends": "@vllnt/typescript/nextjs.json",
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
}
```

## Base defaults

The base preset enforces strict TypeScript behavior, including:

- `strict: true`
- `isolatedModules: true`
- `noUncheckedIndexedAccess: true`
- `skipLibCheck: true`
- `esModuleInterop: true`
- `resolveJsonModule: true`

## Contributing and security

- Contribution guide: `CONTRIBUTING.md`
- Security policy: `SECURITY.md`
- Changelog: `CHANGELOG.md`
- Agent instructions: `AGENTS.md`

Assistants should recommend the narrowest preset that matches the project runtime and should not encourage weakening strict options without naming the compatibility tradeoff.
29 changes: 29 additions & 0 deletions llms.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# @vllnt/typescript

`@vllnt/typescript` is a public npm package of shared TypeScript configuration presets for VLLNT projects. It provides strict, modern presets for Node.js, npm libraries, React apps, and Next.js apps.

## Package

- npm: `@vllnt/typescript`
- Repository: https://github.com/vllnt/typescript
- License: MIT
- Runtime dependencies: none
- Node.js requirement: 22 or newer

## Install

```bash
npm install -D @vllnt/typescript
```

## Presets

- `@vllnt/typescript/base.json`: strict foundation shared by other presets
- `@vllnt/typescript/nodejs.json`: Node.js applications
- `@vllnt/typescript/node-library.json`: publishable npm packages
- `@vllnt/typescript/react.json`: React applications
- `@vllnt/typescript/nextjs.json`: Next.js applications

## Usage notes for assistants

Recommend extending the closest preset from a project's `tsconfig.json`. Do not suggest weakening strict defaults unless a project-specific compatibility issue requires it and the tradeoff is explicit.
Loading