-
Notifications
You must be signed in to change notification settings - Fork 2
Comprehensive Documentation Audit and Update #192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -239,6 +239,7 @@ agentsync doctor [--project-root <path>] | |||||||||
| agentsync skill install <skill-id> | ||||||||||
| agentsync skill update <skill-id> | ||||||||||
| agentsync skill uninstall <skill-id> | ||||||||||
| # agentsync skill list (Currently under development) | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| ### Status | ||||||||||
|
|
@@ -435,62 +436,65 @@ If you need agentsync in CI, you can download the latest version automatically u | |||||||||
|
|
||||||||||
| ## Getting Started (Development) | ||||||||||
|
|
||||||||||
| This project is a monorepo containing a Rust core and a JavaScript/TypeScript wrapper. | ||||||||||
| This project is a monorepo containing a Rust core and a JavaScript/TypeScript distribution layer. | ||||||||||
|
|
||||||||||
| ### Repository Structure | ||||||||||
| ### Monorepo Structure | ||||||||||
|
|
||||||||||
| - `src/`: Core logic and CLI implementation in **Rust**. | ||||||||||
| - `npm/agentsync/`: **TypeScript** wrapper used for NPM distribution. | ||||||||||
| - `website/docs/`: Documentation site built with **Starlight**. | ||||||||||
| - `tests/`: Integration tests for the CLI. | ||||||||||
| - `.agents/`: Single source of truth for agent configurations and skills. | ||||||||||
| - `tests/`: Integration and E2E tests for the CLI. | ||||||||||
|
|
||||||||||
| ### Prerequisites | ||||||||||
|
|
||||||||||
| - [**Rust**](https://www.rust-lang.org/tools/install) (1.89+ recommended) | ||||||||||
| - [**Node.js**](https://nodejs.org/) (v24.13.0+ recommended for development) | ||||||||||
| - [**Rust**](https://www.rust-lang.org/tools/install) (1.89+ recommended, Edition 2024) | ||||||||||
| - [**Node.js**](https://nodejs.org/) (v24.13.0+ recommended) | ||||||||||
|
Comment on lines
+451
to
+452
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Overly specific Node.js patch-version constraint
♻️ Suggested wording-- [**Node.js**](https://nodejs.org/) (v24.13.0+ recommended)
+- [**Node.js**](https://nodejs.org/) (v24+ recommended)📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||
| - [**pnpm**](https://pnpm.io/installation) | ||||||||||
|
|
||||||||||
| ### Setup | ||||||||||
|
|
||||||||||
| 1. **Install JavaScript dependencies:** | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| pnpm install | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| 2. **Build the Rust binary:** | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| cargo build | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| ### Common Commands | ||||||||||
|
|
||||||||||
| This project uses a `Makefile` to orchestrate common tasks. | ||||||||||
|
|
||||||||||
| - **Run Rust tests:** | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| make rust-test | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| - **Run JavaScript tests:** | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| make js-test | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| - **Build all components:** | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| make all | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| - **Format the code:** | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| make fmt | ||||||||||
| ``` | ||||||||||
| 1. **Clone the repository**: | ||||||||||
| ```bash | ||||||||||
| git clone https://github.com/dallay/agentsync.git | ||||||||||
| cd agentsync | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| 2. **Install all dependencies**: | ||||||||||
| ```bash | ||||||||||
| make install | ||||||||||
| # This runs pnpm install and cargo build | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| ### Development Workflow | ||||||||||
|
|
||||||||||
| #### Rust (Core) | ||||||||||
| - **Build**: `make rust-build` (or `cargo build`) | ||||||||||
| - **Test**: `make rust-test` (or `cargo test`) | ||||||||||
| - **Run**: `make rust-run` (or `cargo run -- <args>`) | ||||||||||
| - **Lint**: `cargo clippy` | ||||||||||
|
|
||||||||||
| #### JavaScript / TypeScript (Wrapper & Docs) | ||||||||||
| - **Build**: `make js-build` (builds the `@dallay/agentsync` package) | ||||||||||
| - **Test**: `make js-test` (runs type checks and tests) | ||||||||||
| - **Docs (Dev)**: `make docs-dev` (starts Starlight dev server) | ||||||||||
|
|
||||||||||
| ### Common Commands (Makefile) | ||||||||||
|
|
||||||||||
| We use a `Makefile` to orchestrate tasks across both stacks: | ||||||||||
|
|
||||||||||
| | Command | Description | | ||||||||||
| | :--- | :--- | | ||||||||||
| | `make all` | Install dependencies and build all components | | ||||||||||
| | `make verify-all` | **Recommended before PRs**: Runs all builds, tests, and linters | | ||||||||||
| | `make install` | Install JS dependencies and build Rust core | | ||||||||||
| | `make fmt` | Format both Rust (rustfmt) and JS/TS (biome) | | ||||||||||
| | `make rust-test` | Run all Rust unit and integration tests | | ||||||||||
| | `make rust-run` | Build and run the Rust CLI project | | ||||||||||
| | `make js-test` | Run all JavaScript tests and type checks | | ||||||||||
| | `make e2e-test` | Run end-to-end tests using Docker | | ||||||||||
| | `make docs-build` | Build the documentation site | | ||||||||||
| | `make clean` | Remove build artifacts and temporary files | | ||||||||||
|
|
||||||||||
| ## Troubleshooting | ||||||||||
|
|
||||||||||
|
|
||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -76,6 +76,18 @@ Remove previously created symbolic links: | |
| agentsync clean | ||
| ``` | ||
|
|
||
| #### Status and Diagnostics: | ||
|
|
||
| Check the status of managed symlinks or run a diagnostic health check: | ||
|
|
||
| ```bash | ||
| # Verify the state of symlinks and report drift | ||
| agentsync status | ||
|
|
||
| # Run a comprehensive diagnostic and health check | ||
| agentsync doctor | ||
| ``` | ||
|
|
||
| 🎯 **Example Workflows**: | ||
|
|
||
| - **Programmatic Usage in Node.js**: | ||
|
|
@@ -107,56 +119,47 @@ agentsync clean | |
| ## MCP & Skills | ||
|
|
||
| - AgentSync supports MCP generation for multiple agents (Claude, Copilot, Gemini, Cursor, VS Code, OpenCode). The canonical list and file locations live in the repo README and in the docs site (guides/mcp). | ||
| - Skills live under `.agents/skills/` in the project. | ||
| - Skills live under `.agents/skills/` in the project. | ||
| - **Manage skills via CLI**: | ||
| ```bash | ||
| agentsync skill install <skill-id> | ||
| agentsync skill update <skill-id> | ||
| agentsync skill uninstall <skill-id> | ||
| ``` | ||
|
Comment on lines
+122
to
+128
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Check for uninstall command in Rust source
rg -n --type=rust -C3 'uninstall'Repository: dallay/agentsync Length of output: 9052 🏁 Script executed: # Find and check cli.mdx for skill documentation
fd -type f -name 'cli.mdx' -o -name 'cli.md'Repository: dallay/agentsync Length of output: 230 🏁 Script executed: # Get a broader view of the project structure
find . -type f -name '*.mdx' | head -20Repository: dallay/agentsync Length of output: 480 🏁 Script executed: cat -n ./website/docs/src/content/docs/reference/cli.mdxRepository: dallay/agentsync Length of output: 8576 Add The 🧰 Tools🪛 markdownlint-cli2 (0.21.0)[warning] 124-124: Fenced code blocks should be surrounded by blank lines (MD031, blanks-around-fences) 🤖 Prompt for AI Agents
Comment on lines
+123
to
+128
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. MD031 — fenced code blocks missing surrounding blank lines (3 instances) Static analysis (markdownlint MD031) flags lines 124, 147, and 152 for missing blank lines around fenced code blocks. All three occur directly beneath a list-item label line. ♻️ Proposed fix for all three occurrences - **Manage skills via CLI**:
+
```bash
agentsync skill install <skill-id>
agentsync skill update <skill-id>
agentsync skill uninstall <skill-id>Also applies to: 146-154 🧰 Tools🪛 markdownlint-cli2 (0.21.0)[warning] 124-124: Fenced code blocks should be surrounded by blank lines (MD031, blanks-around-fences) 🤖 Prompt for AI Agents |
||
|
|
||
| --- | ||
|
|
||
| ## 👷 Development | ||
|
|
||
| This package is part of the [AgentSync mono-repo](https://github.com/dallay/agentsync). It serves as a Node.js wrapper for the high-performance Rust core. | ||
| This package is part of the [AgentSync mono-repo](https://github.com/dallay/agentsync). It serves as a Node.js distribution layer for the high-performance Rust core. | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| - [pnpm](https://pnpm.io/): Dependency manager. | ||
| - [Node.js](https://nodejs.org/) >= 24.13.0 (for development). | ||
| - [Rust](https://www.rust-lang.org/): For building the core CLI. | ||
|
|
||
| ### Steps | ||
|
|
||
| 1. Clone the repository: | ||
| - [**pnpm**](https://pnpm.io/): Dependency manager. | ||
| - [**Node.js**](https://nodejs.org/) >= 24.13.0. | ||
| - [**Rust**](https://www.rust-lang.org/): For building the core CLI (1.89+). | ||
|
|
||
| ```bash | ||
| git clone https://github.com/dallay/agentsync.git | ||
| cd agentsync | ||
| ``` | ||
| ### Setup and Build | ||
|
|
||
| 2. Install dependencies: | ||
| From the monorepo root: | ||
|
|
||
| 1. **Install dependencies and build core**: | ||
| ```bash | ||
| pnpm install | ||
| make install | ||
| ``` | ||
|
|
||
| 3. Build: | ||
|
|
||
| 2. **Build the NPM package**: | ||
| ```bash | ||
| make js-build | ||
| # or | ||
| pnpm run build | ||
| ``` | ||
|
|
||
| 4. Run tests and type checks: | ||
|
|
||
| ```bash | ||
| make js-test | ||
| # or | ||
| pnpm run typecheck | ||
| ``` | ||
| ### Common Commands | ||
|
|
||
| 5. Format: | ||
| - **Run tests and type checks**: `make js-test` | ||
| - **Format code**: `make fmt` | ||
| - **Full verification**: `make verify-all` | ||
|
|
||
| ```bash | ||
| make fmt | ||
| ``` | ||
| For more details on the Rust core development, see the [main README](https://github.com/dallay/agentsync/blob/main/README.md). | ||
|
|
||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -57,21 +57,25 @@ bunx @dallay/agentsync apply | |
|
|
||
| ### From GitHub Releases | ||
|
|
||
| Download the latest release for your platform: | ||
| Download the latest release for your platform from the [GitHub Releases](https://github.com/dallay/agentsync/releases) page. | ||
|
|
||
| > **Note:** In the examples below, replace `<version>` with the actual version tag you wish to download (e.g., `1.28.0`). | ||
|
|
||
| #### macOS (Apple Silicon) | ||
|
|
||
| ```bash | ||
| curl -LO https://github.com/dallay/agentsync/releases/latest/download/agentsync-aarch64-apple-darwin.tar.gz | ||
| tar xzf agentsync-aarch64-apple-darwin.tar.gz | ||
| # Replace <version> with the actual version number | ||
| curl -LO https://github.com/dallay/agentsync/releases/download/v<version>/agentsync-<version>-aarch64-apple-darwin.tar.gz | ||
| tar xzf agentsync-<version>-aarch64-apple-darwin.tar.gz | ||
|
Comment on lines
+67
to
+69
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Quote URLs and filenames containing the
📝 Proposed fix — macOS and Linux snippets-curl -LO https://github.com/dallay/agentsync/releases/download/v<version>/agentsync-<version>-aarch64-apple-darwin.tar.gz
-tar xzf agentsync-<version>-aarch64-apple-darwin.tar.gz
+curl -LO "https://github.com/dallay/agentsync/releases/download/v<version>/agentsync-<version>-aarch64-apple-darwin.tar.gz"
+tar xzf "agentsync-<version>-aarch64-apple-darwin.tar.gz"-curl -LO https://github.com/dallay/agentsync/releases/download/v<version>/agentsync-<version>-x86_64-unknown-linux-gnu.tar.gz
-tar xzf agentsync-<version>-x86_64-unknown-linux-gnu.tar.gz
+curl -LO "https://github.com/dallay/agentsync/releases/download/v<version>/agentsync-<version>-x86_64-unknown-linux-gnu.tar.gz"
+tar xzf "agentsync-<version>-x86_64-unknown-linux-gnu.tar.gz"Also applies to: 76-78 🤖 Prompt for AI Agents |
||
| sudo mv agentsync-*/agentsync /usr/local/bin/ | ||
| ``` | ||
|
|
||
| #### Linux (x86_64) | ||
|
|
||
| ```bash | ||
| curl -LO https://github.com/dallay/agentsync/releases/latest/download/agentsync-x86_64-unknown-linux-gnu.tar.gz | ||
| tar xzf agentsync-x86_64-unknown-linux-gnu.tar.gz | ||
| # Replace <version> with the actual version number | ||
| curl -LO https://github.com/dallay/agentsync/releases/download/v<version>/agentsync-<version>-x86_64-unknown-linux-gnu.tar.gz | ||
| tar xzf agentsync-<version>-x86_64-unknown-linux-gnu.tar.gz | ||
| sudo mv agentsync-*/agentsync /usr/local/bin/ | ||
| ``` | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -191,14 +191,36 @@ Human-friendly output uses colors and statuses: | |
| - `! Missing` — destination does not exist | ||
| - `· Exists but not a symlink` — a regular file or directory exists at the destination | ||
|
|
||
| Exit codes | ||
| Exit codes: | ||
| - `0` — no problems detected | ||
| - `1` — one or more issues found (suitable to fail CI builds) | ||
|
Comment on lines
+194
to
196
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Inconsistent exit-code heading style between
♻️ Proposed fix — align `status` exit codes to bold style-Exit codes:
+**Exit codes**:
- `0` — no problems detected
- `1` — one or more issues found (suitable to fail CI builds)Also applies to: 224-226 🤖 Prompt for AI Agents |
||
|
|
||
| Examples | ||
| - Human readable: | ||
| - `agentsync status` | ||
| - JSON for CI: | ||
| - `agentsync status --json` | ||
| - With custom project root: | ||
| - `agentsync status --project-root /path/to/repo --json` | ||
| Examples: | ||
| - Human readable: `agentsync status` | ||
| - JSON for CI: `agentsync status --json` | ||
| - With custom project root: `agentsync status --project-root /path/to/repo --json` | ||
|
|
||
| --- | ||
|
|
||
| ### `doctor` | ||
|
|
||
| Run diagnostic and health checks for the AgentSync environment. | ||
|
|
||
| ```bash | ||
| agentsync doctor [FLAGS] | ||
| ``` | ||
|
|
||
| **Flags**: | ||
| - `--project-root <PATH>`: Project root directory (defaults to current directory). | ||
|
|
||
| **Diagnostics performed**: | ||
| 1. **Config Loading**: Verifies that `agentsync.toml` can be found and parsed correctly. | ||
| 2. **Source Directory**: Checks if the configured `source_dir` exists. | ||
| 3. **Target Sources**: Verifies that all files/directories referenced as `source` in the config actually exist. | ||
| 4. **Destination Conflicts**: Detects duplicate destinations or overlapping paths (where one destination is a parent of another). | ||
| 5. **MCP Servers**: Audits configured MCP servers to ensure their `command` executables are available in the system `PATH`. | ||
| 6. **Gitignore Audit**: Verifies if the `.gitignore` file has the managed AgentSync section and if it is up to date with all required entries. | ||
|
|
||
| **Exit codes**: | ||
| - `0` — all checks passed | ||
| - `1` — one or more issues detected | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor inconsistency:
cargo fmtvsmake fmtin the same fileLine 16 directs contributors to use
make fmt, but line 27 (Code Style › Rust) still says "Usecargo fmtbefore committing." Sincemake fmtwrapscargo fmt, both are correct, but the duplicate guidance can confuse new contributors about which invocation to prefer. Consider aligning line 27 to match the monorepo-preferredmake fmt.♻️ Suggested alignment
🤖 Prompt for AI Agents