@oomerevren/tryforge 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +107 -13
  2. package/README.md +172 -232
  3. package/dist/cli/src/adapters/agents-md.js +24 -0
  4. package/dist/cli/src/adapters/base.js +99 -0
  5. package/dist/cli/src/adapters/claude.js +43 -14
  6. package/dist/cli/src/adapters/codex.js +18 -17
  7. package/dist/cli/src/adapters/cursor.js +44 -30
  8. package/dist/cli/src/adapters/dsh.js +28 -30
  9. package/dist/cli/src/adapters/generic.js +10 -7
  10. package/dist/cli/src/adapters/opencode.js +23 -23
  11. package/dist/cli/src/adapters/types.js +12 -9
  12. package/dist/cli/src/adapters/windsurf.js +48 -28
  13. package/dist/cli/src/commands/add-external.js +111 -0
  14. package/dist/cli/src/commands/audit.js +68 -30
  15. package/dist/cli/src/commands/init.js +2 -2
  16. package/dist/cli/src/commands/install.js +90 -15
  17. package/dist/cli/src/commands/pack.js +119 -0
  18. package/dist/cli/src/commands/sync.js +181 -0
  19. package/dist/cli/src/commands/test.js +72 -0
  20. package/dist/cli/src/commands/tui.js +191 -0
  21. package/dist/cli/src/commands/update.js +4 -4
  22. package/dist/cli/src/commands/verify.js +62 -0
  23. package/dist/cli/src/core/fsutil.js +37 -0
  24. package/dist/cli/src/core/installer.js +9 -9
  25. package/dist/cli/src/core/lock.js +97 -10
  26. package/dist/cli/src/core/merge.js +108 -0
  27. package/dist/cli/src/core/plugin.js +2 -2
  28. package/dist/cli/src/core/project.js +136 -4
  29. package/dist/cli/src/core/registry.js +9 -9
  30. package/dist/cli/src/core/scan.js +159 -0
  31. package/dist/cli/src/core/semver.js +7 -7
  32. package/dist/cli/src/core/sign.js +2 -2
  33. package/dist/cli/src/core/sources.js +171 -0
  34. package/dist/cli/src/index.js +83 -16
  35. package/dist/index.cjs +359 -0
  36. package/dist/scripts/build-registry.js +2 -4
  37. package/dist/scripts/publish-verified.js +17 -9
  38. package/dist/scripts/seed-registry-13lite.js +5 -5
  39. package/dist/scripts/seed-registry.js +4 -4
  40. package/dist/scripts/verify-npm-mcps.js +6 -4
  41. package/package.json +15 -6
package/CHANGELOG.md CHANGED
@@ -1,25 +1,119 @@
1
1
  # Changelog
2
2
 
