Skip to content
Merged
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
9 changes: 0 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -213,9 +213,6 @@ config-schema.json
permissions-schema.json
mcp-schema.json

**/.agent/rules/
**/.agent/skills/
**/.agent/workflows/
**/.playwright/
**/.playwright-cli/
docs/.vitepress/dist
Expand Down Expand Up @@ -260,8 +257,6 @@ rulesync.local.jsonc
**/.cursor/rules/
**/.deepagents/AGENTS.md
**/.factory/rules/
**/GEMINI.md
**/.gemini/memories/
**/.goosehints
**/.hermes.md
**/.junie/AGENTS.md
Expand All @@ -287,7 +282,6 @@ rulesync.local.jsonc
**/.github/prompts/
**/.cursor/commands/
**/.factory/commands/
**/.gemini/commands/
**/.goose/recipes/
**/.junie/commands/
**/.kilo/commands/
Expand All @@ -305,7 +299,6 @@ rulesync.local.jsonc
**/.cursor/skills/
**/.deepagents/skills/
**/.factory/skills/
**/.gemini/skills/
**/.goose/skills/
**/.grok/skills/
**/.junie/skills/
Expand All @@ -330,7 +323,6 @@ rulesync.local.jsonc
**/.deepagents/agents/
**/.devin/agents/
**/.factory/droids/
**/.gemini/agents/
**/.goose/recipes/subagents/
**/.hermes/rulesync/subagents/
**/.grok/agents/
Expand Down Expand Up @@ -374,7 +366,6 @@ rulesync.local.jsonc
**/.vibe/hooks.toml
**/.cline/command-permissions.json
**/.cursor/cli.json
**/.gemini/policies/rulesync.toml
**/.aiignore
**/.geminiignore
**/.augmentignore
Expand Down
5 changes: 1 addition & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ The tables below show whether each tool supports a given feature (✅ = supporte
| Amp | ✅ | | ✅ | | | ✅ | | ✅ |
| Claude Code | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Codex CLI | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Gemini CLI ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GitHub Copilot | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | |
| GitHub Copilot CLI | ✅ | | ✅ | | ✅ | ✅ | ✅ | |
| Goose | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Expand All @@ -104,7 +103,6 @@ The tables below show whether each tool supports a given feature (✅ = supporte
| Kiro IDE | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅ |
| Google Antigravity IDE | ✅ | | ✅ | ✅ | | ✅ | ✅ | ✅ |
| Google Antigravity CLI | ✅ | ✅ | ✅ | | | ✅ | ✅ | ✅ |
| Google Antigravity ⚠️ | ✅ | | | ✅ | | ✅ | | |
| JetBrains AI Assistant | ✅ | ✅ | | | | ✅ | | |
| JetBrains Junie | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| AugmentCode | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Expand All @@ -131,8 +129,7 @@ The tables below show whether each tool supports a given feature (✅ = supporte

### Deprecation notes

- **Gemini CLI (`geminicli`)** — Google is retiring Gemini CLI on **June 18, 2026**, when it stops serving requests for Google AI Pro/Ultra and free Gemini Code Assist for individuals (Enterprise plans are unaffected). The successor is the **Antigravity CLI (`antigravity-cli`)**. `geminicli` is **not** removed from rulesync — Enterprise access continues and existing `GEMINI.md`/`.gemini/` repositories still rely on it — but new projects should prefer `antigravity-cli`. See the [Gemini CLI → Antigravity CLI migration guide](https://dyoshikawa.github.io/rulesync/guide/geminicli-to-antigravity-cli).
- **Google Antigravity (`antigravity`)** — Antigravity 2.0 splits into two products with separate global config trees: the desktop **`antigravity-ide`** and the **`antigravity-cli`** (`agy`). The legacy `antigravity` target is now a **deprecated alias for `antigravity-ide`** that keeps its original `.agent/` (singular) paths for backward compatibility. Migrate to `antigravity-ide` (desktop IDE) or `antigravity-cli` (CLI). For project-scope rules, **both `antigravity-ide` and `antigravity-cli`** emit the root rule as a plain cross-tool **`AGENTS.md`** at the project root (the Gemini-lineage discovery order is `AGENTS.md`, `CONTEXT.md`, `GEMINI.md`; the IDE has read `AGENTS.md` since v1.20.3) and non-root rules under `.agents/rules/`.
- **Google Antigravity (`antigravity-ide` / `antigravity-cli`)** — Antigravity 2.0 splits into two products with separate global config trees: the desktop **`antigravity-ide`** and the **`antigravity-cli`** (`agy`). For project-scope rules, **both `antigravity-ide` and `antigravity-cli`** emit the root rule as a plain cross-tool **`AGENTS.md`** at the project root (the Gemini-lineage discovery order is `AGENTS.md`, `CONTEXT.md`, `GEMINI.md`; the IDE has read `AGENTS.md` since v1.20.3) and non-root rules under `.agents/rules/`.
- **Kiro (`kiro`)** — Kiro's IDE and CLI use diverging config formats (IDE: Markdown subagents `.kiro/agents/*.md` and `.kiro/hooks/*.kiro.hook`; CLI: JSON agent-config subagents `.kiro/agents/*.json` and hooks in `.kiro/agents/default.json`), so `kiro` is split into **`kiro-cli`** and **`kiro-ide`**. The legacy `kiro` target remains as a **deprecated alias** with its current behavior unchanged. The two targets share every surface except **subagents** (Markdown vs JSON); Kiro IDE multi-file `.kiro.hook` hooks are not yet supported, so use `kiro-cli` for agent hooks.

Some features accept per-feature options (e.g., Claude Code's `ignore` feature supports `fileMode: "local"` to write to `settings.local.json` instead of `settings.json`). See [Configuration > Per-feature options](https://dyoshikawa.github.io/rulesync/guide/configuration#per-feature-options) for details.
Expand Down
1 change: 0 additions & 1 deletion cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@
"fseventsd",
"fullwidth",
"gemincli",
"geminicli",
"geminiignore",
"gibo",
"giget",
Expand Down
4 changes: 0 additions & 4 deletions docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,6 @@ export default defineConfig({
link: "/guide/declarative-sources",
},
{ text: "Official Skills", link: "/guide/official-skills" },
{
text: "Gemini CLI → Antigravity CLI",
link: "/guide/geminicli-to-antigravity-cli",
},
{ text: "Dry Run", link: "/guide/dry-run" },
{ text: "Case Studies", link: "/guide/case-studies" },
],
Expand Down
1 change: 0 additions & 1 deletion docs/api/programmatic-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ Generates configuration files for the specified targets and features.
| `targets` | `ToolTarget[]` | from config file | Tools to generate configurations for |
| `features` | `Feature[]` | from config file | Features to generate |
| `outputRoots` | `string[]` | `[process.cwd()]` | Output root directories to generate files into |
| `baseDirs` | `string[]` | — | **Deprecated** alias of `outputRoots`. Still accepted for backward compatibility; emits a one-shot deprecation warning. Will be removed in a future major release. |
| `inputRoot` | `string` | `process.cwd()` | Directory containing the `.rulesync/` source files. Output still goes to each `outputRoots` entry; only the input source root is redirected. Mirrors the CLI's `--input-root`. |
| `configPath` | `string` | auto-detected | Path to `rulesync.jsonc` |
| `verbose` | `boolean` | `false` | Enable verbose logging |
Expand Down
2 changes: 1 addition & 1 deletion docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ According to [the documentation](https://code.claude.com/docs/en/settings), this

Google Antigravity has a known limitation where it won't load rules, workflows, and skills if the `.agents/rules/`, `.agents/workflows/`, and `.agents/skills/` directories are listed in `.gitignore`, even with "Agent Gitignore Access" enabled.

> **Note:** Antigravity 2.0 uses the plural `.agents/` directory by default (the `antigravity-ide` and `antigravity-cli` targets). The singular `.agent/` directory is the Antigravity 1.x layout, still read for backward compatibility by the deprecated `antigravity` alias target; apply the same workaround to those paths if you target the alias.
> **Note:** Antigravity 2.0 uses the plural `.agents/` directory by default (the `antigravity-ide` and `antigravity-cli` targets).
**Workaround:** Instead of adding these directories to `.gitignore`, add them to `.git/info/exclude`:

Expand Down
44 changes: 1 addition & 43 deletions docs/guide/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,14 @@ Example:
"$schema": "https://github.com/dyoshikawa/rulesync/releases/latest/download/config-schema.json",

// List of tools to generate configurations for. You can specify "*" to generate all tools.
"targets": ["cursor", "claudecode", "geminicli", "opencode", "codexcli"],
"targets": ["cursor", "claudecode", "opencode", "codexcli"],

// Features to generate. You can specify "*" to generate all features.
"features": ["rules", "ignore", "mcp", "commands", "subagents", "hooks"],

// Alternatively, you can use object format to specify features per target:
// "features": {
// "claudecode": ["rules", "commands"],
// "cursor": ["rules", "mcp"],
// },

// Output root directories to generate files into.
// Basically, you can specify `["."]` only.
// However, for example, if your project is a monorepo and you have to launch the AI agent at each package directory, you can specify multiple output roots.
//
// The legacy field name `baseDirs` is still accepted as a deprecated alias
// and will be removed in a future major release. Migrate to `outputRoots`.
"outputRoots": ["."],

// Delete existing files before generating
Expand Down Expand Up @@ -161,39 +152,6 @@ Priority is **more specific wins**:
3. root level
4. default (`"gitignore"`)

### Deprecated: object form under `features`

Earlier versions of Rulesync accepted per-target configuration under the
top-level `features` field, paired with a `targets` array. That form is
still parsed for backward compatibility but emits a deprecation warning;
new configs should use the `targets` object form shown above.

> **⚠️ Breaking change in v8.0.0:** mixing `targets` (array) with
> `features` (object) is no longer accepted — the config loader throws.
> If your config previously looked like
> `targets: ["claudecode"], features: { claudecode: {...} }`, migrate to
> the `targets` object form (recommended) or drop the `targets` array and
> keep only the `features` object (deprecated path). The migration is
> mechanical — see the example below.

```jsonc
// ⚠️ Deprecated — still works, logs a warning
{
"features": {
"claudecode": { "rules": true, "ignore": { "fileMode": "local" } },
},
}
```

To silence the deprecation warning (for example, in CI pipelines that
intentionally run on the deprecated form until the migration is scheduled),
set the `RULESYNC_SILENT_DEPRECATION` environment variable to any truthy
value:

```bash
RULESYNC_SILENT_DEPRECATION=1 npx rulesync generate
```

The current per-feature options are:

| Target | Feature | Option | Values | Default |
Expand Down
115 changes: 0 additions & 115 deletions docs/guide/geminicli-to-antigravity-cli.md

This file was deleted.

Loading
Loading