docs: Create a docs/ directory for spec files and other documentations#2
Merged
Conversation
davideast
approved these changes
Apr 11, 2026
davideast
added a commit
that referenced
this pull request
Apr 21, 2026
- Remove console.log/console.error from loadSpecConfig() that corrupted stdout JSON output for CLI and programmatic consumers - Introduce getSpecConfig() lazy singleton to cache YAML file reads - Add 3 new tests: no-stdout-pollution, lazy-load validity, cache identity Fixes Critical Blockers #1 and #2 from pre-publish analysis.
davideast
added a commit
that referenced
this pull request
Apr 21, 2026
* chore: remove unused TUI dependencies * fix: remove debug logging and add lazy-loaded config singleton - Remove console.log/console.error from loadSpecConfig() that corrupted stdout JSON output for CLI and programmatic consumers - Introduce getSpecConfig() lazy singleton to cache YAML file reads - Add 3 new tests: no-stdout-pollution, lazy-load validity, cache identity Fixes Critical Blockers #1 and #2 from pre-publish analysis. * fix: address high-risk publishing issues - Add engines field to package.json (node >= 18) - Add prepublishOnly script to enforce build before publish - Add Node.js smoke test to CI workflow - Clean up unused SPEC_VERSION import in test * fix: derive version from package.json and simplify spec.md resolution Version: - Create src/version.ts that reads ../package.json using import.meta.url - Path is stable across source, bundle, installed, and npx contexts because npm always includes package.json in the published tarball - Replace hardcoded '0.1.0' in index.ts with dynamic VERSION import - Add 3 tests: matches package.json, valid semver, not fallback spec.md path resolution: - Reduce 5 shotgun candidate paths to 2 deterministic strategies: 1. Bundle path: ./spec.md (build copies it alongside entry points) 2. Dev path: ../../../../../docs/spec.md (relative to source) - Add explicit specPath parameter for callers who know the path - Update build script to copy spec.md to both dist/ and dist/linter/ - Add 3 tests: consistency, content length, explicit path contract * fix: pre-publish hardening — 5 items 1. Move build-only deps to devDependencies (keep zod for type compat) - citty, mdast, remark-*, unified, unist-util-visit, yaml all bundled - Zero runtime require() calls to any npm dependency 2. Add 'designmd' bin alias for Windows shell compatibility - cmd.exe confuses .md extension with file association 3. Add ./package.json to exports map - Prevents ERR_PACKAGE_PATH_NOT_EXPORTED in strict ESM bundlers 4. Remove stale @types/react from devDependencies 5. Add tarball smoke test to CI workflow - Packs, installs in clean dir, runs CLI + programmatic import - Catches 'works in monorepo, breaks when installed' bugs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Moves
spec.mdinto thedocs/directory and streamlines its contents by removing Stitch-specific use cases and generic format descriptions, focusing strictly on theDESIGN.mdformat specification.Changes
spec.mdtodocs/spec.md.