3
- Tüm önemli değişiklikler bu dosyada tutulur. Format [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) esaslıdır, sürümler [SemVer](https://semver.org/) izler.
3
+ All notable changes are kept in this file. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), versions follow [SemVer](https://semver.org/).
4
+
5
+ ## [Unreleased] — Stage 5: README transformation, docs portal, GTM launch
6
+
7
+ ### Added
8
+ - `forge tui` — interactive terminal dashboard (category browse, search, sync, init)
9
+ - `forge test <pkg>` — validate package against adapter matrix (dry-run)
10
+ - `forge pack` — build verified tarball from current directory
11
+ - `forge verify <pkg>` — schema + security + adapter verification
12
+ - GitHub Action template (`examples/github-action/forge-audit.yml`)
13
+ - Viral badge: `[![Managed by Forge](https://img.shields.io/badge/Agent%20Context-Forge-6366f1?style=flat-square&logo=anthropic)](https://github.com/oomerevren-beep/forge)`
14
+ - Documentation portal (`docs/README.md`)
15
+ - GTM launch texts (`docs/private/GTM-LAUNCH-TEXTS.md`) — HN, X thread, Reddit
16
+
17
+ ### Changed
18
+ - `README.md` rewritten: hero section, 60-second quickstart, comparison matrix, security section, full command reference
19
+ - `verify` and `test` use `process.exitCode` (testable) instead of `process.exit`
20
+
21
+ ## [Unreleased] — Stage 4: TUI, developer experience, viral loops
22
+
23
+ ### Added
24
+ - Interactive TUI dashboard (`cli/src/commands/tui.ts`) — `@clack/prompts` + `picocolors`
25
+ - `forge test` command (`cli/src/commands/test.ts`)
26
+ - `forge pack` command (`cli/src/commands/pack.ts`)
27
+ - `forge verify` command (`cli/src/commands/verify.ts`)
28
+ - GitHub Action template for CI audit
29
+ - Viral README badge
30
+
31
+ ## [Unreleased] — Stage 3: universal context, decentralized sources, audit engine
32
+
33
+ ### Added
34
+ - Decentralized sources: `forge add github:owner/repo[#ref]`, `owner/repo`
35
+ (registry-first fallback), `<git-url>[#ref]`, `./local/path`
36
+ (`cli/src/core/sources.ts`, shallow clones, manifest auto-parse).
37
+ - Universal `forge.toml`: `[project]`, `[agents.<role>]`, `[skills]`
38
+ (version or `{ version, source, ref }`), `[mcp.servers.*]`, `[permissions]`
39
+ — parser, validator, and `schema/forge.schema.json` (with `$id`) updated.
40
+ - `forge sync`: one-command team sync — skills + rule files + MCP servers +
41
+ agent-roles block + deterministic `forge.lock` (`cli/src/commands/sync.ts`).
42
+ - Static security engine (`cli/src/core/scan.ts`, 19 rules): shell-danger,
43
+ prompt-inject/exfiltration, perm-violation; HIGH blocks external installs
44
+ and fails `forge audit` (exit 1).
45
+ - `copyDirRecursive` (`cli/src/core/fsutil.ts`): `fs.cpSync` silently yields
46
+ empty dirs under non-ASCII Windows home paths (Node 24) — all store
47
+ staging and install fallbacks now copy file-by-file (fail-closed).
48
+
49
+ ### Changed
50
+ - `forge install` consumes `[skills]` (any source) and injects
51
+ `[mcp.servers.*]` into every detected adapter config.
52
+ - `forge add` runs a pre-install scan (`--skip-scan` opt-out) and resolves
53
+ non-registry refs; `LinkRecord` records `source`.
54
+ - `Adapter.install` call sites pass version/description for rule sync.
55
+
56
+ ## [Unreleased] — Stage 2: core engine, zero-friction DX, dynamic adapters
57
+
58
+ ### Added
59
+ - Zero-install runtime: `npx -y tryforge` / `bunx tryforge` via single-file
60
+ esbuild bundle (`npm run bundle` → `dist/index.cjs`, published `bin`).
61
+ - Non-destructive merge engine (`cli/src/core/merge.ts`):
62
+ `<!-- FORGE:START/END -->` blocks, byte-preserved user content, idempotent
63
+ reinstalls, block-only uninstall, marker-injection refusal.
64
+ - 2026 adapter rule formats: Cursor `.cursor/rules/*.mdc` (frontmatter),
65
+ Claude `<project>/CLAUDE.md` merged blocks, Windsurf `.windsurfrules`
66
+ merged blocks, shared `<project>/AGENTS.md` blocks (OpenCode/Codex/DSH).
67
+ - Deterministic `forge.lock` with pinned integrity (`tarball` + `sha256` +
68
+ `source`); `forge install --frozen` refuses yanked versions and hash drift.
69
+ - `FORGE_TEST_HOME` test hook — adapter tests never touch the real home dir.
70
+
71
+ ### Changed
72
+ - Adapters refactored onto `cli/src/adapters/base.ts` (scope resolution,
73
+ list/isInstalled loops, rule sync); `Adapter.install` takes optional
74
+ `PackageMeta` (version/description) for rule-file sync.
75
+ - `docs/SPEC.md`, `ARCHITECTURE.md`, `REGISTRY.md`, `PRD.md` translated to
76
+ English (Stage 1 debt); SPEC gains the forge.lock section (§4).
77
+
78
+ ### Fixed
79
+ - `Adapter` interface doc in `docs/ADAPTERS.md` matched the real signature;
80
+ support matrix now lists 2026 rule formats per harness.
81
+
82
+ ## [Unreleased] — Stage 1: repo hygiene & OSS standardization
83
+
84
+ ### Removed
85
+ - `docs/run-state/` (agent loop leftovers), `.hermes/`, `.kiro/` (local IDE state) — untracked and deleted.
86
+ - All `registry-content/*.tar.gz` prebuilt binaries (15 files) — source dirs kept; `scripts/publish-verified.ts` now stages tarballs under gitignored `.cache/forge-publish/`.
87
+
88
+ ### Changed
89
+ - `.gitignore` rebuilt to the OSS standard set (deps/build/archives/IDE/env/OS) plus Forge guards (`docs/private/`, `.npmrc`, `.forge/`).
90
+ - 100% English across CLI, scripts, tests, and public docs (comments, test names, console strings).
91
+ - `SECURITY.md`: responsible-disclosure steps + PGP policy clarified. `CONTRIBUTING.md`: skill-package flow added.
92
+ - Toolchain: dev TypeScript pinned to v6 line (typescript-eslint has no TS 7 support yet, upstream #10940) — build/test output unchanged.
93
+ - `npm run build` now uses `tsconfig.build.json` (tests excluded from emit); `npm run typecheck` covers `cli/` + `scripts/` + `tests/` strict.
94
+
95
+ ### Added
96
+ - `npm run lint` (ESLint flat config, `--max-warnings 0`) and `npm run typecheck` (`tsc --noEmit`).
97
+ - CI: strict `lint` + `typecheck` jobs gating `validate` on every push/PR.
4
98
 
5
99
  ## [0.1.1] — 2026-09-03
6
100
 
7
101
  ### Added
8
- - `tryforge` npm paketi yayınlandı (`npm i -g tryforge`).
9
- - 7 harness adapter'ı: Claude Code, Codex, OpenCode, Cursor, DeepSeek (dsh), Windsurf, Generic.
10
- - 21 verified paketlik registry (`registry/index.json` + `search.json` + `stats.json`).
11
- - `forge.toml` + `forge.lock` ile takım senkronu (`forge install`, `--frozen`).
12
- - `forge audit` (mock/unverified işaretleme), `forge doctor` sağlık kontrolü.
13
- - Fail-closed installer: `sha256` doğrulanamayan içerik `--mock` olmadan kurulmaz.
102
+ - `tryforge` npm package published (`npm i -g tryforge`).
103
+ - 7 harness adapters: Claude Code, Codex, OpenCode, Cursor, DeepSeek (dsh), Windsurf, Generic.
104
+ - 21-package verified registry (`registry/index.json` + `search.json` + `stats.json`).
105
+ - Team sync via `forge.toml` + `forge.lock` (`forge install`, `--frozen`).
106
+ - `forge audit` (mock/unverified marking), `forge doctor` health check.
107
+ - Fail-closed installer: content whose `sha256` cannot be verified is not installed without `--mock`.
14
108
 
15
109
  ### Security
16
- - `tar` extract `execFileSync` arg-array'e taşındı; symlink/escape taraması eklendi.
17
- - `add`/`remove` bağımlılık adı validasyonu (`owner/name`).
18
- - MCP config yazımı öncesi `.bak` yedeği.
110
+ - `tar` extraction moved to `execFileSync` arg-array; symlink/escape scanning added.
111
+ - `add`/`remove` dependency-name validation (`owner/name`).
112
+ - `.bak` backup before MCP config writes.
19
113
 
20
114
  ## [0.1.0] — 2026-09-01
21
115
 
22
116
  ### Added
23
- - İlk CLI iskeleti: `add/search/list/info/doctor/init/install/update/outdated/remove`.
24
- - Semver çözümleme (`^`, `~`, pin) ve offline scored search (<200ms).
25
- - `install.sh` / `install.ps1` yükleyiciler.
117
+ - First CLI skeleton: `add/search/list/info/doctor/init/install/update/outdated/remove`.
118
+ - Semver resolution (`^`, `~`, pin) and offline scored search (<200ms).
119
+ - `install.sh` / `install.ps1` installers.