Skip to main content

Limitations

These constraints describe the current repository behavior. They are included so a generated index is not mistaken for a complete or transactional code analysis system.

Supported inputs are limited

The scanner recognizes only Go, JavaScript, TypeScript, and Python extensions. Other files are ignored by directory scans, and extensionless files cannot be auto-detected. Add a language binding and grammar dependency in the repository before expecting another language to work.

Incremental output can be incomplete

update hashes files and skips unchanged inputs, but the engine rebuilds the project index from files parsed in the current run. After a partial update, the index can omit unchanged files, and deleting a source file can leave its old generated Markdown behind. Use sunset clean followed by sunset parse --no-cache when a complete rebuild is required.

Single-file CLI roots are not reliable

The CLI help describes a file or directory path, but the scanner/engine path currently handles directory roots reliably. A direct single-file parse can reach language detection with . as the relative path and fail. Put the file in a directory and parse that directory, or use the public ParseFile API for one-file parsing.

Dependency graph output is not part of the generated documents

The repository contains import-resolution and dependency-graph code, and the README describes that capability, but the current engine does not render a dependency graph into Markdown. Imports listed in a file summary are extracted syntax, not resolved project relationships.

Output names can collide

Generated filenames replace path separators with underscores. A nested path such as a/b.go can therefore collide with a source file named a_b.go. Choose non-colliding source paths or separate output directories when indexing projects with both shapes.

The scanner does not reject source symlinks before file reads. Indexing an untrusted checkout can therefore include content outside the intended root. Use a trusted checkout and review symlinks before running Sunset.

Installer and release identity

The repository establishes the Go module path github.com/enolalabs/sunset and versioned release archive names. It does not establish a package-manager installer identity. These docs make no claim about an unverified installer, package, or current release status; use the repository and release links in the site metadata as the source of truth.