Skip to content

docs: Create a docs/ directory for spec files and other documentations#2

Merged
xkxx merged 1 commit into
mainfrom
refactor/move-spec-to-docs
Apr 11, 2026
Merged

docs: Create a docs/ directory for spec files and other documentations#2
xkxx merged 1 commit into
mainfrom
refactor/move-spec-to-docs

Conversation

@xkxx

@xkxx xkxx commented Apr 11, 2026

Copy link
Copy Markdown
Contributor

Overview

Moves spec.md into the docs/ directory and streamlines its contents by removing Stitch-specific use cases and generic format descriptions, focusing strictly on the DESIGN.md format specification.

Changes

  • Renamed spec.md to docs/spec.md.
  • Removed Stitch-specific usage sections and external usage sections.

@xkxx xkxx changed the title docs: move spec.md to docs and streamline docs: Create a docs/ directory for spec files and other documentations Apr 11, 2026
@xkxx
xkxx requested a review from davideast April 11, 2026 00:10
@xkxx
xkxx merged commit c4b2e64 into main Apr 11, 2026
3 checks passed
@davideast
davideast deleted the refactor/move-spec-to-docs branch April 13, 2026 21:42
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants