An interactive web application for analyzing and visualizing atomic state relationships. By launching the development tool, it looks for ".asc." files in the directory and automatically populates the atomic graphs in a "Storybook"-like experience.
npm install @atomic-state-canvas/asc-viewer-cli -DThe CLI uses cosmiconfig for configuration. Create one of the following files in your project root:
.ascrc.json.ascrc.js.ascrc.yamlasc.config.jsasc.config.ts
| Option | Type | Default | Description |
|---|---|---|---|
watchDir |
string |
"src" |
Directory to watch for .asc. files |
port |
number |
1296 |
Port to run the viewer server on |
extensions |
string[] |
[".asc.js", ".asc.ts"] |
File extensions to watch |
excludePatternInGlob |
string |
undefined |
Glob pattern to exclude files |
.ascrc.json:
{
"watchDir": "./src",
"port": 3000,
"extensions": [".asc.ts"],
"excludePatternInGlob": "*.test.ts"
}asc.config.js:
module.exports = {
watchDir: './src/stores',
port: 1296,
extensions: ['.asc.ts', '.asc.js'],
excludePatternInGlob: '**/*.test.*'
};# Start the viewer (default command)
npx asc-viewer
# With options
npx asc-viewer serve --port 3000 --watch-dir ./srcStart the MCP server for AI assistant integration:
npx asc-viewer mcpAdd to your Claude Code config (.mcp.json):
{
"mcpServers": {
"atomic-state-canvas": {
"command": "npx",
"args": ["@atomic-state-canvas/asc-viewer-cli", "mcp"]
}
}
}| Tool | Description |
|---|---|
analyze_state |
Generate dependency graph from entry file/variable |
find_cycles |
Detect cyclic dependencies and self-references |
list_atoms |
List all atoms/selectors in a file with dependencies |
launch_viewer |
Get command instructions to start the visualization server |
Start the MCP inspector for debugging and visualization:
npx @modelcontextprotocol/inspector node dist/asc-viewer-cli/index.js mcp