{"id":51067951,"url":"https://github.com/effect-anything/showme","last_synced_at":"2026-06-23T08:03:04.123Z","repository":{"id":359314528,"uuid":"1245431694","full_name":"effect-anything/showme","owner":"effect-anything","description":"A TypeScript preflight and architecture-alignment tool that shows interfaces, types, signatures, exports, and wiring instead of full source code.","archived":false,"fork":false,"pushed_at":"2026-05-21T10:32:20.000Z","size":68,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-21T17:23:29.417Z","etag":null,"topics":["cli","code-context","declarations","dts","effect","signatures","tsgo","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/effect-anything.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-21T08:04:35.000Z","updated_at":"2026-05-21T11:12:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/effect-anything/showme","commit_stats":null,"previous_names":["effect-anything/showme"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/effect-anything/showme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effect-anything%2Fshowme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effect-anything%2Fshowme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effect-anything%2Fshowme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effect-anything%2Fshowme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/effect-anything","download_url":"https://codeload.github.com/effect-anything/showme/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effect-anything%2Fshowme/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34680621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","code-context","declarations","dts","effect","signatures","tsgo","typescript"],"created_at":"2026-06-23T08:03:02.894Z","updated_at":"2026-06-23T08:03:04.118Z","avatar_url":"https://github.com/effect-anything.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @effect-x/showme\n\nA TypeScript preflight and architecture-alignment tool that shows interfaces, types, signatures, exports, and wiring instead of full source code.\n\n`showme` is a smarter way to work in TypeScript projects. Instead of dumping implementation files, it extracts the interface layer — types, signatures, imports, exports, services, and module boundaries — so you can plan, edit, refactor, and review against the API surface before diving into how the code works.\n\nUse it before major planning, multi-file edits, refactors, architecture explanations, or large source reads. Re-run it after substantial changes to verify that signatures, exports, and boundaries still match the intended design.\n\nTypical flow:\n\n```bash\nshowme src --kind signatures\n```\n\nThen use the API surface to decide which files actually need deeper reading.\n\nDefault posture: narrow by source path first, then by `--kind`, then by `--filter` only if needed.\n\n## When to use\n\n- Preflighting a TypeScript task before planning, editing, or refactoring.\n- Understanding project architecture, service boundaries, dependencies, layers, and exports.\n- Reviewing services, schemas, signatures, types, or public API shape before reading implementation.\n- Re-checking architecture after substantial changes so later edits stay aligned.\n- Preparing compact context before editing, explaining, or handing code to an agent.\n- Summarizing a package API without getting lost in implementation details.\n\n## What it shows\n\n- `declarations` — raw compiler-generated `.d.ts` output.\n- `signatures` — class and function signatures.\n- `interfaces` — interface declarations.\n- `types` — type aliases.\n- `variables` — exported variables and constants.\n- `imports` / `exports` — module boundaries.\n\nThe default `all` mode combines the structured kinds above.\n\n## Install\n\n```bash\nnpm install -g @effect-x/showme\n```\n\nOr run without installing:\n\n```bash\nnpx @effect-x/showme --help\n```\n\n### Installing as an agent skill\n\nIf you use opencode or another agent framework with local skills, copy the\nskill from this repo into your agent skill directory. Treat the copy under this\nrepo as the source of truth, then sync it into your local agent skills after\neach change.\n\nFor example:\n\n```bash\nmkdir -p ~/.agents/skills/architecture-preflight\ncp skills/architecture-preflight/SKILL.md ~/.agents/skills/architecture-preflight/SKILL.md\n```\n\nTo improve invocation frequency, also add a short hint to your project's\n`AGENTS.md` telling the agent to use `architecture-preflight` before major\nTypeScript planning, multi-file edits, refactors, architecture explanations, or\nlarge source reads, and to rerun it after substantial changes.\n\nThis matters because many agent systems initially see only a skill's `name` and\n`description`. A matching hint in `AGENTS.md` significantly increases the chance\nthat the skill is loaded early and reused throughout the task.\n\n\u003e ## TypeScript Preflight Rule\n\u003e\n\u003e - Before any TypeScript planning, multi-file edit, refactor, or architecture question, load the `architecture-preflight` skill first. Re-run it after substantial changes to verify alignment.\n\u003e - Trigger on: definitions, types, signatures, exports, services, layers, schemas, wiring, module boundaries, or broad source reading.\n\u003e - Posture: inspect declarations/signatures first, then narrow to implementation files only as needed.\n\n## Usage\n\n```bash\nshowme [flags] \u003csources...\u003e\n```\n\nIf no source is provided, `showme` scans the current directory.\n\n### Examples\n\nShow compact signatures for the current project:\n\n```bash\nshowme\n```\n\nShow declarations for a package folder:\n\n```bash\nshowme packages/core --kind declarations\n```\n\nOnly include specific files:\n\n```bash\nshowme . --filter \"src/**/*.ts\" --filter \"!**/*.test.ts\"\n```\n\nSelect multiple structure kinds:\n\n```bash\nshowme src --kind signatures --kind interfaces --kind types\n```\n\nWrite Markdown output for sharing:\n\n```bash\nshowme src --format markdown --output showme.md\n```\n\nEmit source line comments before entries:\n\n```bash\nshowme src --line\n```\n\n## Flags\n\n| Flag                | Description                                                                                                                                     |\n| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |\n| `--kind \u003ckind\u003e`     | Structure kind(s), repeatable. Supported values: `all`, `declarations`, `signatures`, `interfaces`, `types`, `variables`, `imports`, `exports`. |\n| `--filter \u003cglob\u003e`   | File path filter glob(s), repeatable.                                                                                                           |\n| `--output \u003cfile\u003e`   | Write output to a file instead of stdout.                                                                                                       |\n| `--line`            | Emit source line comments before entries when source maps are available.                                                                        |\n| `--format \u003cformat\u003e` | Output format: `plain` or `markdown`.                                                                                                           |\n| `--help`            | Show help information.                                                                                                                          |\n| `--version`         | Show package version.                                                                                                                           |\n\n## How it works\n\n1. Resolve source paths to project scopes and `tsconfig` files.\n2. Run `tsgo` with declaration-only output into `node_modules/.cache/showme-dts`.\n3. Read generated `.d.ts` files and declaration maps.\n4. Filter by target paths and `--filter` globs.\n5. Format the requested structure kinds.\n\nYou can override the TypeScript Go binary with the `TSGO` environment variable, for example:\n\n`TSGO=/path/to/tsgo showme src`\n\n## Requirements\n\n- Node.js `\u003e=24`\n- A TypeScript project with a usable `tsconfig` is recommended.\n\n## Development\n\nThis repository uses Bun for local development.\n\n```bash\nbun install\nbun run check\nbun run build\nbun run pack:check\n```\n\nUseful scripts:\n\n- `bun run dev` - build in watch mode.\n- `bun run test` - run tests.\n- `bun run typecheck` - run `tsgo --noEmit`.\n- `bun run format` - format files with `oxfmt`.\n- `bun run pack:check` - inspect the npm tarball with `npm pack --dry-run`.\n\n## Release\n\nThe package is published to npm as `@effect-x/showme` with public access and npm provenance enabled.\n\n```bash\nbun run changeset\nbun run version-packages\nbun run release\n```\n\nThe GitHub Actions release workflow runs the full check pipeline and uses Changesets to create release pull requests or publish from `main`.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feffect-anything%2Fshowme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feffect-anything%2Fshowme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feffect-anything%2Fshowme/lists"}